Release
The Release
workflow automates the release process for the repository. It is
triggered on pushes to the main
branch and when a new tag is created.
Trigger Conditions
-
Runs on Pushes to the
main
Branch: The workflow is activated every time new commits are pushed to themain
branch. This ensures that any changes merged intomain
— either directly or through pull requests — automatically trigger the release process. This functionality ensures that themain
branch is always in a release-ready state. -
Triggers on New Git Tags: The workflow is also activated when a new Git tag is created. Tags in Git are often used to mark specific points in your repository history as being important, usually to indicate a new version release. Whenever a new tag is pushed to the repository or created through GitHub's interface, the workflow is triggered. This allows for version-specific releases and assets to be automatically generated and published.
Permissions
The workflow has write access to the repository content.
Release Drafter job
- Runs on
ubuntu-latest
. - Runs on code
push
tomain
branch or oncreate
tag. - Uses the
release-drafter/release-drafter
action to draft GitHub releases. - Requires write access to both contents and pull requests.
See the Release Drafter page for more information.
PHP Release job
- Activates if the workflow is triggered by a tag creation.
- Runs on
ubuntu-latest
. - Checks out code, caches Composer dependencies, and installs them.
- Builds and tests a PHP PHAR file using Box.
- Retrieves the tag name.
- Creates a new GitHub release and attaches the PHAR file as a release asset.
See the PHP packaging page for more information.
Node.js Release job:
- Activates if the workflow is triggered by a tag creation.
- Runs on
ubuntu-latest
. - Checks out code and sets up a Node.js environment.
- Installs npm dependencies and builds the project.