armbian-build/.github/workflows
2024-06-09 16:30:45 +00:00
..
build-artifacts-pr.yml actions: Don't start build workflow on PR 'reviewer_requested' trigger 2024-06-09 16:30:45 +00:00
build-board-list.yml build(deps): bump peter-evans/repository-dispatch from 2 to 3 2024-01-29 19:42:37 +01:00
build-train.yml build(deps): bump peter-evans/repository-dispatch from 2 to 3 2024-01-29 19:42:37 +01:00
forked-helper.yml GH Actions: forked-helper: Fix deprecated ::set-output, fix 404 link 2024-03-09 20:03:52 +01:00
kernel-security-analysis-pr.yml build(deps): bump tj-actions/changed-files from 43 to 44 2024-04-01 20:46:29 +02:00
labeler.yml actions: Combine PR labeling jobs into a single workflow 2024-06-09 16:30:45 +00:00
labels-from-yml.yml Enable workflow_dispatch command for labels regenerate 2024-01-30 13:17:39 +01:00
lint-scripts-pr.yml actions: Don't run shellcheck if PR message or title was updated 2024-06-09 16:30:45 +00:00
open-jira-ticket.yml Open a Jira ticket when GitHub issue is raised (#4887) 2023-03-02 19:09:55 +01:00
README.md GH Actions: Update README.md on how to create and use ARMBIAN_SELF_DISPATCH_TOKEN 2024-03-09 20:03:52 +01:00
rebase.yml build(deps): bump actions/checkout from 3 to 4 2023-09-06 13:09:07 +02:00
scorecard.yml build(deps): bump ossf/scorecard-action from 2.3.1 to 2.3.3 2024-05-14 06:12:51 +01:00

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.

  1. Create a fine-grained Personal Access Token (PAT) 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:

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