Skip to content

Commit 6ee99c5

Browse files
committed
Merge remote-tracking branch 'origin/master' into copilot/update-app-blueprint-migration
# Conflicts: # packages/app-blueprint/files/package.json
2 parents 90cb9fd + 0b3a4ab commit 6ee99c5

41 files changed

Lines changed: 429 additions & 633 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ on:
99
- next
1010
- "v*"
1111
- "lts-*"
12+
paths-ignore:
13+
- "**.md"
1214
pull_request:
15+
paths-ignore:
16+
- "**.md"
1317
workflow_dispatch:
1418
merge_group:
1519
schedule:

.github/workflows/plan-alpha-release.yml

Lines changed: 15 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -9,78 +9,41 @@ on:
99
types:
1010
- labeled
1111
- unlabeled
12-
branches:
13-
- master
1412

1513
concurrency:
1614
group: plan-release # only the latest one of these should ever be running
1715
cancel-in-progress: true
1816

1917
jobs:
20-
is-this-a-release:
21-
name: "Is this a release?"
18+
should-run-release-plan-prepare:
19+
name: Should we run release-plan prepare?
2220
runs-on: ubuntu-latest
2321
outputs:
24-
command: ${{ steps.check-release.outputs.command }}
25-
22+
should-prepare: ${{ steps.should-prepare.outputs.should-prepare }}
2623
steps:
27-
- uses: actions/checkout@v6
24+
- uses: release-plan/actions/should-prepare-release@v1
2825
with:
29-
fetch-depth: 2
3026
ref: "master"
31-
# This will only cause the `is-this-a-release` job to have a "command" of `release`
32-
# when the .release-plan.json file was changed on the last commit.
33-
- id: check-release
34-
run: if git diff --name-only HEAD HEAD~1 | grep -w -q ".release-plan.json"; then echo "command=release"; fi >> $GITHUB_OUTPUT
27+
id: should-prepare
3528

3629
create-prepare-release-pr:
3730
name: Create Prepare Release PR
3831
runs-on: ubuntu-latest
3932
timeout-minutes: 5
40-
needs: is-this-a-release
33+
needs: should-run-release-plan-prepare
4134
permissions:
4235
contents: write
4336
issues: read
4437
pull-requests: write
45-
# only run on push event or workflow dispatch if plan wasn't updated (don't create a release plan when we're releasing)
46-
# only run on labeled event if the PR has already been merged
47-
if: ((github.event_name == 'push' || github.event_name == 'workflow_dispatch') && needs.is-this-a-release.outputs.command != 'release') || (github.event_name == 'pull_request_target' && github.event.pull_request.merged == true)
48-
38+
if: needs.should-run-release-plan-prepare.outputs.should-prepare == 'true'
4939
steps:
50-
- uses: actions/checkout@v6
51-
# We need to download lots of history so that
52-
# github-changelog can discover what's changed since the last release
40+
- uses: release-plan/actions/prepare@v1
41+
name: Run release-plan prepare
5342
with:
54-
fetch-depth: 0
5543
ref: "master"
56-
- uses: pnpm/action-setup@v4
57-
- uses: actions/setup-node@v4
58-
with:
59-
node-version: 20
60-
cache: pnpm
61-
- run: pnpm install --frozen-lockfile
62-
- name: "Generate Explanation and Prep Changelogs"
63-
id: explanation
64-
run: |
65-
set +e
66-
pnpm release-plan prepare 2> >(tee -a release-plan-stderr.txt >&2)
67-
68-
if [ $? -ne 0 ]; then
69-
release_plan_output=$(cat release-plan-stderr.txt)
70-
else
71-
release_plan_output=$(jq .description .release-plan.json -r)
72-
rm release-plan-stderr.txt
73-
74-
if [ $(jq '.solution | length' .release-plan.json) -eq 1 ]; then
75-
new_version=$(jq -r '.solution[].newVersion' .release-plan.json)
76-
echo "new_version=v$new_version" >> $GITHUB_OUTPUT
77-
fi
78-
fi
79-
echo 'text<<EOF' >> $GITHUB_OUTPUT
80-
echo "$release_plan_output" >> $GITHUB_OUTPUT
81-
echo 'EOF' >> $GITHUB_OUTPUT
8244
env:
8345
GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }}
46+
id: explanation
8447

