build(deps): bump actions/checkout from 5.0.1 to 6.0.0 #8511
Workflow file for this run
This file contains hidden or 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: Code Health | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| jobs: | |
| golangci: | |
| name: lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - uses: actions/[email protected] | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| cache: false # see https://github.com/golangci/golangci-lint-action/issues/807 | |
| - name: golangci-lint | |
| uses: golangci/golangci-lint-action@e7fa5ac41e1cf5b7d48e45e42232ce7ada589601 | |
| with: | |
| version: v2.1.6 | |
| unit-tests: | |
| env: | |
| COVERAGE: coverage.out | |
| TEST_CMD: gotestsum --junitfile unit-tests.xml --format standard-verbose -- | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| if: matrix.os == 'ubuntu-latest' | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - name: Checkout repository | |
| uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - run: | | |
| go install gotest.tools/[email protected] | |
| go install github.com/mattn/[email protected] | |
| - run: make unit-test | |
| - name: Send coverage | |
| if: matrix.os == 'ubuntu-latest' | |
| env: | |
| COVERALLS_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
| run: goveralls -parallel -coverprofile="$COVERAGE" -ignore=test/* -service=github | |
| - name: Test Summary | |
| id: test_summary | |
| uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 | |
| with: | |
| paths: unit-tests.xml | |
| if: always() && matrix.os == 'ubuntu-latest' | |
| coverage: | |
| runs-on: ubuntu-latest | |
| needs: [unit-tests, e2e-tests] | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - name: Checkout repository | |
| uses: actions/[email protected] | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - name: Install goveralls | |
| run: go install github.com/mattn/[email protected] | |
| - name: Send coverage | |
| env: | |
| COVERALLS_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
| run: goveralls -parallel-finish -ignore=test/* -service=github | |
| libraryOwners: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - name: Checkout repository | |
| uses: actions/[email protected] | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - name: Run check-library-owners | |
| run: make check-library-owners | |
| docs: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - name: Checkout repository | |
| uses: actions/[email protected] | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - name: Generate docs | |
| run: make gen-docs > /dev/null | |
| - name: Check for uncommitted files | |
| run: | | |
| export FILES= | |
| FILES=$(git ls-files -o -m --directory --exclude-standard --no-empty-directory) | |
| export LINES= | |
| LINES=$(echo "$FILES" | awk 'NF' | wc -l) | |
| if [ "$LINES" -ne 0 ]; then | |
| echo "Detected files that need to be committed:" | |
| echo "${FILES//^/ }" | |
| echo "" | |
| echo "Try running: make gen-docs" | |
| exit 1 | |
| fi | |
| api: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - name: Checkout repository | |
| uses: actions/[email protected] | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - run: make devtools | |
| - name: Generate api commands | |
| run: make gen-api-commands > /dev/null | |
| - name: Check for uncommitted files | |
| run: | | |
| export FILES= | |
| FILES=$(git ls-files -o -m --directory --exclude-standard --no-empty-directory) | |
| export LINES= | |
| LINES=$(echo "$FILES" | awk 'NF' | wc -l) | |
| if [ "$LINES" -ne 0 ]; then | |
| echo "Detected files that need to be committed:" | |
| echo "${FILES//^/ }" | |
| echo "" | |
| echo "Try running: make gen-api-commands" | |
| exit 1 | |
| fi | |
| actionlint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - uses: actions/[email protected] | |
| - name: Download actionlint | |
| id: get_actionlint | |
| run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) | |
| shell: bash | |
| - name: Check workflow files | |
| run: | | |
| echo "::add-matcher::.github/actionlint-matcher.json" | |
| ${{ steps.get_actionlint.outputs.executable }} -color | |
| shell: bash | |
| mocks: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - name: Checkout repository | |
| uses: actions/[email protected] | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - name: Generate mocks | |
| run: make gen-mocks | |
| - name: Check for uncommitted files | |
| run: | | |
| export FILES= | |
| FILES=$(git ls-files -o -m --directory --exclude-standard --no-empty-directory) | |
| export LINES= | |
| LINES=$(echo "$FILES" | awk 'NF' | wc -l) | |
| if [ "$LINES" -ne 0 ]; then | |
| echo "Detected files that need to be committed:" | |
| echo "${FILES//^/ }" | |
| echo "" | |
| echo "Try running: make gen-mocks" | |
| exit 1 | |
| fi | |
| shellcheck: | |
| name: shellcheck | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - uses: actions/[email protected] | |
| - name: Install ShellCheck | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y shellcheck | |
| - name: Run ShellCheck | |
| run: | | |
| # Find all shell scripts excluding specific patterns or directories | |
| # Add exclusions by adding more -not -path patterns as needed | |
| find . -name "*.sh" \ | |
| -not -path "./.git/*" \ | |
| -not -path "./docs/*" \ | |
| -print0 | xargs -0 shellcheck --format=gcc | |
| # Also check for shell scripts without .sh extension | |
| find . -type f -exec grep -l '^#!/bin/\(ba\)\?sh' {} \; \ | |
| | grep -v '\.sh$' \ | |
| | grep -v './.git/' \ | |
| | grep -v './docs/' \ | |
| | xargs -r shellcheck --format=gcc | |
| tidy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - name: Checkout repository | |
| uses: actions/[email protected] | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - name: Run 'go mod tidy' | |
| run: go mod tidy | |
| - name: Check for uncommitted files | |
| run: | | |
| export FILES= | |
| FILES=$(git ls-files -o -m --directory --exclude-standard --no-empty-directory) | |
| export LINES= | |
| LINES=$(echo "$FILES" | awk 'NF' | wc -l) | |
| if [ "$LINES" -ne 0 ]; then | |
| echo "Detected files that need to be committed:" | |
| echo "${FILES//^/ }" | |
| echo "" | |
| echo "Try running: go mod tidy" | |
| exit 1 | |
| fi | |
| licensecheck: | |
| name: licensecheck | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - uses: actions/[email protected] | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - run: ./build/ci/check-licenses.sh | |
| checktemplates: | |
| name: checktemplates | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - uses: actions/[email protected] | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - run: make check-templates | |
| verify_image: | |
| name: Build docker image | |
| runs-on: ubuntu-latest | |
| env: | |
| DOCKER_CLI_EXPERIMENTAL: enabled | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - name: Check out the repo | |
| uses: actions/[email protected] | |
| - name: Linting | |
| uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 | |
| with: | |
| dockerfile: Dockerfile | |
| - name: Enable containerd image store | |
| uses: docker/setup-docker-action@efe9e3891a4f7307e689f2100b33a155b900a608 | |
| with: | |
| version: v24.0.6 | |
| daemon-config: | | |
| { | |
| "features": { | |
| "containerd-snapshotter": true | |
| } | |
| } | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 | |
| - name: Build image to dockerhub staging registry | |
| uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 | |
| with: | |
| context: . | |
| platforms: linux/amd64,linux/arm64 | |
| tags: mongodb/atlas:test | |
| file: Dockerfile | |
| e2e-tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| steps: | |
| - uses: GitHubSecurityLab/actions-permissions/monitor@v1 | |
| with: | |
| config: ${{ vars.PERMISSIONS_CONFIG }} | |
| - name: Checkout repository | |
| uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - run: | | |
| go install gotest.tools/[email protected] | |
| go install github.com/mattn/[email protected] | |
| - name: set Apix Bot token | |
| id: app-token | |
| uses: mongodb/apix-action/token@6c3fde402c21942fa46cde003f190c2b23c59530 | |
| with: | |
| app-id: ${{ secrets.APIXBOT_APP_ID }} | |
| private-key: ${{ secrets.APIXBOT_APP_PEM }} | |
| - run: make build | |
| - id: config-path | |
| env: | |
| EDITOR: echo | |
| run: echo "CONFIG_PATH=$(./bin/atlas config edit 2>/dev/null)" >> "$GITHUB_OUTPUT" | |
| - env: | |
| CONFIG_PATH: ${{ steps.config-path.outputs.CONFIG_PATH }} | |
| CONFIG_CONTENT: | | |
| skip_update_check = true | |
| silence_storage_warning = true | |
| telemetry_enabled = false | |
| [__e2e] | |
| org_id = 'a0123456789abcdef012345a' | |
| project_id = 'b0123456789abcdef012345b' | |
| public_api_key = 'ABCDEF01' | |
| private_api_key = '12345678-abcd-ef01-2345-6789abcdef01' | |
| ops_manager_url = 'http://localhost:8080/' | |
| service = 'cloud' | |
| output = 'plaintext' | |
| [__e2e_snapshot] | |
| org_id = 'a0123456789abcdef012345a' | |
| project_id = 'b0123456789abcdef012345b' | |
| public_api_key = 'ABCDEF01' | |
| private_api_key = '12345678-abcd-ef01-2345-6789abcdef01' | |
| ops_manager_url = 'http://localhost:8080/' | |
| service = 'cloud' | |
| output = 'plaintext' | |
| run: | | |
| echo "$CONFIG_CONTENT" > "$CONFIG_PATH" | |
| - run: | | |
| set +e | |
| make e2e-test-snapshots | |
| EXIT_CODE=$? | |
| if [ $EXIT_CODE -ne 0 ]; then | |
| echo "::error::Snapshot tests failed, consider adding label 'update-snapshots' to re-generate them" | |
| fi | |
| exit $EXIT_CODE | |
| env: | |
| GH_TOKEN: ${{ steps.app-token.outputs.token }} | |
| TEST_CMD: gotestsum --junitfile e2e-tests.xml --format standard-verbose -- | |
| COVERAGE: coverage.out | |
| - name: Send coverage | |
| env: | |
| COVERALLS_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
| COVERAGE: coverage.out | |
| run: goveralls -parallel -coverprofile="$COVERAGE" -ignore=test/* -service=github | |
| - name: Test Summary | |
| if: always() | |
| uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 | |
| with: | |
| paths: e2e-tests.xml |