test: Start of the E2E test suite and basis of E2E docs #1511
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: 'ci-go' | |
on: | |
pull_request: | |
branches: | |
- 'main' | |
paths: | |
- '**.go' | |
- '**/go.mod' | |
- '**/go.sum' | |
- 'go.work' | |
jobs: | |
test: | |
permissions: | |
id-token: 'write' | |
contents: 'read' | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: "install azure-cli" | |
uses: "Azure/ARO-HCP@main" | |
- uses: azure/use-kubelogin@76597ae0fcbaace21b05e13a2cbf8daee2c6e820 # v1.2 | |
with: | |
kubelogin-version: 'v0.1.3' | |
- name: 'Az CLI login' | |
uses: azure/login@a65d910e8af852a8061c627c456678983e180302 # v2.2.0 | |
with: | |
client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
fetch-depth: 1 | |
- name: 'Set up Go' | |
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 | |
with: | |
go-version-file: 'go.work' | |
check-latest: true | |
- name: 'Check Go modules' | |
run: | | |
make all-tidy | |
if [[ ! -z "$(git status --short)" ]] | |
then | |
echo "there are some modified files, rerun 'make all-tidy' to update them and check the changes in" | |
git status | |
exit 1 | |
fi | |
- name: 'Regenerate mocks' | |
run: | | |
make mocks | |
if [[ ! -z "$(git status --short)" ]] | |
then | |
echo "there are some modified files, rerun 'make mocks' to update them and check the changes in" | |
git status | |
exit 1 | |
fi | |
- name: 'Test' | |
run: JOB_ID=${{ github.job }} PRINCIPAL_ID=${{ secrets.GHA_PRINCIPAL_ID }} make test | |
lint: | |
permissions: | |
contents: 'read' | |
runs-on: 'ubuntu-latest' | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
fetch-depth: 1 | |
- name: 'Set up Go' | |
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 | |
with: | |
go-version-file: 'go.work' | |
check-latest: true | |
- name: 'Lint' | |
uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1 | |
with: | |
# The repo's top-level Makefile parses the version of golangci-lint from here | |
version: v1.61.0 | |
args: '-v --build-tags=containers_image_openpgp $(go list -f ''{{.Dir}}/...'' -m | xargs)' |