Skip to content

CI: implement tagging/deployment changes - #455

Open
rgwott wants to merge 2 commits into
ARM-software:mainfrom
rgwott:implement_deployment_change
Open

CI: implement tagging/deployment changes#455
rgwott wants to merge 2 commits into
ARM-software:mainfrom
rgwott:implement_deployment_change

Conversation

@rgwott

@rgwott rgwott commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

NOTE: as is the nature of this change, the portion that implements post-merge actions cannot be tested before the PR is merged.

After the wording change preparing for the deprecation of scheduled releases, this patch implements the changes in CI workflows to deploy the webpages and to create releases with the PDFs on every commit.

The three existing workflows (that build PDFs and the pages for correctness check, and the link check) continue to be executed for PR creation and updates (new commits).

Three new workflows are added which run only manually. Those:

  • create a release with the PDF files in GitHub's release page,
  • build the webpages, and
  • deploy the webpages to the site.

After the wording change preparing for the deprecation of scheduled
releases, this patch implements the changes in CI workflows to deploy
the webpages and to create releases with the PDFs on every commit.

The three existing workflows (that build PDFs and the pages for
correctness check, and the link check) continue to be executed for PR
creation and updates (new commits).

Three new workflows are added which run only on updates to the main
branch (PR merges and direct pushes, if any). Those:
- create a release with the PDF files in GitHub's release page,
- build the webpages, and
- deploy the webpages to the site.

@rockdreamer rockdreamer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could you try running this under act and make sure the parts other than the final publication complete? See https://nektosact.com/

Your version passed this linter https://rhysd.github.io/actionlint/ so that's good.

My comments are purely stylistic. If you can run with act, and you're confident about the ifs you added, LGTM. If you find something not quite right, I trust you'll make the right changes :)

Comment thread .github/workflows/ci.yml
with:
name: pdfs
path: pdfs
path: |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

pdfs/* ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

In this case, we are individually renaming the files to add the commit hash, and workflow artifacts are apparently necessarily packages (not individual files)

Comment thread .github/workflows/ci.yml Outdated
run: ./tools/build-github-pages.sh build

markdown-link-check:
if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/main')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Which cases does this filter out? Is it useful to filter them out?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The ifs are there to select when each workflow is executed.
build-pdfs: checks PDF correctness in PRs and allows their publishing in releases by create-release
build-github-pages: only PRs, to check pages for correctness
markdown-link-check: PRs and merges, to check links
create-release: only merges, to publish releases
build-pages-artifact: only merges, builds the pages and prepares them for deployment
deploy-pages: only merges, deploys the pages

Comment thread .github/workflows/ci.yml
name: Main build ${{ github.sha }}
target_commitish: ${{ github.sha }}
files: |
pdfs/acle-${{ steps.vars.outputs.short_sha }}.pdf

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

pdfs/*.pdf ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Same as the other comment, only that releases accept individual files

@rgwott

rgwott commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

@rockdreamer act is very interesting, I did not know about that. But I am not able to execute any workflows because of docker-in-docker.

@rgwott rgwott changed the title CI: implement deployment change CI: implement release/deployment changes Aug 20, 2026
@rockdreamer

Copy link
Copy Markdown
Contributor

Yeah, this might make some of the changes I made in the other PR clearer ;)

@mgabka

mgabka commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Can this PR be split into individual ones?

  1. Change to the build workflow and making it only about building pdfs?
  2. I separate PR allowing to build and deploy web pages on demand
  3. automation to test that pdf's and html pages are deployed after merging PR?
    this should allow to test 1 and 2 in isolation before turning the automation in-place.

Additionally, I think not would be beneficial to avoid overusing word release as we are no longer aiming to provide ACLE releases, maybe publishing/updating the document is a better wording for comments/CI jobs names.

@rgwott

rgwott commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

@mgabka In the latest commit I made it so the three checking workflows are still run in PRs and the tag/deploy workflows are only executed manually.

@rgwott rgwott changed the title CI: implement release/deployment changes CI: implement tagging/deployment changes Aug 24, 2026
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.

3 participants