Conversation
The CLI pipeline compiled to WebAssembly (cmd/epcii-wasm over the new internal/webapi) behind a static page in web/. No server, no cookies, no web storage, no service worker, no external resource; share links carry the fields only in the URL fragment and the address bar is never written automatically. UI in English and German, switchable without persistence. scripts/web-smoke.mjs loads the built wasm through Go's wasm_exec.js and compares SVG and PNG byte for byte with the CLI; it runs in ci.yml and in the new pages.yml before every deploy. The build job holds read access only; the deploy job alone gets pages/id-token write.
This branch was successfully deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The CLI pipeline compiled to WebAssembly (
cmd/epcii-wasmover the newinternal/webapi) behind a static page inweb/, deployed to GitHub Pages bypages.yml.default-src 'none'.#fragment; the address bar is never written automatically.scripts/web-smoke.mjsloads the built wasm through Go'swasm_exec.jsand compares SVG and PNG byte for byte with the CLI. It runs inci.ymland before every deploy.pages.yml: build job hascontents: readonly; the deploy job alone holdspages: write/id-token: write. Actions SHA-pinned.Verified
gofmt,go vet ./...,GOOS=js GOARCH=wasm go vet ./cmd/epcii-wasm,go test ./...green.webapi_testshown red under two mutations (PNG scale, error prefix);web-smoke.mjsshown red with a mutated CLI reference.web/dist: only the page's own five files are requested, no console messages, inline script blocked by the CSP, fragment round trip, error path, language switch, blob contents equal to the CLI output.After merge
Enable Pages with source "GitHub Actions" (
gh api -X POST repos/bmmmm/epcii/pages -f build_type=workflow), then the firstpagesrun publishes https://bmmmm.github.io/epcii/.