8548
# this is needed because our fixtures are highly dependent on the exact version of ember-cli in the monorepo
8649
# and release-plan updates the version during the plan phase
@@ -90,12 +53,14 @@ jobs:
9053
run: |
9154
sed -i 's/"ember-cli".*/"ember-cli": "~'$(jq -r .version package.json)'",/' packages/app-blueprint/files/package.json
9255
93-
- uses: peter-evans/create-pull-request@v7
56+
- uses: peter-evans/create-pull-request@v8
57+
name: Create Prepare Release PR
9458
with:
95-
commit-message: "Prepare Alpha Release ${{ steps.explanation.outputs.new_version}} using 'release-plan'"
59+
commit-message: "Prepare Alpha Release ${{ steps.explanation.outputs.new-version}} using 'release-plan'"
9660
labels: "internal"
61+
sign-commits: true
9762
branch: releaseplan-preview
98-
title: Prepare Alpha Release ${{ steps.explanation.outputs.new_version }}
63+
title: Prepare Alpha Release ${{ steps.explanation.outputs.new-version }}
9964
# this doesn't use secrets.GITHUB_TOKEN because we want CI to run on the PR that it opens.
10065
# See: https://docs.github.com/en/actions/how-tos/security-for-github-actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow
10166
token: ${{ secrets.RELEASE_PLAN_GH_PAT }}

.github/workflows/plan-beta-release.yml

Lines changed: 15 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -8,78 +8,41 @@ on:
88
types:
99
- labeled
1010
- unlabeled
11-
branches:
12-
- beta
1311

1412
concurrency:
1513
group: plan-release-beta # only the latest one of these should ever be running
1614
cancel-in-progress: true
1715

1816
jobs:
19-
is-this-a-release:
20-
name: "Is this a release?"
17+
should-run-release-plan-prepare:
18+
name: Should we run release-plan prepare?
2119
runs-on: ubuntu-latest
2220
outputs:
23-
command: ${{ steps.check-release.outputs.command }}
24-
21+
should-prepare: ${{ steps.should-prepare.outputs.should-prepare }}
2522
steps:
26-
- uses: actions/checkout@v4
23+
- uses: release-plan/actions/should-prepare-release@v1
2724
with:
28-
fetch-depth: 2
2925
ref: "beta"
30-
# This will only cause the `is-this-a-release` job to have a "command" of `release`
31-
# when the .release-plan.json file was changed on the last commit.
32-
- id: check-release
33-
run: if git diff --name-only HEAD HEAD~1 | grep -w -q ".release-plan.json"; then echo "command=release"; fi >> $GITHUB_OUTPUT
26+
id: should-prepare
3427

