Skip to content

Split CI workflow into two stages #253

Merged
paweljarosz merged 1 commit into
masterfrom
update-examples-ci
Jun 4, 2026
Merged

Split CI workflow into two stages #253
paweljarosz merged 1 commit into
masterfrom
update-examples-ci

Conversation

@paweljarosz
Copy link
Copy Markdown
Contributor

With a separate build stage for examples building touched examples.

The previous workflow combined generated-content updates, commits, Jekyll build, Pagefind indexing, and Pages deployment in one job. It also allowed multiple repository dispatch runs to update and push master concurrently, which made examples updates fragile and caused repeated push failures when another generated update landed first.

Now:

  • Update generated site: handles repository dispatch updates and pushes generated changes.
  • Build site: builds Jekyll, runs Pagefind, uploads the Pages artifact, and deploys on master.

Added workflow concurrency for generated updates so dispatch jobs that push generated content run serially.
Refreshed the checkout to latest origin/master before generating changes
Added deterministic examples imports using --examples-ref.
Added incremental examples imports using --changed-examples or --changed-examples-json.
Kept full examples import as the fallback when no changed examples payload is provided.
Made update jobs lighter by removing Jekyll/Pagefind work from the update workflow and only installing Java when needed.

Examples building is very long. This should make the update path more deterministic, reduce unnecessary examples rebuild work, and separate update failures from site build failures.

This should be merged before updates in the examples: defold/examples#187

Copy link
Copy Markdown
Contributor

@AGulev AGulev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks good, but an idea for another task: use examples as test we can run nightly to make sure everething works and maybe even runs
e.g. building it for mac and then run and make screenshots on self-hosted ci-machine

@paweljarosz
Copy link
Copy Markdown
Contributor Author

paweljarosz commented Jun 4, 2026

It looks good, but an idea for another task: use examples as test we can run nightly to make sure everething works and maybe even runs e.g. building it for mac and then run and make screenshots on self-hosted ci-machine

Yeah, great idea, I created a separate issue for it: #254

@paweljarosz paweljarosz merged commit fb5a858 into master Jun 4, 2026
1 check passed
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