Skip to content

build(deps): bump the go-dependencies group with 4 updates #6008

build(deps): bump the go-dependencies group with 4 updates

build(deps): bump the go-dependencies group with 4 updates #6008

Workflow file for this run

name: Test
on:
pull_request:
types:
- opened
- synchronize
- reopened
- labeled
- unlabeled
branches:
- main
permissions:
contents: read
# Stop any in-flight CI jobs when a new commit is pushed.
concurrency:
group: ${{ github.ref_name }}
cancel-in-progress: true
env:
GO_VERSION: 1.26.x
GOLANGCI_LINT_VERSION: v2.9
WASI_SDK_VERSION: 25
WASI_SDK_FULL_VERSION: "25.0"
jobs:
changelog:
name: Enforce changelog entry
if: github.event.pull_request.user.login != 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
- name: "Checkout code"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: dangoslen/changelog-enforcer@8b5e9dc3121363bb7c0115f8533404d92af382de # v3.7.0
lint:
name: Lint (pinned golangci-lint version)
runs-on: ubuntu-latest
steps:
- name: "Checkout code"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: ${{ env.GO_VERSION }}
- name: golangci-lint
uses: golangci/golangci-lint-action@ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a # v9.3.0
with:
version: ${{ env.GOLANGCI_LINT_VERSION }}
only-new-issues: true
test:
name: Test (${{ matrix.platform }})
strategy:
matrix:
tinygo-version: [0.31.2]
go-version: [1.26.x]
node-version: [18]
platform: [ubuntu-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: "Checkout code"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: "Install Go"
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: ${{ matrix.go-version }}
# IMPORTANT: Disable caching to prevent cache restore errors later.
cache: false
- uses: acifani/setup-tinygo@f51bf108c9895381060398804ce6cf6f62692106 # v3.0.1
with:
tinygo-version: ${{ matrix.tinygo-version }}
- name: "Install Rust"
uses: actions-rust-lang/setup-rust-toolchain@ecabd13d1c56bd1345c230e542e9144811ad706f # v2.0.0
with:
toolchain: stable
target: wasm32-wasip1
cache: false
rustflags: ""
- name: "Validate Rust toolchain"
run: rustup show && rustup target list --installed --toolchain stable
shell: bash
- name: "Install Node"
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ matrix.node-version }}
- name: "Install uv"
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
- name: "Install WASI SDK"
run: |
wget -q "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_FULL_VERSION}-x86_64-linux.tar.gz"
tar xzf "wasi-sdk-${WASI_SDK_FULL_VERSION}-x86_64-linux.tar.gz"
echo "$(pwd)/wasi-sdk-${WASI_SDK_FULL_VERSION}-x86_64-linux/bin" >> "$GITHUB_PATH"
shell: bash
- name: "Modify git cloned repo files 'modified' times"
run: go run ./scripts/go-test-cache/main.go
- name: "Test suite"
run: make test
shell: bash
env:
# NOTE: The following lets us focus the test run while debugging.
# TEST_ARGS: "-run TestBuild ./pkg/commands/compute/..."
TEST_COMPUTE_INIT: true
TEST_COMPUTE_BUILD: true
TEST_COMPUTE_DEPLOY: true
test-release:
name: Test release (${{ matrix.platform }})
if: contains(github.head_ref, 'release')
strategy:
matrix:
tinygo-version: [0.31.2]
go-version: [1.26.x]
node-version: [18]
platform: [macos-latest, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: "Checkout code"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: "Install Go"
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: ${{ matrix.go-version }}
# IMPORTANT: Disable caching to prevent cache restore errors later.
cache: false
- uses: acifani/setup-tinygo@f51bf108c9895381060398804ce6cf6f62692106 # v3.0.1
with:
tinygo-version: ${{ matrix.tinygo-version }}
- name: "Install Rust"
uses: actions-rust-lang/setup-rust-toolchain@ecabd13d1c56bd1345c230e542e9144811ad706f # v2.0.0
with:
toolchain: stable
target: wasm32-wasip1
cache: false
rustflags: ""
- name: "Validate Rust toolchain"
run: rustup show && rustup target list --installed --toolchain stable
shell: bash
- name: "Install Node"
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ matrix.node-version }}
- name: "Install uv"
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
- name: "Install WASI SDK (Ubuntu)"
if: matrix.platform == 'ubuntu-latest'
run: |
wget -q "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_FULL_VERSION}-x86_64-linux.tar.gz"
tar xzf "wasi-sdk-${WASI_SDK_FULL_VERSION}-x86_64-linux.tar.gz"
echo "$(pwd)/wasi-sdk-${WASI_SDK_FULL_VERSION}-x86_64-linux/bin" >> "$GITHUB_PATH"
shell: bash
- name: "Install WASI SDK (macOS)"
if: matrix.platform == 'macos-latest'
run: |
wget -q "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_FULL_VERSION}-arm64-macos.tar.gz"
tar xzf "wasi-sdk-${WASI_SDK_FULL_VERSION}-arm64-macos.tar.gz"
echo "$(pwd)/wasi-sdk-${WASI_SDK_FULL_VERSION}-arm64-macos/bin" >> "$GITHUB_PATH"
shell: bash
- name: "Install WASI SDK (Windows)"
if: matrix.platform == 'windows-latest'
run: |
Invoke-WebRequest -Uri "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${env:WASI_SDK_VERSION}/wasi-sdk-${env:WASI_SDK_FULL_VERSION}-x86_64-windows.tar.gz" -OutFile "wasi-sdk.tar.gz"
tar -xzf wasi-sdk.tar.gz
echo "$PWD/wasi-sdk-${env:WASI_SDK_FULL_VERSION}-x86_64-windows/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
shell: pwsh
- name: "Modify git cloned repo files 'modified' times"
run: go run ./scripts/go-test-cache/main.go
- name: "Test suite"
run: make test
shell: bash
env:
# NOTE: The following lets us focus the test run while debugging.
# TEST_ARGS: "-run TestBuild ./pkg/commands/compute/..."
TEST_COMPUTE_INIT: true
TEST_COMPUTE_BUILD: true
TEST_COMPUTE_DEPLOY: true
docker-builds:
name: Build docker images
runs-on: ubuntu-latest
steps:
- name: "Checkout code"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Build docker images
run: |
for dockerFile in Dockerfile*; do docker build -f $dockerFile . ; done
tools-build:
name: "goreleaser tools build"
if: contains(github.event.pull_request.labels.*.name, 'tools')
runs-on: ubuntu-latest
steps:
- name: "Checkout code"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: "Install Go"
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version-file: tools/go.mod
- name: "Test goreleaser tools build"
run: go tool -modfile=tools/go.mod goreleaser build --single-target --snapshot --skip=post-hooks --skip=validate
golangci-latest:
name: lint-latest (informational)
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: ${{ env.GO_VERSION }}
- name: Run golangci-lint@latest
id: lint
uses: golangci/golangci-lint-action@ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a # v9.3.0
with:
version: latest
only-new-issues: true
continue-on-error: true
- name: Report lint summary
env:
LINT_OUTCOME: ${{ steps.lint.outcome }}
run: |
if [ "$LINT_OUTCOME" = "success" ]; then
echo "✅ golangci-lint@latest passed." >> "$GITHUB_STEP_SUMMARY"
else
echo "⚠️ golangci-lint@latest failed (informational only)." >> "$GITHUB_STEP_SUMMARY"
fi