3528
create-prepare-release-pr:
3629
name: Create Prepare Release PR
3730
runs-on: ubuntu-latest
3831
timeout-minutes: 5
39-
needs: is-this-a-release
32+
needs: should-run-release-plan-prepare
4033
permissions:
4134
contents: write
4235
issues: read
4336
pull-requests: write
44-
# only run on push event or workflow dispatch if plan wasn't updated (don't create a release plan when we're releasing)
45-
# only run on labeled event if the PR has already been merged
46-
if: ((github.event_name == 'push' || github.event_name == 'workflow_dispatch') && needs.is-this-a-release.outputs.command != 'release') || (github.event_name == 'pull_request_target' && github.event.pull_request.merged == true)
47-
37+
if: needs.should-run-release-plan-prepare.outputs.should-prepare == 'true'
4838
steps:
49-
- uses: actions/checkout@v4
50-
# We need to download lots of history so that
51-
# github-changelog can discover what's changed since the last release
39+
- uses: release-plan/actions/prepare@v1
40+
name: Run release-plan prepare
5241
with:
53-
fetch-depth: 0
5442
ref: "beta"
55-
- uses: pnpm/action-setup@v4
56-
- uses: actions/setup-node@v4
57-
with:
58-
node-version: 20
59-
cache: pnpm
60-
- run: pnpm install --frozen-lockfile
61-
- name: "Generate Explanation and Prep Changelogs"
62-
id: explanation
63-
run: |
64-
set +e
65-
pnpm release-plan prepare 2> >(tee -a release-plan-stderr.txt >&2)
66-
67-
if [ $? -ne 0 ]; then
68-
release_plan_output=$(cat release-plan-stderr.txt)
69-
else
70-
release_plan_output=$(jq .description .release-plan.json -r)
71-
rm release-plan-stderr.txt
72-
73-
if [ $(jq '.solution | length' .release-plan.json) -eq 1 ]; then
74-
new_version=$(jq -r '.solution[].newVersion' .release-plan.json)
75-
echo "new_version=v$new_version" >> $GITHUB_OUTPUT
76-
fi
77-
fi
78-
echo 'text<<EOF' >> $GITHUB_OUTPUT
79-
echo "$release_plan_output" >> $GITHUB_OUTPUT
80-
echo 'EOF' >> $GITHUB_OUTPUT
8143
env:
8244
GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }}
45+
id: explanation
8346

8447
# this is needed because our fixtures are highly dependent on the exact version of ember-cli in the monorepo
8548
# and release-plan updates the version during the plan phase
@@ -89,12 +52,14 @@ jobs:
8952
run: |
9053
sed -i 's/"ember-cli".*/"ember-cli": "~'$(jq -r .version package.json)'",/' packages/app-blueprint/files/package.json
9154
92-
- uses: peter-evans/create-pull-request@v7
55+
- uses: peter-evans/create-pull-request@v8
56+
name: Create Prepare Release PR
9357
with:
94-
commit-message: "Prepare Beta Release ${{ steps.explanation.outputs.new_version}} using 'release-plan'"
58+
commit-message: "Prepare Beta Release ${{ steps.explanation.outputs.new-version}} using 'release-plan'"
9559
labels: "internal"
60+
sign-commits: true
9661
branch: release-preview-beta
97-
title: Prepare Beta Release ${{ steps.explanation.outputs.new_version }}
62+
title: Prepare Beta Release ${{ steps.explanation.outputs.new-version }}
9863
# this doesn't use secrets.GITHUB_TOKEN because we want CI to run on the PR that it opens.
9964
# See: https://docs.github.com/en/actions/how-tos/security-for-github-actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow
10065
token: ${{ secrets.RELEASE_PLAN_GH_PAT }}

.github/workflows/plan-stable-release.yml

Lines changed: 15 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -8,78 +8,41 @@ on:
88
types:
99
- labeled
1010
- unlabeled
11-
branches:
12-
- release
1311

1412
concurrency:
1513
group: plan-release-stable # only the latest one of these should ever be running
1614
cancel-in-progress: true
1715

1816
jobs:
19-
is-this-a-release:
20-
name: "Is this a release?"
17+
should-run-release-plan-prepare:
18+
name: Should we run release-plan prepare?
2119
runs-on: ubuntu-latest
2220
outputs:
23-
command: ${{ steps.check-release.outputs.command }}
24-
21+
should-prepare: ${{ steps.should-prepare.outputs.should-prepare }}
2522
steps:
26-
- uses: actions/checkout@v4
23+
- uses: release-plan/actions/should-prepare-release@v1
2724
with:
28-
fetch-depth: 2
2925
ref: "release"
30-
# This will only cause the `is-this-a-release` job to have a "command" of `release`
31-
# when the .release-plan.json file was changed on the last commit.
32-
- id: check-release
33-
run: if git diff --name-only HEAD HEAD~1 | grep -w -q ".release-plan.json"; then echo "command=release"; fi >> $GITHUB_OUTPUT
26+
id: should-prepare
3427

