diff --git a/.github/readme-source.json b/.github/readme-source.json index 2af888b..7d640a5 100644 --- a/.github/readme-source.json +++ b/.github/readme-source.json @@ -1,6 +1,6 @@ { "version": 1, - "sha256": "51cd15b307acab88735be32aeb4f7a43e33701ccab0cd1df138f25cb322acec2", + "sha256": "c33ad5c2b71b2c23009039904a6d7ede8ca447975c6cc5442bd0a88bab7e34b9", "history": { "forbidden_commits": ["ec050dfdfec522d814f1e1e8eb1c7aaf42e880be"] } diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 895ff81..c840e5b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: with: persist-credentials: false - name: Set up development tools - uses: nicodes/tools/setup@a1c0321f3b4917a7e99eca42e241e46670f6e1e1 + uses: nicodes/tools/setup@7b67a800c8b8d690c4483ad9c738da3d1aabbdf6 env: GH_TOKEN: ${{ github.token }} timeout-minutes: 5 diff --git a/.github/workflows/dependency-policy.yml b/.github/workflows/dependency-policy.yml index fcffbcd..da41be1 100644 --- a/.github/workflows/dependency-policy.yml +++ b/.github/workflows/dependency-policy.yml @@ -48,7 +48,7 @@ jobs: env: GH_TOKEN: ${{ github.token }} timeout-minutes: 7 - uses: nicodes/tools/dependencies@a1c0321f3b4917a7e99eca42e241e46670f6e1e1 + uses: nicodes/tools/dependencies@7b67a800c8b8d690c4483ad9c738da3d1aabbdf6 with: apply: 'true' output: ${{ runner.temp }}/dependency-report.json diff --git a/README.md b/README.md index 1d759a2..1ea04aa 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - + # aviorstudio-web @@ -31,3 +31,5 @@ Build commands record source and exact regular output hashes. Declared tests pro ## Contributor task interface Contributor tool versions and task entry points live in the native Mise configuration. Use `mise run lint` for source checks, `mise run test` for the applicable behavioral tests, and `mise run check` for the complete supported gate. `mise run clean` removes declared generated outputs while preserving source, credentials and retained data. Use `mise run dev` and `mise run stop` for this checkout's owned local session. + +Built exports enforce the product byte limits in `scripts/site-budget.json`: 2 MiB total, 512 KiB per file, 64 KiB gzip HTML per page and 128 KiB gzip JavaScript in aggregate. `mise run artifact-check` checks these actual output bytes alongside metadata and accessible markup. Browser acceptance covers responsive layout, images and keyboard use. diff --git a/mise.toml b/mise.toml index f0f3782..10e6f87 100644 --- a/mise.toml +++ b/mise.toml @@ -16,7 +16,7 @@ run = "python3 \"$TOOLS_ROOT/helpers/verification.py\" build --name build --arti depends = ["install"] [tasks."artifact-check"] -run = ["python3 scripts/check-output.py", "python3 \"$TOOLS_ROOT/helpers/site-contract.py\" dist"] +run = ["python3 scripts/check-output.py", "python3 \"$TOOLS_ROOT/helpers/site-contract.py\" dist --budget scripts/site-budget.json"] depends = ["build"] [tasks."dev"] diff --git a/scripts/site-budget.json b/scripts/site-budget.json new file mode 100644 index 0000000..194d280 --- /dev/null +++ b/scripts/site-budget.json @@ -0,0 +1,6 @@ +{ + "max_total_bytes": 2097152, + "max_file_bytes": 524288, + "max_html_gzip_bytes": 65536, + "max_javascript_gzip_bytes": 131072 +} diff --git a/public/art/revik-title.png b/src/assets/revik-title.png similarity index 100% rename from public/art/revik-title.png rename to src/assets/revik-title.png diff --git a/src/pages/games.astro b/src/pages/games.astro index 3347b82..5c4be82 100644 --- a/src/pages/games.astro +++ b/src/pages/games.astro @@ -1,5 +1,7 @@ --- +import { Image } from 'astro:assets'; import octicons from '@primer/octicons'; +import revikTitle from '../assets/revik-title.png'; import Entry from '../components/Entry.astro'; import Full from '../layouts/Full.astro'; @@ -26,7 +28,7 @@ const icon = (name: keyof typeof octicons, size = 16) => octicons[name].toSVG({