Skip to content

chore(deps): bump the go-dependencies group with 10 updates #7281

chore(deps): bump the go-dependencies group with 10 updates

chore(deps): bump the go-dependencies group with 10 updates #7281

Workflow file for this run

name: Code Quality
on:
push:
branches: [develop, main]
paths:
- '**.go'
- 'go.mod'
- 'go.sum'
- '**.sh'
- 'Tiltfile'
- 'api/proto/**'
- 'buf.yaml'
- 'buf.gen.yaml'
- 'buf.lock'
- '.golangci.yml'
- '.github/workflows/quality.yml'
pull_request:
branches: [develop, main]
paths:
- '**.go'
- 'go.mod'
- 'go.sum'
- '**.sh'
- 'Tiltfile'
- 'api/proto/**'
- 'buf.yaml'
- 'buf.gen.yaml'
- 'buf.lock'
- '.golangci.yml'
- '.github/workflows/quality.yml'
permissions:
contents: read
pull-requests: read
checks: write
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
shellcheck:
name: Shell Script Linting
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@2.0.0
with:
scandir: '.'
ignore_paths: 'node_modules .git'
severity: warning # Only fail on warnings and errors, not info
golangci-lint:
name: golangci-lint
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.26.2'
cache: true
- name: Set up buf
uses: bufbuild/buf-action@v1
with:
setup_only: true
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate protobuf files
run: buf generate
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: v2.11.4
args: --timeout=5m --config=.golangci.yml
proto-freshness:
name: Proto Freshness
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.26.2'
cache: true
- name: Set up buf
uses: bufbuild/buf-action@v1
with:
setup_only: true
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Regenerate proto files
run: buf generate api/proto
- name: Check for uncommitted changes
run: |
if ! git diff --exit-code -- api/proto api/openapi; then
echo "Proto-generated files are out of sync with .proto sources."
echo "Run 'buf generate api/proto' locally and commit the result."
exit 1
fi
multi-asset-purity:
name: Multi-Asset Purity
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Run multi-asset purity lint
run: ./scripts/lint-multi-asset-purity.sh
tiltfile-syntax:
name: Tiltfile Syntax
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Install Tilt
run: |
# Use VERSION env var with master script (recommended approach)
# Retry up to 3 times to handle transient GitHub release download issues
for i in 1 2 3; do
if curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | VERSION=0.36.0 bash; then
echo "Tilt installed successfully on attempt $i"
exit 0
fi
echo "Attempt $i failed, retrying in 10 seconds..."
sleep 10
done
echo "Failed to install Tilt after 3 attempts"
exit 1
timeout-minutes: 3
- name: Create minimal kubeconfig
run: |
# Tilt requires a kubeconfig even for syntax validation
mkdir -p ~/.kube
cat > ~/.kube/config <<'EOF'
apiVersion: v1
kind: Config
clusters:
- cluster:
server: https://127.0.0.1:6443
name: kind-meridian-local
contexts:
- context:
cluster: kind-meridian-local
user: kind-meridian-local
name: kind-meridian-local
current-context: kind-meridian-local
users:
- name: kind-meridian-local
EOF
- name: Validate Tiltfile syntax
run: |
# Run tilt ci with a short timeout to validate syntax
set +e
timeout 10s tilt ci 2>&1 | tee tilt-output.txt
EXIT_CODE=$?
set -e
# Check for syntax errors
if grep -q "got illegal token\|syntax error\|Traceback (most recent call last)" tilt-output.txt; then
echo "❌ Tiltfile has syntax errors!"
grep -A 5 "got illegal token\|syntax error\|Traceback" tilt-output.txt || true
exit 1
fi
# Check if it loaded successfully
if grep -q "Successfully loaded Tiltfile" tilt-output.txt; then
echo "✅ Tiltfile syntax is valid!"
exit 0
fi
# Timeout is expected without a real cluster
if [ $EXIT_CODE -eq 124 ]; then
if grep -q "Loading Tiltfile" tilt-output.txt; then
echo "✅ Tiltfile syntax is valid!"
exit 0
fi
fi
echo "❌ Unexpected validation result"
cat tilt-output.txt
exit 1
timeout-minutes: 1
- name: Upload validation output
if: failure()
uses: actions/upload-artifact@v7
with:
name: tilt-validation-output
path: tilt-output.txt
retention-days: 7