name: Builds on: pull_request: branches: - master types: [opened, synchronize] paths-ignore: - '**/*.md' workflow_dispatch: jobs: build_cli: name: Build CLI runs-on: ubuntu-20.04 strategy: matrix: go_os: [ linux, darwin ] go_arch: [ amd64, arm64 ] steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v2 with: go-version: 1.19 - name: Restore Go modules from cache uses: actions/cache@v2 with: path: /home/runner/go/pkg/mod key: deps-${{ hashFiles('go.sum') }} - name: Update Go modules run: make dep - name: Build CLI run: BUILD_OS=${{ matrix.go_os }} BUILD_ARCH=${{ matrix.go_arch }} make - name: Check version run: if [[ $(make version) == *"dirty"* ]]; then exit 1; fi build_image: needs: build_cli name: Build Docker image runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.19 - name: Restore Go modules from cache uses: actions/cache@v2 with: path: /home/runner/go/pkg/mod key: deps-${{ hashFiles('go.sum') }} - name: Update Go modules run: make dep - name: Build Docker image run: make image