ci: harden supply chain (SHA pin actions, least-privilege permissions) (#475)

Pin three third-party actions to full commit SHAs with version comments
so dependabot can update them in place without exposing the pipeline to
upstream tag tampering:

  - aquasecurity/trivy-action@v0.35.0
  - peter-evans/create-pull-request@v8.1.1
  - googleapis/release-please-action@v4.4.0

Add a workflow-level permissions: contents: read default to ci.yml, with
update-screenshots keeping its explicit contents: write + pull-requests:
write override. Add the same default to docker-publish.yml (single job).

Expand .dockerignore to explicitly exclude .env*, *.key, *.pem, .github/,
docs/, website/, e2e/, tests/, test-results/, and playwright-report/ as
defense in depth against accidental build-context leaks. None of these
paths are read by any COPY step in Dockerfile.
This commit is contained in:
Anso
2026-04-10 13:41:49 -04:00
committed by GitHub
parent bc3b827b20
commit c1ce13758f
4 changed files with 30 additions and 4 deletions
+20 -1
View File
@@ -2,7 +2,26 @@
**/dist
.git
.gitignore
.DS_Store
# Docs and non-runtime content. Not needed in the image, bloats build context.
plans/
Product Requirements Document
*.md
.DS_Store
docs/
website/
# Tests and reports. Never shipped in the image.
e2e/
tests/
test-results/
playwright-report/
# CI config runs on GitHub Actions, not inside the image.
.github/
# Secrets and key material. Defense in depth against accidental context leaks.
.env
.env.*
*.key
*.pem