Always include end of commit range (#107) #272
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: "Validations" | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- main | |
env: | |
GO_VERSION: "1.21.x" | |
jobs: | |
Static-Analysis: | |
# Note: changing this job name requires making the same update in the .github/workflows/release.yaml pipeline | |
name: "Static analysis" | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- uses: actions/checkout@v4 | |
- name: Restore tool cache | |
id: tool-cache | |
uses: actions/[email protected] | |
with: | |
path: ${{ github.workspace }}/.tmp | |
key: ${{ runner.os }}-tool-${{ hashFiles('Makefile') }} | |
- name: Restore go cache | |
id: go-cache | |
uses: actions/[email protected] | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go-${{ env.GO_VERSION }}- | |
- name: (cache-miss) Bootstrap all project dependencies | |
if: steps.tool-cache.outputs.cache-hit != 'true' || steps.go-cache.outputs.cache-hit != 'true' | |
run: make bootstrap | |
- name: Bootstrap CI environment dependencies | |
run: make ci-bootstrap | |
- name: Run static analysis | |
run: make static-analysis | |
Unit-Test: | |
# Note: changing this job name requires making the same update in the .github/workflows/release.yaml pipeline | |
name: "Unit tests" | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- uses: actions/checkout@v4 | |
- name: Restore tool cache | |
id: tool-cache | |
uses: actions/[email protected] | |
with: | |
path: ${{ github.workspace }}/.tmp | |
key: ${{ runner.os }}-tool-${{ hashFiles('Makefile') }} | |
- name: Restore go cache | |
id: go-cache | |
uses: actions/[email protected] | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go-${{ env.GO_VERSION }}- | |
- name: (cache-miss) Bootstrap all project dependencies | |
if: steps.tool-cache.outputs.cache-hit != 'true' || steps.go-cache.outputs.cache-hit != 'true' | |
run: make bootstrap | |
- name: Bootstrap CI environment dependencies | |
run: make ci-bootstrap | |
- name: Build cache key for test-fixturew | |
run: make fixtures-fingerprint | |
- name: Restore test-fixture cache | |
id: unit-fixture-cache | |
uses: actions/[email protected] | |
with: | |
path: internal/git/test-fixtures/repos | |
key: ${{ runner.os }}-unit-fixture-cache-${{ hashFiles( 'internal/git/test-fixtures/cache.fingerprint' ) }} | |
- name: Run unit tests | |
run: make unit | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: unit-test-results | |
path: test/results/**/* | |
Build-Snapshot-Artifacts: | |
name: "Build snapshot artifacts" | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- uses: actions/checkout@v4 | |
- name: Restore tool cache | |
id: tool-cache | |
uses: actions/[email protected] | |
with: | |
path: ${{ github.workspace }}/.tmp | |
key: ${{ runner.os }}-tool-${{ hashFiles('Makefile') }} | |
- name: Restore go cache | |
id: go-cache | |
uses: actions/[email protected] | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go-${{ env.GO_VERSION }}- | |
- name: (cache-miss) Bootstrap all project dependencies | |
if: steps.tool-cache.outputs.cache-hit != 'true' || steps.go-cache.outputs.cache-hit != 'true' | |
run: make bootstrap | |
- name: Build snapshot artifacts | |
run: make snapshot | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: artifacts | |
path: snapshot/**/* |