Skip to content

Commit 55b2b4b

Browse files
authored
Merge pull request #74 from photon-hq/ENG-1319-Opt-In-Photon-Into-Blacksmith
ci: route photon-hq ubuntu-latest jobs to Blacksmith, fall back to ub…
2 parents 0219a08 + 5ef6ab3 commit 55b2b4b

14 files changed

Lines changed: 112 additions & 46 deletions

.github/workflows/check-readme.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,19 @@ on:
88
type: boolean
99
default: false
1010
description: 'If true, fail the workflow when the README is outdated. If false (default), only post a warning comment.'
11+
use-blacksmith:
12+
required: false
13+
type: boolean
14+
default: false
15+
description: 'Opt in to Blacksmith Linux runners (blacksmith-4vcpu-ubuntu-2404). Requires the Blacksmith GitHub App installed on the caller org. Defaults to ubuntu-latest.'
1116
secrets:
1217
OPENAI_API_KEY:
1318
required: true
1419
description: 'OpenAI API key for AI-powered README analysis'
1520

1621
jobs:
1722
check-readme:
18-
runs-on: blacksmith-4vcpu-ubuntu-2404
23+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
1924
permissions:
2025
contents: read
2126
pull-requests: write

.github/workflows/check-skills.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ on:
1313
type: string
1414
default: 'photon-hq/skills'
1515
description: 'The skills repository to check against (owner/repo format)'
16+
use-blacksmith:
17+
required: false
18+
type: boolean
19+
default: false
20+
description: 'Opt in to Blacksmith Linux runners (blacksmith-4vcpu-ubuntu-2404). Requires the Blacksmith GitHub App installed on the caller org. Defaults to ubuntu-latest.'
1621
secrets:
1722
OPENAI_API_KEY:
1823
required: true
@@ -23,7 +28,7 @@ on:
2328

2429
jobs:
2530
check-skills:
26-
runs-on: ubuntu-latest
31+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
2732
permissions:
2833
contents: read
2934
pull-requests: write

.github/workflows/dylib-release.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,18 @@ on:
1818
type: string
1919
required: true
2020
description: "Directory containing the Podfile"
21+
use-blacksmith:
22+
type: boolean
23+
required: false
24+
default: false
25+
description: "Opt in to Blacksmith Linux runners (blacksmith-4vcpu-ubuntu-2404). Requires the Blacksmith GitHub App installed on the caller org. Defaults to ubuntu-latest."
2126
secrets:
2227
OPENAI_API_KEY:
2328
required: true
2429

2530
jobs:
2631
check-labels:
27-
runs-on: ubuntu-latest
32+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
2833
permissions:
2934
pull-requests: read
3035
contents: read
@@ -40,7 +45,7 @@ jobs:
4045
prepare-release:
4146
needs: check-labels
4247
if: fromJSON(needs.check-labels.outputs.labels).release
43-
runs-on: ubuntu-latest
48+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
4449
permissions:
4550
contents: write
4651
outputs:
@@ -79,7 +84,7 @@ jobs:
7984

8085
github-release:
8186
needs: [build, prepare-release]
82-
runs-on: ubuntu-latest
87+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
8388
permissions:
8489
contents: write
8590
steps:

.github/workflows/go-service-release.yaml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ on:
5151
required: false
5252
default: ""
5353
description: "Formula name in the tap to update (e.g., 'blackhole'). Required if tap-repo is set."
54+
use-blacksmith:
55+
type: boolean
56+
required: false
57+
default: false
58+
description: "Opt in to Blacksmith Linux runners (blacksmith-4vcpu-ubuntu-2404). Requires the Blacksmith GitHub App installed on the caller org. Defaults to ubuntu-latest."
5459
secrets:
5560
OPENAI_API_KEY:
5661
required: true
@@ -64,7 +69,7 @@ on:
6469

6570
jobs:
6671
check-labels:
67-
runs-on: ubuntu-latest
72+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
6873
permissions:
6974
pull-requests: read
7075
contents: read
@@ -80,7 +85,7 @@ jobs:
8085
release-info:
8186
needs: check-labels
8287
if: fromJSON(needs.check-labels.outputs.labels).release || inputs.release
83-
runs-on: ubuntu-latest
88+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
8489
permissions:
8590
contents: read
8691
outputs:
@@ -112,7 +117,7 @@ jobs:
112117
os: macos-latest
113118
- goos: linux
114119
goarch: amd64
115-
os: ubuntu-latest
120+
os: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
116121
steps:
117122
- uses: actions/checkout@v5
118123
- name: Go Build
@@ -132,7 +137,7 @@ jobs:
132137
github-release:
133138
needs: [check-labels, release-info, build]
134139
if: fromJSON(needs.check-labels.outputs.labels).release || inputs.release
135-
runs-on: ubuntu-latest
140+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
136141
permissions:
137142
contents: write
138143
steps:
@@ -151,7 +156,7 @@ jobs:
151156
(fromJSON(needs.check-labels.outputs.labels).release || inputs.release)
152157
&& inputs.tap-repo != ''
153158
&& inputs.tap-formula != ''
154-
runs-on: ubuntu-latest
159+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
155160
steps:
156161
- name: Update Homebrew Tap
157162
uses: photon-hq/buildspace/.github/blocks/update-tap@main

