commonsteps: StepDownload timeout override #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: go-test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
env: | |
TEST_RESULTS_PATH: /tmp/test-results | |
permissions: | |
contents: read | |
jobs: | |
linux-tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
go-version: | |
- '1.21.x' | |
- '1.22.x' | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- name: Setup go | |
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Checkout code | |
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | |
- name: Check that go.mod does not contain a replace | |
run: | | |
if grep -Eq "^\s*replace" <go.mod; then | |
echo "go.mod contains a replace but should not." >&2 | |
false | |
fi | |
- name: Create test directory | |
run: | | |
mkdir -p ${{ env.TEST_RESULTS_PATH }}/packer-plugin-sdk | |
- name: Install buf | |
uses: bufbuild/buf-setup-action@v1.33.0 | |
- name: Run gofmt | |
run: | | |
make fmt-check | |
- name: Run Go Generate Check | |
run: | | |
make generate-check | |
- name: Install gotestsum | |
run: go install gotest.tools/gotestsum@v1.8.2 | |
# Required for passing tests as we need to have a replace in the go.mod | |
# otherwise we'll get compile-time errors when running them | |
- name: Fix gocty | |
run: | | |
make install-gen-deps | |
packer-sdc fix . | |
go mod tidy | |
- name: Run Go tests | |
run: | | |
PACKAGE_NAMES="$(go list ./...)" | |
echo "Running $(echo "$PACKAGE_NAMES" | wc -w) packages" | |
echo "$PACKAGE_NAMES" | |
echo "$PACKAGE_NAMES" | xargs -I {} gotestsum --format=short-verbose --junitfile "$TEST_RESULTS_PATH"/packer-plugin-sdk/gotestsum-report.xml -- -count 1 -p 2 {}; | |
windows-tests: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
go-version: | |
- '1.21.x' | |
- '1.22.x' | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- name: Run git config #Windows-only | |
run: git config --global core.autocrlf false | |
- name: Setup Go | |
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Checkout code | |
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | |
- name: Install gotestsum | |
shell: bash | |
run: go install gotest.tools/gotestsum@v1.8.2 | |
# Required for passing tests as we need to have a replace in the go.mod | |
# otherwise we'll get compile-time errors when running them | |
- name: Fix gocty | |
run: | | |
make install-gen-deps | |
packer-sdc fix . | |
go mod tidy | |
- name: Run Go tests | |
shell: bash | |
run: | | |
PACKAGE_NAMES="$(go list ./...)" | |
echo "Running $(echo "$PACKAGE_NAMES" | wc -w) packages" | |
echo "$PACKAGE_NAMES" | |
echo "$PACKAGE_NAMES" | xargs -I {} gotestsum --format=short-verbose --junitfile "$TEST_RESULTS_PATH"/packer-plugin-sdk/gotestsum-report.xml -- -count 1 -p 2 {}; | |
darwin-tests: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
go-version: | |
- '1.21.x' | |
- '1.22.x' | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- name: Setup go | |
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Checkout code | |
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | |
- name: Create test directory | |
run: | | |
mkdir -p ${{ env.TEST_RESULTS_PATH }}/packer-plugin-sdk | |
- name: Install gotestsum | |
run: go install gotest.tools/gotestsum@v1.8.2 | |
# Required for passing tests as we need to have a replace in the go.mod | |
# otherwise we'll get compile-time errors when running them | |
- name: Fix gocty | |
run: | | |
make install-gen-deps | |
packer-sdc fix . | |
go mod tidy | |
- name: Run Go tests | |
run: | | |
PACKAGE_NAMES="$(go list ./...)" | |
echo "Running $(echo "$PACKAGE_NAMES" | wc -w) packages" | |
echo "$PACKAGE_NAMES" | |
echo "$PACKAGE_NAMES" | xargs -I {} gotestsum --format=short-verbose --junitfile "$TEST_RESULTS_PATH"/packer-plugin-sdk/gotestsum-report.xml -- -count 1 -p 2 {}; |