Skip to content

Latest commit

 

History

History
91 lines (66 loc) · 3.66 KB

README.md

File metadata and controls

91 lines (66 loc) · 3.66 KB

.github

Exivity meta repository for GitHub settings

Organization profile

The profile/README.md will appear on the organization's profile.

Workflow templates

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 or main 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.