Skip to content

Chore/SBOM container images#814

Open
josunday002 wants to merge 2 commits intoMyFanss:mainfrom
josunday002:chore/sbom-container-images
Open

Chore/SBOM container images#814
josunday002 wants to merge 2 commits intoMyFanss:mainfrom
josunday002:chore/sbom-container-images

Conversation

@josunday002
Copy link
Copy Markdown
Contributor

Summary

Changes

Test Plan

Automated tests added or updated

  • Unit tests (backend/src/**/*.spec.ts) — service/guard/decorator logic in isolation
  • Integration / e2e tests (backend/test/**/*.e2e-spec.ts) — HTTP round-trips with mocked infrastructure
  • Frontend component tests (frontend/src/**/*.test.{ts,tsx}) — React component behaviour
  • Frontend e2e tests (frontend/e2e/**/*.spec.ts) — Playwright browser flows
  • Contract tests (contract/) — Soroban/Rust unit tests via cargo test
  • No new tests required — explain why: ___

How to run the tests locally

# Backend unit tests
cd backend && npm test

# Backend e2e tests (requires no live DB — uses in-memory mocks)
cd backend && npm run test:e2e

# Frontend component tests
cd frontend && npx vitest run

# Frontend e2e tests (requires dev server on :3000 and API on :3001)
cd frontend && npx playwright test

# Contract tests
cd contract && cargo test

Manual verification checklist

  • Happy path works end-to-end in a local environment
  • Error / edge cases handled gracefully (stale state, invalid input, disconnected wallet)
  • No regressions in closely related API or UI flows
  • Rate-limiting, auth guards, and feature flags behave as expected where touched
  • Linting passes: cd backend && npm run lint / cd frontend && npm run lint

Related issues

Notes for reviewers

closes #710

Replace mutable version tags (e.g. @v4) with immutable full-length
commit SHA digests across all seven workflow files. Each pin retains
a human-readable comment (e.g. # v4) so the intended version is still
obvious at a glance.

Actions pinned:
- actions/checkout@v4          → @11bd71901bbe5b1630ceea73d27597364c9af683
- actions/setup-node@v4        → @49933ea5288caeca8642d1e84afbd3f7d6820020
- actions/cache@v4             → @0057852bfaa89a56745cba8c7296529d2fc39830
- actions/github-script@v7     → @f28e40c7f34bde8b3046d885e986cb6290c5673b
- actions/dependency-review-action@v4 → @a6993e2c61fd5dc440b409aa1d6904921c5e1894
- dtolnay/rust-toolchain@stable → @3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
- Swatinem/rust-cache@v2       → @42dc69e1aa15d09112580998cf2ef0119e2e91ae

Workflows updated:
- abi-snapshot.yml
- audit-check.yml
- changelog.yml
- ci.yml
- commitlint.yml
- contract-release.yml
- dependency-review.yml

Also fixes a structural bug in audit-check.yml where the frontend-audit
step was missing its step name and was incorrectly appended to the
backend-audit step block.
Introduce .github/workflows/sbom.yml which builds the frontend and
backend Docker images in CI and generates an SPDX JSON Software Bill
of Materials (SBOM) for each using anchore/sbom-action.

- Triggers on push/PR to main or develop when Dockerfiles or package
  manifests change, and on workflow_dispatch for manual runs
- Builds myfans/frontend:ci from frontend/Dockerfile
- Builds myfans/backend:ci from backend/Dockerfile
- Produces sbom-frontend.spdx.json and sbom-backend.spdx.json
- Uploads each SBOM as a workflow artifact retained for 90 days
- All actions pinned to full SHA digests (supply-chain hygiene)
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Apr 24, 2026

@josunday002 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SBOM generation for container images

1 participant