/
githubmirror
/
terraform
Обзор
Документация
Войти
/
githubmirror
/
terraform
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
.github/workflows/checks.yml
183 строки
6 KB
dependabot[bot]
chore(deps): bump the github-actions-backward-compatible group across 1 directory with 4 updates (#38956)
03 авг 2026, 14:56
Не верифицирован
03 авг 2026, 14:56
26d3680
Код
Авторство
О чём код?
# This workflow is a collection of "quick checks" that should be reasonable # to run for any new commit to this repository in principle. # # The main purpose of this workflow is to represent checks that we want to # run prior to reviewing and merging a pull request. We should therefore aim # for these checks to complete in no more than a few minutes in the common # case. # # The build.yml workflow includes some additional checks we run only for # already-merged changes to release branches and tags, as a compromise to # keep the PR feedback relatively fast. The intent is that checks.yml should # catch most problems but that build.yml might occasionally by the one to catch # more esoteric situations, such as architecture-specific or OS-specific # misbehavior. name: Quick Checks on: pull_request: types: - opened - ready_for_review - reopened - synchronize push: branches: - "*" tags: - "v[0-9]+.[0-9]+.[0-9]+*" # This workflow runs for not-yet-reviewed external contributions and so it # intentionally has no write access and only limited read access to the # repository. permissions: contents: read jobs: unit-tests: name: "Unit Tests" runs-on: ubuntu-latest steps: - name: "Fetch source code" uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Determine Go version id: go uses: ./.github/actions/go-version - name: Install Go toolchain uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version: ${{ steps.go.outputs.version }} cache-dependency-path: go.sum - name: "Unit tests" run: | # We run tests for all packages from all modules in this repository. for dir in $(go list -m -f '{{.Dir}}' github.com/hashicorp/terraform/...); do (cd $dir && go test -cover "./...") done race-tests: name: "Race Tests" runs-on: ubuntu-latest steps: - name: "Fetch source code" uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Determine Go version id: go uses: ./.github/actions/go-version - name: Install Go toolchain uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version: ${{ steps.go.outputs.version }} cache-dependency-path: go.sum # The race detector add significant time to the unit tests, so only run # it for select packages. - name: "Race detector" run: | go test -race ./internal/terraform ./internal/command ./internal/states ./internal/promising ./internal/stacks/... e2e-tests: # This is an intentionally-limited form of our E2E test run which only # covers Terraform running on Linux. The build.yml workflow runs these # tests across various other platforms in order to catch the rare exception # that might leak through this. name: "End-to-end Tests" runs-on: ubuntu-latest steps: - name: "Fetch source code" uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Determine Go version id: go uses: ./.github/actions/go-version - name: Install Go toolchain uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version: ${{ steps.go.outputs.version }} cache-dependency-path: go.sum - name: "End-to-end tests" run: | TF_ACC=1 go test -v ./internal/command/e2etest consistency-checks: name: "Code Consistency Checks" runs-on: ubuntu-latest steps: - name: "Fetch source code" uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 # We need to do comparisons against the main branch. - name: Determine Go version id: go uses: ./.github/actions/go-version - name: Install Go toolchain uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version: ${{ steps.go.outputs.version }} cache-dependency-path: go.sum - name: "go.mod and go.sum consistency check" run: | make syncdeps CHANGED="$(git status --porcelain)" if [[ -n "$CHANGED" ]]; then git diff echo >&2 "ERROR: go.mod/go.sum files are not up-to-date. Run 'make syncdeps' and then commit the updated files." echo >&2 $'Affected files:\n'"$CHANGED" exit 1 fi - name: Cache protobuf tools uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: "tools/protobuf-compile/.workdir" key: protobuf-tools-${{ hashFiles('tools/protobuf-compile/protobuf-compile.go') }} restore-keys: | protobuf-tools- - name: "Code consistency checks" run: | make fmtcheck importscheck vetcheck copyright generate staticcheck exhaustive protobuf CHANGED="$(git status --porcelain)" if [[ -n "$CHANGED" ]]; then git diff echo >&2 "ERROR: Generated files are inconsistent. Run 'make generate' and 'make protobuf' locally and then commit the updated files." echo >&2 $'Affected files:\n'"$CHANGED" exit 1 fi automated-defect-checks: name: "Automated defect checks" if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: - name: "Fetch source code" uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Determine Go version id: go uses: ./.github/actions/go-version - name: Install Go toolchain uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version: ${{ steps.go.outputs.version }} cache-dependency-path: go.sum - name: "Appending diagnostics" run: | make defect-detector