.github/workflows/makefile-dylib-release.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,18 @@ on:
66
type: string
77
required: true
88
description: "Name of the output dylib (e.g., imessage-helper)"
9+
use-blacksmith:
10+
type: boolean
11+
required: false
12+
default: false
13+
description: "Opt in to Blacksmith Linux runners (blacksmith-4vcpu-ubuntu-2404). Requires the Blacksmith GitHub App installed on the caller org. Defaults to ubuntu-latest."
914
secrets:
1015
OPENAI_API_KEY:
1116
required: true
1217

1318
jobs:
1419
check-labels:
15-
runs-on: ubuntu-latest
20+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
1621
permissions:
1722
pull-requests: read
1823
contents: read
@@ -28,7 +33,7 @@ jobs:
2833
prepare-release:
2934
needs: check-labels
3035
if: fromJSON(needs.check-labels.outputs.labels).release
31-
runs-on: ubuntu-latest
36+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
3237
permissions:
3338
contents: write
3439
outputs:
@@ -62,7 +67,7 @@ jobs:
6267

6368
github-release:
6469
needs: [build, prepare-release]
65-
runs-on: ubuntu-latest
70+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
6671
permissions:
6772
contents: write
6873
steps:

.github/workflows/pkg-release.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ on:
3333
required: false
3434
default: ""
3535
description: "Package name to match in Jamf Pro. If omitted, the tool uses the file stem of the .pkg."
36+
use-blacksmith:
37+
type: boolean
38+
required: false
39+
default: false
40+
description: "Opt in to Blacksmith Linux runners (blacksmith-4vcpu-ubuntu-2404). Requires the Blacksmith GitHub App installed on the caller org. Defaults to ubuntu-latest."
3641
secrets:
3742
OPENAI_API_KEY:
3843
required: true
@@ -43,7 +48,7 @@ on:
4348

4449
jobs:
4550
check-labels:
46-
runs-on: ubuntu-latest
51+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
4752
permissions:
4853
pull-requests: read
4954
contents: read
@@ -59,7 +64,7 @@ jobs:
5964
prepare-release:
6065
needs: check-labels
6166
if: fromJSON(needs.check-labels.outputs.labels).release
62-
runs-on: ubuntu-latest
67+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
6368
permissions:
6469
contents: write
6570
outputs:
@@ -96,7 +101,7 @@ jobs:
96101

97102
github-release:
98103
needs: [package, prepare-release]
99-
runs-on: ubuntu-latest
104+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
100105
permissions:
101106
contents: write
102107
steps:

.github/workflows/release.yaml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,19 @@ on:
1717
required: false
1818
default: false
1919
description: "Force release (overrides label)"
20+
use-blacksmith:
21+
type: boolean
22+
required: false
23+
default: false
24+
description: "Opt in to Blacksmith Linux runners (blacksmith-4vcpu-ubuntu-2404). Requires the Blacksmith GitHub App installed on the caller org. Defaults to ubuntu-latest."
2025
secrets:
2126
OPENAI_API_KEY:
2227
required: true
2328
description: "OpenAI API key for version and notes"
2429

2530
jobs:
2631
check-labels:
27-
runs-on: ubuntu-latest
32+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
2833
permissions:
2934
pull-requests: read
3035
contents: read
@@ -40,7 +45,7 @@ jobs:
4045
release-info:
4146
needs: check-labels
4247
if: fromJSON(needs.check-labels.outputs.labels).release || inputs.release
43-
runs-on: ubuntu-latest
48+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
4449
permissions:
4550
contents: read
4651
outputs:
@@ -60,7 +65,7 @@ jobs:
6065
github-release:
6166
needs: [check-labels, release-info]
6267
if: fromJSON(needs.check-labels.outputs.labels).release || inputs.release
63-
runs-on: ubuntu-latest
68+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
6469
permissions:
6570
contents: write
6671
steps:

.github/workflows/rust-service-release.yaml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ on:
5656
required: false
5757
default: ""
5858
description: "Formula name in the tap to update (e.g., 'jamf-package-updater'). Required if tap-repo is set."
59+
use-blacksmith:
60+
type: boolean
61+
required: false
62+
default: false
63+
description: "Opt in to Blacksmith Linux runners (blacksmith-4vcpu-ubuntu-2404). Requires the Blacksmith GitHub App installed on the caller org. Defaults to ubuntu-latest."
5964
secrets:
6065
OPENAI_API_KEY:
6166
required: true
@@ -72,7 +77,7 @@ on:
7277

