name: build on: [push, pull_request] jobs: screego: runs-on: ubuntu-latest steps: - uses: actions/setup-go@v2 with: go-version: 1.15.x - uses: actions/setup-node@v1 - uses: actions/cache@v2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - uses: actions/cache@v2 with: path: | ui/node_modules key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }} restore-keys: ${{ runner.os }}-node_modules- - uses: actions/checkout@v2 - run: go mod download - run: (cd ui && yarn) - run: (cd ui && yarn build) - run: (cd ui && yarn testformat) - uses: golangci/golangci-lint-action@v2 with: version: v1.31 - run: go build ./... - run: go test -race ./... - if: startsWith(github.ref, 'refs/tags/v') run: echo "$DOCKER_PASS" | docker login --username "$DOCKER_USER" --password-stdin env: DOCKER_USER: ${{ secrets.DOCKER_USER }} DOCKER_PASS: ${{ secrets.DOCKER_PASS }} - if: startsWith(github.ref, 'refs/tags/v') uses: goreleaser/goreleaser-action@v2 with: version: latest args: release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: startsWith(github.ref, 'refs/tags/v') run: make VERSION=${GITHUB_REF/refs\/tags\/v/} docker-manifest-annotate docker-manifest-push env: DOCKER_USER: ${{ secrets.DOCKER_USER }} DOCKER_PASS: ${{ secrets.DOCKER_PASS }}