Skip to content

ci: CodeQL workflow, docs screenshot pipeline, and component image refs#16

Merged
maniramezan merged 6 commits into
mainfrom
chore/google-io-2026-updates
Jun 4, 2026
Merged

ci: CodeQL workflow, docs screenshot pipeline, and component image refs#16
maniramezan merged 6 commits into
mainfrom
chore/google-io-2026-updates

Conversation

@maniramezan
Copy link
Copy Markdown
Owner

Summary

  • CodeQL: adds a manual workflow (codeql.yml) replacing GitHub's broken autobuild; continue-on-error on the build step works around Kotlin 2.4.0 not yet being supported by CodeQL 2.25.5
  • Docs pipeline: merges docs.yml into ci.yml as a deploy-docs job — runs after build in the same workflow run so download-artifact works and screenshot PNGs flow into the Pages site without being committed to the repo
  • Screenshots in docs: every component page now has a screenshot image reference; absolute GitHub Pages URLs keep mkdocs build --strict passing on PRs where no PNGs are generated
  • Divider screenshot test: adds golden test for the new DividerComponentsPreview
  • mkdocs nav: adds ADR 0005 and 0006

How the screenshot pipeline works

push to main
  └── build job
        ├── ./gradlew check
        ├── ./gradlew :components:recordRoborazziDebug  (main only)
        └── upload-artifact: component-screenshots
  └── deploy-docs job  (needs: build, main only)
        ├── download-artifact: component-screenshots
        ├── cp screenshots/…/roborazzi/*.png docs/images/screenshots/
        ├── mkdocs build --strict
        └── deploy to GitHub Pages

No PNGs in the repo. Images in the docs site are always the ones generated from the latest main commit.

Test plan

  • mkdocs build --strict passes locally (external URLs not validated)
  • CI passes on this PR
  • After merge: confirm deploy-docs job runs and Pages site shows component screenshots

Merges docs.yml into ci.yml as a dependent deploy-docs job so the
component-screenshots artifact from the build job is available via
download-artifact in the same workflow run — no cross-workflow
artifact sharing needed.

- deploy-docs only runs on push to main, after build completes
- Downloads component-screenshots, copies PNGs into docs/images/screenshots/
- mkdocs build bundles the screenshots into the Pages site without
  any PNGs committed to the repo
- Screenshot image refs in docs use absolute Pages URLs so
  mkdocs build --strict passes on PRs without generated images

Also adds divider screenshot test and updates component docs pages
(actions, inputs, containers, navigation) with screenshot previews
and the new component lists. Adds ADR 0005/0006 to mkdocs nav.
CodeQL 2.25.x rejects Kotlin >= 2.3.30 at the compiler-plugin level;
the build fails with exit code 1, CodeQL captures zero code, and the
finalize step exits 32 (no code seen).

build-mode: none extracts directly from Kotlin source files without
invoking the compiler — no version check, no Gradle build required.
Coverage is slightly lower than traced compilation but the scan runs
reliably on any Kotlin version.

Remove the comment and switch back to build-mode: manual once the
CodeQL bundle adds Kotlin 2.4.x support.
@maniramezan maniramezan force-pushed the chore/google-io-2026-updates branch from 9e12d6c to e26407f Compare June 4, 2026 00:09
…2.4.x

CodeQL 2.25.5 cannot extract Kotlin 2.4.0 in either build mode:
- manual: compiler plugin rejects Kotlin >= 2.3.30
- none: extracts 0 files, exits 32 (no code seen)

Remove the pull_request trigger so the failing check no longer blocks
PRs. Scanning still runs on every push to main and weekly on schedule,
which covers the security posture. Re-add pull_request once a CodeQL
bundle with Kotlin 2.4.x support is available.
@maniramezan maniramezan merged commit 9b65a58 into main Jun 4, 2026
2 checks passed
@maniramezan maniramezan deleted the chore/google-io-2026-updates branch June 4, 2026 01:21
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.

1 participant