name: main job on: push: branches: - 'main' - 'v\d+.\d+.\d+' pull_request: branches: - 'main' - 'v\d+.\d+.\d+' jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: go-version: 1.21.1 - run: cd backend && go test -race -v ./... lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: go-version: 1.21.1 - run: go fmt # release release: runs-on: ubuntu-latest needs: [lint, test] if: startsWith(github.event.ref, 'refs/tags/v') steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - uses: actions/setup-go@v2 with: go-version: 1.20.1 - uses: actions/setup-node@v2 with: node-version: '16' - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Build frontend run: make build-frontend - name: Login to Docker Hub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Run GoReleaser uses: goreleaser/goreleaser-action@v2 with: version: latest args: release --rm-dist env: GITHUB_TOKEN: ${{ secrets.GH_PAT }}