3528
create-prepare-release-pr:
3629
name: Create Prepare Release PR
3730
runs-on: ubuntu-latest
3831
timeout-minutes: 5
39-
needs: is-this-a-release
32+
needs: should-run-release-plan-prepare
4033
permissions:
4134
contents: write
4235
issues: read
4336
pull-requests: write
44-
# only run on push event or workflow dispatch if plan wasn't updated (don't create a release plan when we're releasing)
45-
# only run on labeled event if the PR has already been merged
46-
if: ((github.event_name == 'push' || github.event_name == 'workflow_dispatch') && needs.is-this-a-release.outputs.command != 'release') || (github.event_name == 'pull_request_target' && github.event.pull_request.merged == true)
47-
37+
if: needs.should-run-release-plan-prepare.outputs.should-prepare == 'true'
4838
steps:
49-
- uses: actions/checkout@v4
50-
# We need to download lots of history so that
51-
# github-changelog can discover what's changed since the last release
39+
- uses: release-plan/actions/prepare@v1
40+
name: Run release-plan prepare
5241
with:
53-
fetch-depth: 0
5442
ref: "release"
55-
- uses: pnpm/action-setup@v4
56-
- uses: actions/setup-node@v4
57-
with:
58-
node-version: 20
59-
cache: pnpm
60-
- run: pnpm install --frozen-lockfile
61-
- name: "Generate Explanation and Prep Changelogs"
62-
id: explanation
63-
run: |
64-
set +e
65-
pnpm release-plan prepare 2> >(tee -a release-plan-stderr.txt >&2)
66-
67-
if [ $? -ne 0 ]; then
68-
release_plan_output=$(cat release-plan-stderr.txt)
69-
else
70-
release_plan_output=$(jq .description .release-plan.json -r)
71-
rm release-plan-stderr.txt
72-
73-
if [ $(jq '.solution | length' .release-plan.json) -eq 1 ]; then
74-
new_version=$(jq -r '.solution[].newVersion' .release-plan.json)
75-
echo "new_version=v$new_version" >> $GITHUB_OUTPUT
76-
fi
77-
fi
78-
echo 'text<<EOF' >> $GITHUB_OUTPUT
79-
echo "$release_plan_output" >> $GITHUB_OUTPUT
80-
echo 'EOF' >> $GITHUB_OUTPUT
8143
env:
8244
GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }}
45+
id: explanation
8346

8447
# this is needed because our fixtures are highly dependent on the exact version of ember-cli in the monorepo
8548
# and release-plan updates the version during the plan phase
@@ -89,12 +52,14 @@ jobs:
8952
run: |
9053
sed -i 's/"ember-cli".*/"ember-cli": "~'$(jq -r .version package.json)'",/' packages/app-blueprint/files/package.json
9154
92-
- uses: peter-evans/create-pull-request@v7
55+
- uses: peter-evans/create-pull-request@v8
56+
name: Create Prepare Release PR
9357
with:
94-
commit-message: "Prepare Stable Release ${{ steps.explanation.outputs.new_version}} using 'release-plan'"
58+
commit-message: "Prepare Stable Release ${{ steps.explanation.outputs.new-version}} using 'release-plan'"
9559
labels: "internal"
60+
sign-commits: true
9661
branch: release-preview-stable
97-
title: Prepare Stable Release ${{ steps.explanation.outputs.new_version }}
62+
title: Prepare Stable Release ${{ steps.explanation.outputs.new-version }}
9863
# this doesn't use secrets.GITHUB_TOKEN because we want CI to run on the PR that it opens.
9964
# See: https://docs.github.com/en/actions/how-tos/security-for-github-actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow
10065
token: ${{ secrets.RELEASE_PLAN_GH_PAT }}

.github/workflows/publish-alpha.yml

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)