Example: matrix-build - run a VM per each job in a matrix¶
Use this sample to test launching multiple VMs in parallel.
Certified for:
-
x86_64
-
arm64
including Raspberry Pi 4
Use a private repository if you're not using actuated yet
GitHub recommends using a private repository with self-hosted runners because changes can be left over from a previous run, even when using Actions Runtime Controller. Actuated uses an ephemeral VM with an immutable image, so can be used on both public and private repos. Learn why in the FAQ.
Try out the action on your agent¶
Create a new file at: .github/workflows/build.yml
and commit it to the repository.
name: CI
on:
pull_request:
branches:
- '*'
push:
branches:
- master
- main
jobs:
arkade-e2e:
name: arkade-e2e
runs-on: actuated-4cpu-12gb
strategy:
matrix:
apps: [run-job,k3sup,arkade,kubectl,faas-cli]
steps:
- name: Get arkade
run: |
curl -sLS https://get.arkade.dev | sudo sh
- name: Download app
run: |
echo ${{ matrix.apps }}
arkade get ${{ matrix.apps }}
file /home/runner/.arkade/bin/${{ matrix.apps }}
The matrix will cause a new VM to be launched for each item in the "apps" array.