CI: implement tagging/deployment changes - #455
Conversation
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
left a comment
There was a problem hiding this comment.
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 :)
| with: | ||
| name: pdfs | ||
| path: pdfs | ||
| path: | |
There was a problem hiding this comment.
In this case, we are individually renaming the files to add the commit hash, and workflow artifacts are apparently necessarily packages (not individual files)
| 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') |
There was a problem hiding this comment.
Which cases does this filter out? Is it useful to filter them out?
There was a problem hiding this comment.
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
| name: Main build ${{ github.sha }} | ||
| target_commitish: ${{ github.sha }} | ||
| files: | | ||
| pdfs/acle-${{ steps.vars.outputs.short_sha }}.pdf |
There was a problem hiding this comment.
Same as the other comment, only that releases accept individual files
|
@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. |
|
Yeah, this might make some of the changes I made in the other PR clearer ;) |
|
Can this PR be split into individual ones?
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. |
|
@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. |
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: