68 lines
2.6 KiB
Markdown
68 lines
2.6 KiB
Markdown
# 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](https://docs.github.com/en/actions/hosting-your-own-runners/adding-self-hosted-runners) 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.
|
|
|
|
1. Create a [fine-grained Personal Access Token (PAT)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) with the `repo` scope and store it as a secret. It needs the following permissions on the target repositories:
|
|
- `contents`: read & write
|
|
- `metadata`: read only (automatically selected when selecting the contents permission)
|
|
2. Create a secret named `ARMBIAN_SELF_DISPATCH_TOKEN` on your repository with `security_events` permissions. To do this, head to your forked repository, go to `Settings` on the top bar, select `Secrets and variables` and then `Actions`. From here you can create a new repository secret.
|
|
- `Name`: `ARMBIAN_SELF_DISPATCH_TOKEN`
|
|
- `Secret`: Paste your fine-grained Personal Access Token that you created in step 1 here
|
|
3. Helper will dispatch `repository_dispatch` event `armbian` on `push`, `release`, `deployment`,
|
|
`pull_request` and `workflow_dispatch` events. All needed event details you can find in `client_payload` property of the event.
|
|
4. Create empty default branch in forked repository
|
|
5. Create workflow with `repository_dispatch` in default branch.
|
|
6. Run any need actions in this workflow.
|
|
|
|
Workflow example:
|
|
```yaml
|
|
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
|
|
```
|