Exivity meta repository for GitHub settings
The profile/README.md
will appear on the
organization's profile.
To add one of these example workflows to a repository: go to the Actions tab, then click on the New workflow button and scroll down the By Exivity section.
Example build workflow for Go repositories. Modify where needed to support repositories in different languages.
In order to run the acceptance tests (on scaffold) before merging changes to the development/release branches, we can use the accept action from the actions repository. There are two approaches to using this action:
Run on request
This is the recommended approach. The acceptance tests will run under these
conditions:
- If commit is part of a pull requests, require review request from @exivity-bot
- If commit is not on the
master
ormain
branch
In practice, we run the tests on the develop
branch (if there is one) and in
pull requests after requesting a review from @exivity-bot.
It requires a separate accept workflow. See example workflow in workflow-templates/accept.yml
Note: because it runs as a separate workflow, we need to specify the workflow
where artefacts are generated. In the accept workflow, set the value of
on.workflow_run.workflows
to the workflow name (!) of the artefact-generating
workflow. Due to a GitHub limitation, also make sure the job in the build
workflow has the same name to prevent problems with detecting the workflow status.
workflow_run:
workflows: ['build']
Run on each commit
This is the most straight-forward approach and you can include the action in
your build workflow:
name: build
on: push
jobs:
build:
steps:
# ...
- uses: exivity/actions/accept@main
with:
gh-token: ${{ secrets.GH_BOT_TOKEN }}
This is not very efficient, however, as the acceptance tests take ~30mins to complete and if you push a lot of commits, you might want some more control over when the tests run. This is also the expensive option as the platform running the tests is a metered service.
VirusTotal check workflow for the virustotal action.
Workflow to check for semantic PR titles using the semantic-pull-request action.
Purge the GitHub Container Registry when a branch or tag is deleted. Uses the purge-ghcr action.
Repositories in the Exivity organisation can use the
sync-defaults action to sync
repository settings with the default settings for Exivity.
Setup this workflow to sync periodically and when making changes to the local
overrides file .github/settings.yml
.