[dep][actions](deps): Bump golangci/golangci-lint-action from 9.0.0 to 9.1.0 #514
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: "11 - Test: Acceptance" | |
| on: | |
| pull_request: | |
| env: | |
| STEAMPIPE_UPDATE_CHECK: false | |
| SPIPETOOLS_PG_CONN_STRING: ${{ secrets.SPIPETOOLS_PG_CONN_STRING }} | |
| SPIPETOOLS_TOKEN: ${{ secrets.SPIPETOOLS_TOKEN }} | |
| GH_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }} | |
| STEAMPIPE_LOG: info | |
| jobs: | |
| goreleaser: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| path: steampipe | |
| - name: Checkout Pipe Fittings Components repository | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| repository: turbot/pipe-fittings | |
| path: pipe-fittings | |
| ref: v1.6.x | |
| - name: Set up Go | |
| uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0 | |
| with: | |
| go-version: 1.24 | |
| - name: Fetching Go Cache Paths | |
| id: go-cache-paths | |
| run: | | |
| echo "go-build=$(go env GOCACHE)" >> $GITHUB_OUTPUT | |
| echo "go-mod=$(go env GOMODCACHE)" >> $GITHUB_OUTPUT | |
| # used to speedup go test | |
| - name: Go Build Cache | |
| id: build-cache | |
| uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 | |
| with: | |
| path: ${{ steps.go-cache-paths.outputs.go-build }} | |
| key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} | |
| - name: Run CLI Unit Tests | |
| run: | | |
| cd steampipe | |
| go clean -testcache | |
| go test -timeout 30s ./... -test.v | |
| - name: Install GoReleaser | |
| uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a # v6.4.0 | |
| with: | |
| install-only: true | |
| - name: Run GoReleaser | |
| run: | | |
| cd steampipe | |
| goreleaser release --clean --snapshot --parallelism 2 --config=.acceptance.goreleaser.yml | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Move build artifacts | |
| run: | | |
| mkdir ~/artifacts | |
| mv $GITHUB_WORKSPACE/steampipe/dist/steampipe_linux_amd64.tar.gz ~/artifacts/linux.tar.gz | |
| mv $GITHUB_WORKSPACE/steampipe/dist/steampipe_linux_arm64.tar.gz ~/artifacts/linux-arm64.tar.gz | |
| mv $GITHUB_WORKSPACE/steampipe/dist/steampipe_darwin_arm64.zip ~/artifacts/darwin.zip | |
| mv $GITHUB_WORKSPACE/steampipe/dist/steampipe_darwin_amd64.zip ~/artifacts/darwin-amd64.zip | |
| - name: List Build Artifacts | |
| run: ls -l ~/artifacts | |
| - name: Save Linux Build Artifact | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: build-artifact-linux | |
| path: ~/artifacts/linux.tar.gz | |
| if-no-files-found: error | |
| overwrite: true | |
| acceptance_test: | |
| name: Test | |
| needs: goreleaser | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [ubuntu-latest] # add other platforms as needed | |
| test_block: | |
| - "migration" | |
| - "brew" | |
| - "installation" | |
| - "plugin" | |
| - "connection_config" | |
| - "service" | |
| - "settings" | |
| - "ssl" | |
| - "blank_aggregators" | |
| - "search_path" | |
| - "chaos_and_query" | |
| - "dynamic_schema" | |
| - "dynamic_aggregators" | |
| - "cache" | |
| - "performance" | |
| - "config_precedence" | |
| - "cloud" | |
| - "snapshot" | |
| - "schema_cloning" | |
| - "exit_codes" | |
| - "force_stop" | |
| exclude: | |
| - platform: macos-latest | |
| test_block: migration | |
| - platform: macos-latest | |
| test_block: force_stop | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| submodules: true | |
| - name: Set up Go | |
| uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0 | |
| with: | |
| go-version: 1.24 | |
| - name: Prepare for downloads | |
| id: prepare-for-downloads | |
| run: | | |
| mkdir ~/artifacts | |
| - name: Download Linux Build Artifacts | |
| uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 | |
| if: ${{ matrix.platform == 'ubuntu-latest' }} | |
| with: | |
| name: build-artifact-linux | |
| path: ~/artifacts | |
| - name: Extract Linux Artifacts and Install Binary | |
| if: ${{ matrix.platform == 'ubuntu-latest' }} | |
| run: | | |
| mkdir ~/build | |
| tar -xf ~/artifacts/linux.tar.gz -C ~/build | |
| - name: Set PATH | |
| run: | | |
| echo "PATH=$PATH:$HOME/build:$GITHUB_WORKSPACE/tests/acceptance/lib/bats-core/libexec" >> $GITHUB_ENV | |
| - name: Go install jd | |
| run: |- | |
| go install github.com/josephburnett/jd@latest | |
| - name: Install DB | |
| id: install-db | |
| continue-on-error: false | |
| run: | | |
| STEAMPIPE_LOG_LEVEL=trace steampipe query "select 1" | |
| steampipe plugin install chaos chaosdynamic --progress=false | |
| - name: Save Install DB Logs | |
| if: always() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: install-db-logs-${{ matrix.test_block }}-${{ matrix.platform }} | |
| path: ~/.steampipe/logs | |
| if-no-files-found: error | |
| - name: Run Test Suite | |
| id: run-test-suite | |
| timeout-minutes: 15 | |
| continue-on-error: true | |
| run: | | |
| chmod +x $GITHUB_WORKSPACE/tests/acceptance/run.sh | |
| $GITHUB_WORKSPACE/tests/acceptance/run.sh ${{ matrix.test_block }}.bats | |
| echo "exit_code=$(echo $?)" >> $GITHUB_OUTPUT | |
| echo ">> here" | |
| - name: Save Test Suite Logs | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: test-logs-${{ matrix.test_block }}-${{ matrix.platform }} | |
| path: ~/.steampipe/logs | |
| if-no-files-found: error | |
| # This job checks whether the test suite has passed or not. | |
| # Since the exit_code is set only when the bats test suite pass, | |
| # we have added the if-conditional block | |
| - name: Check Test Passed/Failed | |
| if: ${{ success() }} | |
| continue-on-error: false | |
| run: | | |
| if [ ${{ steps.run-test-suite.outputs.exit_code }} -eq 0 ]; then | |
| exit 0 | |
| else | |
| exit 1 | |
| fi | |
| clean_up: | |
| # let's clean up the artifacts. | |
| # incase this step isn't reached, | |
| # artifacts automatically expire after 90 days anyway | |
| # refer: | |
| # https://docs.github.com/en/actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts#downloading-and-deleting-artifacts-after-a-workflow-run-is-complete | |
| name: Clean Up Artifacts | |
| needs: acceptance_test | |
| if: ${{ needs.acceptance_test.result == 'success' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Clean up Linux Build | |
| uses: geekyeggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0 | |
| with: | |
| name: build-artifact-linux | |
| failOnError: true | |
| - name: Clean up Darwin Build | |
| uses: geekyeggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0 | |
| with: | |
| name: build-artifact-darwin | |
| failOnError: true |