Skip to content

Commit 3504934

Browse files
author
Eric Luce
committed
ci: reuse publish-any-commit checks for release PRs
1 parent b9e24bc commit 3504934

3 files changed

Lines changed: 153 additions & 101 deletions

File tree

Lines changed: 4 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,10 @@
11
name: Publish Any Commit
2+
23
on:
34
push:
45
pull_request:
56

6-
env:
7-
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
8-
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
9-
107
jobs:
11-
lint:
12-
13-
runs-on: ubuntu-latest
14-
steps:
15-
- name: Checkout code
16-
uses: actions/checkout@v4
17-
18-
- run: corepack enable
19-
- uses: actions/setup-node@v4
20-
with:
21-
node-version: 22
22-
cache: "pnpm"
23-
24-
- name: Install dependencies
25-
run: pnpm install --frozen-lockfile
26-
27-
- name: Lint
28-
run: pnpm lint
29-
30-
typecheck:
31-
32-
runs-on: ubuntu-latest
33-
steps:
34-
- name: Checkout code
35-
uses: actions/checkout@v4
36-
37-
- run: corepack enable
38-
- uses: actions/setup-node@v4
39-
with:
40-
node-version: 22
41-
cache: "pnpm"
42-
43-
- name: Install dependencies
44-
run: pnpm install --frozen-lockfile
45-
46-
- name: Type Check
47-
run: pnpm typecheck
48-
49-
test:
50-
51-
runs-on: ubuntu-latest
52-
steps:
53-
- name: Checkout code
54-
uses: actions/checkout@v4
55-
56-
- run: corepack enable
57-
- uses: actions/setup-node@v4
58-
with:
59-
node-version: 22
60-
cache: "pnpm"
61-
62-
- name: Install dependencies
63-
run: pnpm install --frozen-lockfile
64-
65-
- name: Run Deterministic Contract Tests
66-
run: pnpm test
67-
68-
build:
69-
70-
runs-on: ubuntu-latest
71-
steps:
72-
- name: Checkout code
73-
uses: actions/checkout@v4
74-
75-
- run: corepack enable
76-
- uses: actions/setup-node@v4
77-
with:
78-
node-version: 22
79-
cache: "pnpm"
80-
81-
- name: Install dependencies
82-
run: pnpm install --frozen-lockfile
83-
84-
- name: Build
85-
run: pnpm build
86-
87-
publish:
88-
89-
runs-on: ubuntu-latest
90-
needs: [lint, typecheck, test, build]
91-
steps:
92-
- name: Checkout code
93-
uses: actions/checkout@v4
94-
95-
- run: corepack enable
96-
- uses: actions/setup-node@v4
97-
with:
98-
node-version: 22
99-
cache: "pnpm"
100-
101-
- name: Install dependencies
102-
run: pnpm install --frozen-lockfile
103-
104-
- name: Build
105-
run: pnpm build
106-
107-
- run: pnpm dlx pkg-pr-new publish './packages/*' --packageManager=pnpm
8+
publish-any-commit:
9+
uses: ./.github/workflows/publish-any-commit-reusable.yml
10+
secrets: inherit
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
name: Publish Any Commit Reusable
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
ref:
7+
description: Git ref to checkout for validation and preview publishing
8+
required: false
9+
type: string
10+
11+
env:
12+
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
13+
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
14+
15+
jobs:
16+
lint:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout code
20+
uses: actions/checkout@v6
21+
with:
22+
ref: ${{ inputs.ref || github.sha }}
23+
24+
- name: Enable Corepack
25+
run: corepack enable
26+
27+
- name: Setup Node.js 22.x
28+
uses: actions/setup-node@v6
29+
with:
30+
node-version: 22
31+
cache: pnpm
32+
33+
- name: Install dependencies
34+
run: pnpm install --frozen-lockfile
35+
36+
- name: Lint
37+
run: pnpm lint
38+
39+
- name: Check skill versions
40+
run: pnpm skill:check-versions
41+
42+
typecheck:
43+
runs-on: ubuntu-latest
44+
steps:
45+
- name: Checkout code
46+
uses: actions/checkout@v6
47+
with:
48+
ref: ${{ inputs.ref || github.sha }}
49+
50+
- name: Enable Corepack
51+
run: corepack enable
52+
53+
- name: Setup Node.js 22.x
54+
uses: actions/setup-node@v6
55+
with:
56+
node-version: 22
57+
cache: pnpm
58+
59+
- name: Install dependencies
60+
run: pnpm install --frozen-lockfile
61+
62+
- name: Type Check
63+
run: pnpm typecheck
64+
65+
test:
66+
runs-on: ubuntu-latest
67+
steps:
68+
- name: Checkout code
69+
uses: actions/checkout@v6
70+
with:
71+
ref: ${{ inputs.ref || github.sha }}
72+
73+
- name: Enable Corepack
74+
run: corepack enable
75+
76+
- name: Setup Node.js 22.x
77+
uses: actions/setup-node@v6
78+
with:
79+
node-version: 22
80+
cache: pnpm
81+
82+
- name: Install dependencies
83+
run: pnpm install --frozen-lockfile
84+
85+
- name: Run Deterministic Contract Tests
86+
run: pnpm test
87+
88+
build:
89+
runs-on: ubuntu-latest
90+
steps:
91+
- name: Checkout code
92+
uses: actions/checkout@v6
93+
with:
94+
ref: ${{ inputs.ref || github.sha }}
95+
96+
- name: Enable Corepack
97+
run: corepack enable
98+
99+
- name: Setup Node.js 22.x
100+
uses: actions/setup-node@v6
101+
with:
102+
node-version: 22
103+
cache: pnpm
104+
105+
- name: Install dependencies
106+
run: pnpm install --frozen-lockfile
107+
108+
- name: Build
109+
run: pnpm build
110+
111+
publish:
112+
runs-on: ubuntu-latest
113+
needs: [lint, typecheck, test, build]
114+
steps:
115+
- name: Checkout code
116+
uses: actions/checkout@v6
117+
with:
118+
ref: ${{ inputs.ref || github.sha }}
119+
120+
- name: Enable Corepack
121+
run: corepack enable
122+
123+
- name: Setup Node.js 22.x
124+
uses: actions/setup-node@v6
125+
with:
126+
node-version: 22
127+
cache: pnpm
128+
129+
- name: Install dependencies
130+
run: pnpm install --frozen-lockfile
131+
132+
- name: Build
133+
run: pnpm build
134+
135+
- name: Publish preview packages
136+
run: pnpm dlx pkg-pr-new publish './packages/*' --packageManager=pnpm

.github/workflows/release.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ permissions:
1717
contents: write
1818
pull-requests: write
1919
id-token: write
20+
actions: read
2021

2122
jobs:
2223
lint:
@@ -168,6 +169,8 @@ jobs:
168169
- cli-smoke
169170
- fmodata-e2e
170171
runs-on: ubuntu-latest
172+
outputs:
173+
hasChangesets: ${{ steps.changesets.outputs.hasChangesets }}
171174
steps:
172175
- name: Checkout Repo
173176
uses: actions/checkout@v6
@@ -193,3 +196,13 @@ jobs:
193196
env:
194197
GITHUB_TOKEN: ${{ github.token }}
195198
NPM_CONFIG_PROVENANCE: true
199+
200+
publish-release-pr-preview:
201+
name: Publish Any Commit for Release PR
202+
needs:
203+
- release
204+
if: needs.release.outputs.hasChangesets == 'true'
205+
uses: ./.github/workflows/publish-any-commit-reusable.yml
206+
with:
207+
ref: refs/heads/changeset-release/${{ github.ref_name }}
208+
secrets: inherit

0 commit comments

Comments
 (0)