7378
jobs:
7479
check-labels:
75-
runs-on: ubuntu-latest
80+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
7681
permissions:
7782
pull-requests: read
7883
contents: read
@@ -88,7 +93,7 @@ jobs:
8893
release-info:
8994
needs: check-labels
9095
if: fromJSON(needs.check-labels.outputs.labels).release || inputs.release
91-
runs-on: ubuntu-latest
96+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
9297
permissions:
9398
contents: read
9499
outputs:
@@ -116,7 +121,7 @@ jobs:
116121
matrix:
117122
include:
118123
- target: x86_64-unknown-linux-gnu
119-
os: ubuntu-latest
124+
os: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
120125
- target: aarch64-apple-darwin
121126
os: macos-latest
122127
- target: x86_64-pc-windows-msvc
@@ -138,7 +143,7 @@ jobs:
138143
github-release:
139144
needs: [check-labels, release-info, build]
140145
if: fromJSON(needs.check-labels.outputs.labels).release || inputs.release
141-
runs-on: ubuntu-latest
146+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
142147
permissions:
143148
contents: write
144149
steps:
@@ -156,7 +161,7 @@ jobs:
156161
crates-sync-version:
157162
needs: [check-labels, release-info]
158163
if: fromJSON(needs.check-labels.outputs.labels).release || inputs.release
159-
runs-on: ubuntu-latest
164+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
160165
permissions:
161166
contents: write
162167
steps:
@@ -174,7 +179,7 @@ jobs:
174179
crates-publish:
175180
needs: [check-labels, release-info, crates-sync-version]
176181
if: fromJSON(needs.check-labels.outputs.labels).release || inputs.release
177-
runs-on: ubuntu-latest
182+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
178183
steps:
179184
- uses: actions/checkout@v5
180185
with:
@@ -194,7 +199,7 @@ jobs:
194199
(fromJSON(needs.check-labels.outputs.labels).release || inputs.release)
195200
&& inputs.tap-repo != ''
196201
&& inputs.tap-formula != ''
197-
runs-on: ubuntu-latest
202+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
198203
steps:
199204
- name: Update Homebrew Tap
200205
uses: photon-hq/buildspace/.github/blocks/update-tap@main

.github/workflows/self-release.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
jobs:
88
check-labels:
9-
runs-on: ubuntu-latest
9+
runs-on: blacksmith-4vcpu-ubuntu-2404
1010
permissions:
1111
pull-requests: read
1212
contents: read
@@ -23,7 +23,7 @@ jobs:
2323
release-info:
2424
needs: check-labels
2525
if: fromJSON(needs.check-labels.outputs.labels).release
26-
runs-on: ubuntu-latest
26+
runs-on: blacksmith-4vcpu-ubuntu-2404
2727
permissions:
2828
contents: read
2929
outputs:
@@ -113,7 +113,7 @@ jobs:
113113
github-release:
114114
needs: [check-labels, release-info]
115115
if: fromJSON(needs.check-labels.outputs.labels).release
116-
runs-on: ubuntu-latest
116+
runs-on: blacksmith-4vcpu-ubuntu-2404
117117
permissions:
118118
contents: write
119119
steps:
@@ -136,4 +136,5 @@ jobs:
136136
skills-path: skills/buildspace
137137
release-tag: v${{ needs.release-info.outputs.version }}
138138
release-notes: ${{ needs.release-info.outputs.release_notes }}
139+
use-blacksmith: true
139140
secrets: inherit

.github/workflows/swift-release.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ on:
3838
required: false
3939
default: ""
4040
description: "Package name to match in Jamf Pro. If omitted, the tool uses the file stem of the .pkg."
41+
use-blacksmith:
42+
type: boolean
43+
required: false
44+
default: false
45+
description: "Opt in to Blacksmith Linux runners (blacksmith-4vcpu-ubuntu-2404). Requires the Blacksmith GitHub App installed on the caller org. Defaults to ubuntu-latest."
4146
secrets:
4247
SECRET_ENV_VARS:
4348
required: false
@@ -50,7 +55,7 @@ on:
5055

5156
jobs:
5257
check-labels:
53-
runs-on: ubuntu-latest
58+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
5459
permissions:
5560
pull-requests: read
5661
contents: read
@@ -66,7 +71,7 @@ jobs:
6671
prepare-release:
6772
needs: check-labels
6873
if: fromJSON(needs.check-labels.outputs.labels).release
69-
runs-on: ubuntu-latest
74+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
7075
permissions:
7176
contents: write
7277
outputs:
@@ -115,7 +120,7 @@ jobs:
115120

116121
github-release:
117122
needs: [build, prepare-release]
118-
runs-on: ubuntu-latest
123+
runs-on: ${{ inputs.use-blacksmith && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }}
119124
permissions:
120125
contents: write
121126
steps:

0 commit comments

Comments
 (0)