workflows: Use ARM runners (#405943)

+1 -1
.github/workflows/backport.yml
···
backport:
name: Backport Pull Request
if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event.action != 'labeled' || startsWith(github.event.label.name, 'backport'))
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
steps:
# Use a GitHub App to create the PR so that CI gets triggered
# The App is scoped to Repository > Contents and Pull Requests: write for Nixpkgs
+1 -1
.github/workflows/check-cherry-picks.yml
···
jobs:
check:
name: cherry-pick-check
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+1 -1
.github/workflows/check-format.yml
···
nixos:
name: fmt-check
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
needs: get-merge-commit
if: needs.get-merge-commit.outputs.mergedSha
steps:
+4
.github/workflows/check-shell.yml
···
include:
- runner: ubuntu-24.04
system: x86_64-linux
+
- runner: ubuntu-24.04-arm
+
system: aarch64-linux
+
- runner: macos-13
+
system: x86_64-darwin
- runner: macos-14
system: aarch64-darwin
+2 -2
.github/workflows/codeowners-v2.yml
···
# Check that code owners is valid
check:
name: Check
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
needs: get-merge-commit
if: github.repository_owner == 'NixOS' && needs.get-merge-commit.outputs.mergedSha
steps:
···
# Request reviews from code owners
request:
name: Request
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
if: github.repository_owner == 'NixOS'
steps:
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
+1 -1
.github/workflows/eval-aliases.yml
···
eval-aliases:
name: Eval nixpkgs with aliases enabled
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
needs: [ get-merge-commit ]
steps:
- name: Check out the PR at the test merge commit
+8 -8
.github/workflows/eval.yml
···
attrs:
name: Attributes
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
needs: get-merge-commit
if: needs.get-merge-commit.outputs.mergedSha
outputs:
···
outpaths:
name: Outpaths
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
needs: [ attrs, get-merge-commit ]
strategy:
fail-fast: false
···
steps:
- name: Enable swap
run: |
-
sudo fallocate -l 10G /swapfile
-
sudo chmod 600 /swapfile
-
sudo mkswap /swapfile
-
sudo swapon /swapfile
+
sudo fallocate -l 10G /swap
+
sudo chmod 600 /swap
+
sudo mkswap /swap
+
sudo swapon /swap
- name: Download the list of all attributes
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
···
process:
name: Process
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
needs: [ outpaths, attrs, get-merge-commit ]
outputs:
targetRunId: ${{ steps.targetRunId.outputs.targetRunId }}
···
# Separate job to have a very tightly scoped PR write token
tag:
name: Tag
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
needs: [ attrs, process ]
if: needs.process.outputs.targetRunId
permissions:
+1 -1
.github/workflows/get-merge-commit.yml
···
jobs:
resolve-merge-commit:
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
outputs:
mergedSha: ${{ steps.merged.outputs.mergedSha }}
steps:
+1 -1
.github/workflows/labels.yml
···
jobs:
labels:
name: label-pr
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')"
steps:
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
+6 -6
.github/workflows/manual-nixos-v2.yml
···
strategy:
fail-fast: false
matrix:
-
system:
-
- x86_64-linux
-
- aarch64-linux
-
runs-on: >-
-
${{ (matrix.system == 'x86_64-linux' && 'ubuntu-24.04')
-
|| (matrix.system == 'aarch64-linux' && 'ubuntu-24.04-arm') }}
+
include:
+
- runner: ubuntu-24.04
+
system: x86_64-linux
+
- runner: ubuntu-24.04-arm
+
system: aarch64-linux
+
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
+1 -1
.github/workflows/manual-nixpkgs-v2.yml
···
jobs:
nixpkgs:
name: nixpkgs-manual-build
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
+1 -1
.github/workflows/nix-parse-v2.yml
···
tests:
name: nix-files-parseable-check
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
needs: get-merge-commit
if: "needs.get-merge-commit.outputs.mergedSha && !contains(github.event.pull_request.title, '[skip treewide]')"
steps:
+1 -1
.github/workflows/no-channel.yml
···
startsWith(github.event.pull_request.base.ref, 'nixos-') ||
startsWith(github.event.pull_request.base.ref, 'nixpkgs-')
name: "This PR is targeting a channel branch"
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
steps:
- run: |
cat <<EOF
+1 -1
.github/workflows/periodic-merge.yml
···
jobs:
merge:
-
runs-on: ubuntu-24.04
+
runs-on: ubuntu-24.04-arm
name: ${{ inputs.from }} → ${{ inputs.into }}
steps:
# Use a GitHub App to create the PR so that CI gets triggered