diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 93098d3..6d1ae5d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -28,3 +28,5 @@ updates: # update gh-aw action pins directly. - dependency-name: "github/gh-aw-actions/*" - dependency-name: "github/gh-aw/*" + cooldown: + default-days: 7 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 940e282..c325233 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,8 +17,8 @@ jobs: name: Lint Workflows runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: raven-actions/actionlint@v2 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + - uses: raven-actions/actionlint@3d39aea434753780c3b3d4a1a31c854b4dbf49d7 # v2.2.0 with: flags: "-ignore SC2015 -ignore SC2086 -ignore string.should.not.be.empty" @@ -26,8 +26,8 @@ jobs: name: Lint & Format runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: 22 cache: npm @@ -41,8 +41,8 @@ jobs: name: Typecheck runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: 22 cache: npm @@ -53,8 +53,8 @@ jobs: name: Typecheck Extension runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: 22 cache: npm @@ -71,8 +71,8 @@ jobs: name: Lint Extension runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: 22 cache: npm @@ -97,8 +97,8 @@ jobs: - node: 22 os: windows-latest steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: ${{ matrix.node }} cache: npm @@ -107,7 +107,7 @@ jobs: run: npm run test:coverage - name: Upload coverage if: matrix.node == 22 && matrix.os == 'ubuntu-latest' - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: coverage path: coverage @@ -118,8 +118,8 @@ jobs: runs-on: ubuntu-latest needs: [lint, typecheck, typecheck-extension, test, lint-workflows, lint-extension] steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: 22 cache: npm diff --git a/.github/workflows/eval.yml b/.github/workflows/eval.yml index 09a2177..847e0a8 100644 --- a/.github/workflows/eval.yml +++ b/.github/workflows/eval.yml @@ -40,9 +40,9 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 30 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 - - uses: actions/setup-node@v6 + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: 22 cache: npm @@ -86,7 +86,7 @@ jobs: - name: Upload eval results if: always() - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: eval-results path: .agentrc/evals/ @@ -94,7 +94,7 @@ jobs: - name: Report eval results if: always() - uses: actions/github-script@v8 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 with: script: | const fs = require('fs'); diff --git a/.github/workflows/webapp-cd.yml b/.github/workflows/webapp-cd.yml index d588b21..67632b7 100644 --- a/.github/workflows/webapp-cd.yml +++ b/.github/workflows/webapp-cd.yml @@ -32,10 +32,10 @@ jobs: image-tag: ${{ steps.meta.outputs.version }} image-full: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }} steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 - name: Log in to GHCR - uses: docker/login-action@v4 + uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -43,7 +43,7 @@ jobs: - name: Docker metadata id: meta - uses: docker/metadata-action@v6 + uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | @@ -51,7 +51,7 @@ jobs: type=raw,value=latest - name: Build and push - uses: docker/build-push-action@v7 + uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 with: context: . file: Dockerfile.webapp @@ -66,22 +66,22 @@ jobs: security-events: write packages: read steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 - name: Log in to GHCR - uses: docker/login-action@v4 + uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@v0.36.0 + uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0 with: image-ref: ${{ needs.build-push.outputs.image-full }} format: sarif output: trivy-results.sarif severity: CRITICAL,HIGH - name: Upload Trivy scan results - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6 if: always() with: sarif_file: trivy-results.sarif @@ -91,10 +91,10 @@ jobs: needs: [build-push, security-scan] environment: production steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 - name: Azure Login (OIDC) - uses: azure/login@v3 + uses: azure/login@f5d393ae46f8fde4be8b75f32e3fc50e654ad0ca # v3.0.1 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} @@ -134,7 +134,7 @@ jobs: sleep 10 - name: Deploy infrastructure - uses: azure/arm-deploy@v2 + uses: azure/arm-deploy@a1361c2c2cd398621955b16ca32e01c65ea340f5 # v2.0.0 with: resourceGroupName: ${{ env.RESOURCE_GROUP }} template: ${{ env.BICEP_FILE }} diff --git a/.github/workflows/webapp-ci.yml b/.github/workflows/webapp-ci.yml index 749a3c2..bf20b2c 100644 --- a/.github/workflows/webapp-ci.yml +++ b/.github/workflows/webapp-ci.yml @@ -24,8 +24,8 @@ jobs: test-backend: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: "24" cache: npm @@ -40,8 +40,8 @@ jobs: test-frontend: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: "24" cache: npm @@ -57,18 +57,18 @@ jobs: permissions: security-events: write steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 - name: Build Docker image run: docker build -f Dockerfile.webapp -t agentrc-webapp:test . - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@v0.36.0 + uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0 with: image-ref: agentrc-webapp:test format: sarif output: trivy-results.sarif severity: CRITICAL,HIGH - name: Upload Trivy scan results - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6 if: always() with: sarif_file: trivy-results.sarif