Files
build/.github/workflows
Koichi Murase 1fdd801908 actions(update-tools): avoid notifying our outdated deps everywhere
In the current main branch, workflow update-tools includes the content
of the upstream release notes in the created GitHub Issue.  This
triggers a notification to every upstream contributor mentioned in the
release note.  This also creates a cross-reference link to our GitHub
Issue (reporting that our dependency is not up-to-date) in every
upstream issue and pull request.  The information that we need to
update our dependency is not relavant to the upstream contributors,
issues, and pull requests at all.  We should avoid this situation.

In the first place, we do not need to include a copy of the upstream
release note.  We can just put a link to the upstream release note.
Currently, we anyway hide the content in the <details> tag and require
the reader to press the button.  The user experience is not so
different from pressing a link and visiting the upstream release note.
2025-01-21 13:26:44 +01:00
..
2024-11-01 09:01:28 +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