feat: remove update atom #17
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Choregate CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
NODE_VERSION: '22.1' | |
GO_VERSION: '1.22.1' | |
FRONTEND_PATH: choregate-ui | |
BACKEND_PATH: cmd | |
jobs: | |
helm-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install Helm | |
uses: azure/setup-helm@v4 | |
- name: Lint Helm chart | |
run: helm lint helm/chart | |
build-frontend: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Install Node.js dependencies | |
run: npm install --prefix ${{ env.FRONTEND_PATH }} | |
- name: Build Node.js project | |
run: npm run build --prefix ${{ env.FRONTEND_PATH }} | |
- name: Upload frontend assets | |
uses: actions/upload-artifact@v4 | |
with: | |
name: frontend-assets | |
path: cmd/ | |
build-backend: | |
runs-on: ubuntu-latest | |
needs: build-frontend | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download frontend assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: frontend-assets | |
path: cmd/ | |
- name: Build Go project | |
run: go build -o ./temp/choregate ./${{ env.BACKEND_PATH }}/choregate | |
backend-fmt: | |
runs-on: ubuntu-latest | |
needs: | |
- build-frontend | |
- build-backend | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download frontend assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: frontend-assets | |
path: cmd/ | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Install Go dependencies | |
run: go mod download | |
- name: Check Go fmt | |
run: | | |
if [ -n "$(gofmt -l .)" ]; then | |
echo "Go code is not formatted. Please run 'gofmt -s -w .' to format your code." | |
exit 1 | |
fi | |
backend-lint: | |
runs-on: ubuntu-latest | |
needs: | |
- build-frontend | |
- build-backend | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download frontend assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: frontend-assets | |
path: cmd/ | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Install Go dependencies | |
run: go mod download | |
- name: Run Go lint | |
run: go vet ./... | |
backend-test: | |
runs-on: ubuntu-latest | |
needs: | |
- build-frontend | |
- build-backend | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download frontend assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: frontend-assets | |
path: cmd/ | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Install Go dependencies | |
run: go mod download | |
- name: Run Go tests | |
run: go test ./... | |