Skip to content

Common workflow - #22

Open
jostan30 wants to merge 18 commits into
mainfrom
CommonWorkflow
Open

jostan30 wants to merge 18 commits into
mainfrom
CommonWorkflow

Conversation

@jostan30

Copy link
Copy Markdown
Collaborator

This PR includes workflow that can be stored and triggered whenever required what to run a Visual Regression test and some major UI changes.

The Go backend has a single snapshot queue and build slot, so two platforms in one SDK run raced each other; each platform now gets its own job and single-platform config, with a shared build name and run-derived build number.
go.mod declares go 1.26.5; setup-go was pinned to 1.21 which refuses
to build a module requiring a newer toolchain, causing the build to
fail with 'undefined: mkdirAll' before any source was compiled.
…navailable on GitHub Actions runners, causing the build to fail with undefined: mkdirAll
The bare 'server' rule in go-backend/.gitignore matched the cmd/server/
source directory, silently excluding fs.go (which defines mkdirAll) from
the repo. Anchor the rule to /server so only the compiled binary is ignored.
…new endpoint

Add GET /build/stream SSE endpoint to the Go backend (pub/sub on BuildJob mutations)
and replace polling in useBuildStatus with an EventSource that falls back to polling
on error. Update ui-extension tests to mock /build/stream and add chrome.storage.session
to the polyfill so WorkflowRunsSection no longer crashes the snapshots page.
…robust multi-candidate locators

Recorded snapshot steps now carry Percy options and a default 4s wait, editable while recording and from the snapshots page; replay resolves multiple ranked locator candidates so recorded flows are less brittle.
if (v && v.length <= 80 && !isDynamicText(v)) out.push(attrSel(tag, attr, v));
}
const href = el.getAttribute('href');
if (href && !href.startsWith('javascript:') && href.length <= 120) {
return
}
// refuse symlinks so an artifact can never point outside the runtime dir
if fi, err := os.Lstat(p); err != nil || !fi.Mode().IsRegular() {
w.Header().Set("X-Content-Type-Options", "nosniff")
w.Header().Set("Content-Security-Policy", "default-src 'none'; sandbox")
w.Header().Set("Content-Type", "text/plain; charset=utf-8")
http.ServeFile(w, r, p)
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.

2 participants