GitHub Actions¶
This project uses several GitHub Actions workflows to automate testing, releases, and documentation. Access to these workflows varies based on user permissions.
For the actual definition of the workflows refer to the repository source.
Workflow Summaries¶
- test.yml – Runs the full test suite via
make teston pull requests and pushes to themainbranch. It also generates SimpleCov coverage badges when changes are pushed tomain. - e2e-tests.yml – Runs end-to-end Cypress tests on pull requests and pushes to
mainwhenapplication/ore2e_tests/directories change. Builds the application, starts the test environment, and uploads test artifacts on failure. - guide.yml – Builds this guide using
make guideand deploys it to GitHub Pages whenever documentation underdocs/guidechanges onmain. - build_from_hash.yml – Reusable workflow called by other workflows to build Loop from a specific commit hash for QA or release candidate deployments.
- create_release_candidate.yml – Triggered via a
/create_release_candidateissue comment. Validates the issue, then usesbuild_from_hash.ymlto build a release candidate branch for testing (no deployment). - create_release.yml – Triggered via a
/create_releaseissue comment. After verifying the last release candidate succeeded and was approved, it callsrelease.ymlto tag and publish the release. - release.yml – Internal workflow used by
create_release.ymlto run tests, bump the version file, create a Git tag, and generate GitHub release notes. - label_issues_on_release.yml – Runs when Release is created. It labels closed issues with
released:<tag>so they can be tracked easily. It can also be run manually with a tag. - slash_command_listener.yml – Listens for issue comments containing
/create_release_candidateor/create_release. Only authorized users may invoke these commands, which dispatch the respective workflows above.
These workflows ensure that code is automatically tested, releases are repeatable, and the documentation site stays up to date.