Let's play with GitHub Actions!
We use this repository to test and configure GitHub Workflows prior their real usage in repositories of the Process Analytics organization.
GitHub pages environment generated by this repository
- Home: https://process-analytics.github.io/github-actions-playground/
- Typedoc API: https://process-analytics.github.io/github-actions-playground/api/
- Announce new release: post test announces on social medias (as done in the repositories of bpmn-visualization and bpmnVisualizationR)
- Delete several artifacts of the running workflow: delete temporar artifacts used during a workflow run. Useful in private repositories to reduce the billing (artifact storage).
- Deploy Documentation PR: generate a TypeDoc API documentation and upload artifact (test gh-pages content in PR)
- Deploy Documentation: generate a TypeDoc API documentation and push to github-pages
- Fill github draft releases: experiment the release-drafter configuration (used in bpmn-visualization)
- Slack send message: send a message to a Slack channel or user
- Surge preview for Pull Request: create/teardown a surge deployment when a new Pull Request is created/closed
- Surge preview for PR in several stages. This is the only known way to have a preview for PR created from forks.
- Surge preview for PR - stage 1: the first stage is to create an artifact of the site.
- Surge preview for PR - stage 2: the second stage is to deploy the artifact created in the first stage.
- Surge preview for PR - stage 3: the third stage is to teardown the deployment when the PR is closed.
- Workflow concurrency: avoid to have more than 1 workflow run at a time
- Workflow dispatch: run job depending on if the workflow is triggered from the
master
branch or another branch
TODO they are going to move in another repositories as they are not playground workflows. See #229.
- List installed software on GitHub runners: see #78 for rationale
Simulate bpmn-visualization
release, assets generation and companion repositories updates
The Release of bpmn-visualization workflow runs npm version
and pushes branch/tag on a branch with restricted rules (used in bpmn-visualization).
Then, you can run a dedicated workflow builds a fake demo, attaches it as an artifact
and sends a repository_dispatch
event to simulate notification of companion repositories as done in bpmn-visualization
.
Another workflow can be triggered manually to simulate the availability of a new version of the npm package. It will send a repository_dispatch
event that will trigger the workflow mentioned above.
NOTE: in the bpmn-visualization repository, this workflow is triggered automatically.
The event is received by the repository which triggers workflows (simulate what happen in companion repositories)
- bpmn-visualization-examples repository: download the artifact attached to the previous workflow run, then create a Pull Request
- bpmn-visualization-R repository: update bpmn-visualization assets an create a Pull Request
When a tag is pushed in this repository, a new GitHub draft release is created as it is done in bpmn-visualization-examples. See the related workflow.
The Release of bpmnVisualizationR package workflow update the README.md
file and the DESCRIPTION
file, commit the modification, and pushes branch/tag on a branch with restricted rules (used in bpmn-visualization-R).
- Dependabot configuration: as configured in repository using dependabot to update dependencies
Test to update the README of https://github.com/process-analytics/bpmn-visualization-R
The following simulates the content of the README.md
file of bpmn-visualization-R repository. This content is updated automatically during the release process.
To install a dedicated version (available versions can be found in the GitHub releases page), run:
devtools::install_github("process-analytics/[email protected]")