Skip to content

ci(docs): publish on release and stop fork PRs failing on comment#850

Merged
michalharakal merged 1 commit into
developfrom
feature/docs-fork-comment-and-release-deploy
Jul 21, 2026
Merged

ci(docs): publish on release and stop fork PRs failing on comment#850
michalharakal merged 1 commit into
developfrom
feature/docs-fork-comment-and-release-deploy

Conversation

@michalharakal

Copy link
Copy Markdown
Contributor

What

Two documentation-workflow fixes.

docs.yml — publish docs on release

  • Deploy the Antora site to GitHub Pages on release: published instead of on every push to develop, so the live site tracks the last released version.
  • build-docs still runs on PRs/pushes for validation; only the deploy trigger moved.
  • The release event is immune to the paths: filter and checks out the released commit, where generateDocs/dokkaGenerate run live against the working tree — so no generated pages need to be committed. Single-version for now.

documentation.yml — stop fork PRs failing on the preview comment

Why

  • Under heavy development, the public docs site should reflect the last release, not drift ahead on every develop push.
  • Fork PRs that touch docs were showing a red X on an unrelated, non-fatal step.

Scope / follow-up

Testing notes

  • YAML validated for both workflows; merge conflict against develop's newly SHA-pinned actions resolved (kept the pinned github-script SHA).
  • The release-deploy path can only be fully exercised by publishing a release; build-docs continues to run on this PR.

Two documentation-workflow fixes:

docs.yml: deploy the Antora site to GitHub Pages on `release: published`
instead of on every push to develop, so the live site tracks the last
released version. `build-docs` still runs on PRs/pushes for validation.
The release event is immune to the `paths:` filter and checks out the
released commit, where generateDocs/dokkaGenerate run live, so no
generated pages need to be committed.

documentation.yml: the "Create PR comment with preview link" step failed
on fork PRs because such PRs get a read-only GITHUB_TOKEN regardless of
the workflow's permissions block. Guard the step to same-repo PRs and
mark it continue-on-error so a missing comment never fails the run.
@github-actions

Copy link
Copy Markdown

📖 Documentation Preview

The documentation has been built successfully for this PR.

Generated Files:

  • Operator documentation: docs/modules/operators/_generated_/
  • JSON schema output: operators.json

Artifacts:

  • Download the documentation-preview-850 artifact to view the complete documentation locally.

This comment will be updated automatically when the PR is updated.

@michalharakal
michalharakal requested review from MacOS and aharakal July 21, 2026 08:27
@michalharakal
michalharakal merged commit 5927b7a into develop Jul 21, 2026
11 of 12 checks passed
@michalharakal
michalharakal deleted the feature/docs-fork-comment-and-release-deploy branch July 21, 2026 13:07
MacOS pushed a commit to MacOS/SKaiNET that referenced this pull request Jul 22, 2026
…akes

The single build-job ran `assemble allTests` in one ubuntu-latest job.
On a 7 GB runner the combined peak memory (Gradle JVM + Kotlin daemon +
per-target test forks + Node for JS/Wasm + native toolchain, all at
once) intermittently exceeded physical RAM. The runner was OOM-killed
and GitHub reported "The operation was canceled" after ~15 min with no
BUILD FAILED — the flaky ~20-minute red builds (seen on PRs SKaiNET-developers#850, SKaiNET-developers#852).

Changes:
- Split the test run into a matrix of three legs (jvm / js-wasm /
  native), each running one target family so no single job holds the
  whole footprint. Legs run in parallel, so wall-clock is the slowest
  leg instead of the sum.
- Run `assemble` as its own memory-light job, preserving the
  build/package guarantee for all targets.
- Add Gradle dependency/wrapper caching to each job (same pattern as
  docs.yml) so parallel legs don't cold-download the dependency graph.
- Capture the memory snapshot on `cancelled()` as well as `failure()`
  — an OOM-killed runner reports cancelled, not failed, so the existing
  diagnostic never fired on the runs that needed it.
- Keep an aggregate `build-job` gate with the same name so the existing
  required status check keeps working without re-pointing branch
  protection.

No production code changed; allTests passes locally.
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