Skip to content

Commit aed95d5

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents 5c6b991 + 7e86738 commit aed95d5

2 files changed

Lines changed: 34 additions & 13 deletions

File tree

.github/workflows/workflow.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ on:
1616
required: false
1717
default: "."
1818
type: string
19+
fail-fast:
20+
required: false
21+
default: true
22+
type: boolean
23+
description: "Whether to cancel all in-progress jobs if any matrix job fails"
1924
runner-map:
2025
required: false
2126
type: string
@@ -93,6 +98,7 @@ jobs:
9398
runs-on: ${{ matrix.systems.runner }}
9499
needs: inventory
95100
strategy:
101+
fail-fast: ${{ inputs.fail-fast }}
96102
matrix:
97103
systems: ${{ fromJSON(needs.inventory.outputs.systems) }}
98104

README.md

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -99,25 +99,24 @@ ERROR magic_nix_cache: FlakeHub cache initialization failed: FlakeHub cache erro
9999

100100
#### GitHub Actions Runners
101101

102-
##### Standard & larger runners
102+
##### Standard and larger runners
103103

104104
By default, the CI maps the Nix systems to their equivalent GitHub-hosted runners:
105105

106-
| | macOS (Apple Silicon) | ARM Linux | macOS (Intel) | x86 Linux |
107-
|---|---|---|---|---|
108-
| Flake `system:` (Nix build platform) | `aarch64-darwin` | `aarch64-linux` | `x86_64-darwin` | `x86_64-linux` |
106+
| | macOS (Apple Silicon) | ARM Linux | macOS (Intel) | x86 Linux |
107+
| ------------------------------------------------- | ------------------------------------ | --------------------------- | ------------------------------------ | --------------------------- |
108+
| Flake `system` (Nix build platform) | `aarch64-darwin` | `aarch64-linux` | `x86_64-darwin` | `x86_64-linux` |
109109
| [GitHub Actions Runner][runners] (workflow label) | `macos-latest` (using Apple Silicon) | `ubuntu-latest` (using x86) | `macos-latest` (using Apple Silicon) | `ubuntu-latest` (using x86) |
110110

111-
> [!INFO]
111+
> [!NOTE]
112112
> There is also a [standard ARM Linux runner][runners-linux-arm] `ubuntu-24.04-arm`, currently in public preview and only supported on public repositories.
113113
> To use it, supply your own runner map as shown below.
114-
> To use ARM Linux runners on private repositories, you need a non-standard runners, as shown below.
114+
> To use ARM Linux runners on private repositories, you need non-standard runners, as shown below.
115115

116-
##### Non-Standard runners
116+
##### Non-standard runners
117117

118118
You can also use several types of non-standard runners by providing a custom runner map.
119-
120-
For example, this runner-map enables the [larger GitHub runners for macOS][runners-large-macos]:
119+
For example, this runner map enables the [larger GitHub runners for macOS][runners-large-macos]:
121120

122121
```yaml
123122
jobs:
@@ -135,7 +134,7 @@ jobs:
135134
```
136135

137136
> [!TIP]
138-
> Using `macos-latest-large` is currently the only way to run *current* macOS on Intel architecture.
137+
> Using `macos-latest-large` is currently the only way to run _current_ macOS on Intel architecture.
139138

140139
The other two types of runners are those provisioned on your own infrastructure, and [larger Ubuntu (not macOS) runners][runners-large] with bespoke specs (for example, 64 CPUs, 128GB RAM) hosted by GitHub.
141140
Confusingly, GitHub sometimes refers to both of these as "self-hosted" runners.
@@ -146,9 +145,9 @@ Confusingly, GitHub sometimes refers to both of these as "self-hosted" runners.
146145
>
147146
> ```diff
148147
> jobs:
149-
> DeterminateCI:
150-
> - uses: DeterminateSystems/ci/.github/workflows/workflow.yml@main
151-
> + uses: $YOURORG/ci/.github/workflows/workflow.yml@main
148+
> DeterminateCI:
149+
> - uses: DeterminateSystems/ci/.github/workflows/workflow.yml@main
150+
> + uses: $YOURORG/ci/.github/workflows/workflow.yml@main
152151
> ```
153152
>
154153
> Replace `$YOURORG` with your own organisation or user.
@@ -172,6 +171,22 @@ jobs:
172171
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
173172
```
174173

174+
#### Continue on failure
175+
176+
By default, if any build in the matrix fails, the workflow will cancel all remaining in-progress jobs.
177+
You can change this behavior by setting `fail-fast` to `false`:
178+
179+
```yaml
180+
jobs:
181+
DeterminateCI:
182+
uses: DeterminateSystems/ci/.github/workflows/workflow.yml@main
183+
permissions:
184+
id-token: write
185+
contents: read
186+
with:
187+
fail-fast: false
188+
```
189+
175190
## Notes
176191

177192
This workflow uses a collection of GitHub Actions by Determinate Systems, all of which are covered by the Determinate Systems [privacy policy][privacy] and [terms of service][tos].

0 commit comments

Comments
 (0)