An open API service indexing awesome lists of open source software.

https://github.com/process-analytics/github-actions-playground

Let's play with GitHub Actions!
https://github.com/process-analytics/github-actions-playground

Last synced: 10 days ago
JSON representation

Let's play with GitHub Actions!

Awesome Lists containing this project

README

          

# github-actions-playground

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](https://github.com/process-analytics).

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/

## Miscellaneous

- [Announce new release](.github/workflows/announce-new-release.yml): post test announces on social medias (as done in the repositories of bpmn-visualization and bpmnVisualizationR)
- [Delete several artifacts of the running workflow](.github/workflows/delete-artifacts-of-workflow.yml): delete temporar artifacts used during a workflow run. Useful in private repositories to reduce the billing (artifact storage).
- [Deploy Documentation PR](.github/workflows/deploy-documentation-pr.yml): generate a TypeDoc API documentation and upload artifact (test gh-pages content in PR)
- [Deploy Documentation](.github/workflows/deploy-documentation.yml): generate a TypeDoc API documentation and push to github-pages
- [Fill github draft releases](.github/workflows/fill-gh-draft-release.yml): experiment the release-drafter configuration (used in bpmn-visualization)
- [Slack send message](.github/workflows/slack-send-message.yml): send a message to a Slack channel or user
- [Surge preview for Pull Request](.github/workflows/surge-preview-for-pr.yml): 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](.github/workflows/surge-pr-fork-01-build.yml): the first stage is to create an artifact of the site.
- [Surge preview for PR - stage 2](.github/workflows/surge-pr-fork-02-deploy.yml): the second stage is to deploy the artifact created in the first stage.
- [Surge preview for PR - stage 3](.github/workflows/surge-pr-fork-03-teardown.yml): the third stage is to teardown the deployment when the PR is closed.
- [Workflow concurrency](.github/workflows/workflow-concurrency.yml): avoid to have more than 1 workflow run at a time
- [Workflow dispatch](.github/workflows/workflow-dispatch.yml): run job depending on if the workflow is triggered from the `master` branch or another branch

## Administrative tasks

**TODO they are going to move in another repositories as they are not playground workflows.** See [#229](https://github.com/process-analytics/github-actions-playground/issues/229).

- [List installed software on GitHub runners](.github/workflows/list-installed-packages-and-tools.yml): see [#78](https://github.com/process-analytics/github-actions-playground/pull/78) for rationale

## Release simulation

### `bpmn-visualization`

Simulate `bpmn-visualization` release, assets generation and companion repositories updates

The [Release of bpmn-visualization](.github/workflows/release-bpmn_visualization.yml) 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](.github/workflows/post-release-upload-demo-archive-and-trigger-companion-repositories-update.yml) 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](.github/workflows/post-release-simulate-new-version-available-on-npm.yml) 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](.github/workflows/post-release-update_bpmn_visualization_version_in_Examples_repo.yml): download the artifact attached to the previous workflow run, then create a Pull Request
- [bpmn-visualization-R repository](.github/workflows/post-release-update_bpmn_visualization_version_in_R_repo.yml): update bpmn-visualization assets an create a Pull Request

### bpmn-visualization-examples

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](.github/workflows/post-release-create-gh-release_Examples_repo.yml).

### bpmnVisualizationR

The [Release of bpmnVisualizationR package](.github/workflows/release-R.yml) 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](https://github.com/process-analytics/bpmn-visualization-R)).

## Extra

- [Dependabot configuration](.github/dependabot.yml): 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](https://github.com/process-analytics/bpmn-visualization-R) repository. This content is updated automatically during the release process.

#### Install _bpmnVisualizationR_ from GitHub

To install a dedicated version (available versions can be found in the [GitHub releases page](https://github.com/process-analytics/bpmn-visualization-R/releases)), run:
```r
devtools::install_github("process-analytics/bpmn-visualization-R@v3.0.2")
```