chore(deps): bump the go-dependencies group with 10 updates #7281
Workflow file for this run
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: 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 |