On every PR, a workflow is started to check if artifacts should be built. This happens not only once, but many times, e.g. for every selected reviewer. Since the workflow has `cancel-in-progress` enabled, workflows are started and immediately cancelled by the next one, resulting in many notifications. Move the `cancel-in-progress` concurrency policy to the second job which starts only after a check is done if the 'Build' label is even active on the PR. This should greatly reduce "Workflow cancelled" notifications via GitHub and email (if enabled by the user). Also make wording more clear. |
||
|---|---|---|
| .. | ||
| build-artifacts-pr.yml | ||
| build-board-list.yml | ||
| build-train.yml | ||
| forked-helper.yml | ||
| kernel-security-analysis-pr.yml | ||
| labeler.yml | ||
| labels-from-yml.yml | ||
| lint-scripts-pr.yml | ||
| open-jira-ticket.yml | ||
| pr-size-labeler.yml | ||
| README.md | ||
| rebase.yml | ||
| scorecard.yml | ||
Runners requirements
- big (6-16 cores, 64Gb SSD, 16Gb memory, 2Gb swap)
- small (4 cores, 64Gb SSD, 8Gb memory, 2Gb swap)
Preparation
Adding x86 runner to your Jammy VM (check here if any changes):
$ mkdir actions-runner
$ cd actions-runner
$ curl -o actions-runner-linux-x64-2.294.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.294.0/actions-runner-linux-x64-2.294.0.tar.gz
$ tar xzf ./actions-runner-linux-x64-2.294.0.tar.gz
Configuration
Once asked, tag your runner accordingly:
- small
- big
- arm64
Start the configuration experience
$ ./config.sh --url https://github.com/armbian --token XXXXXXXXXXXXXXXXXXXXXXXXXXX
You need to get a valid token from our DevOps team to proceed.
Create startup scripts
sudo ./svc.sh install # install
sudo ./svc.sh start # start
sudo ./svc.sh status # check
Use workflows in forked repositories
forked-helper.yml workflow helper can help to run custom workflows on the forked repositories.
- Create a fine-grained Personal Access Token (PAT) with the
reposcope and store it as a secret. It needs the following permissions on the target repositories:contents: read & writemetadata: read only (automatically selected when selecting the contents permission)
- Create a secret named
ARMBIAN_SELF_DISPATCH_TOKENon your repository withsecurity_eventspermissions. To do this, head to your forked repository, go toSettingson the top bar, selectSecrets and variablesand thenActions. From here you can create a new repository secret.Name:ARMBIAN_SELF_DISPATCH_TOKENSecret: Paste your fine-grained Personal Access Token that you created in step 1 here
- Helper will dispatch
repository_dispatcheventarmbianonpush,release,deployment,pull_requestandworkflow_dispatchevents. All needed event details you can find inclient_payloadproperty of the event. - Create empty default branch in forked repository
- Create workflow with
repository_dispatchin default branch. - Run any need actions in this workflow.
Workflow example:
name: Test Armbian dispatch
on:
repository_dispatch:
types: ["armbian"]
jobs:
show-dispatch:
name: Show dispatch event details
runs-on: ubuntu-latest
steps:
- uses: hmarr/debug-action@v2