Skip to content

Commit 81d6778

Browse files
committed
ci: 🎡 WIP package publishing in CI
1 parent 9685e47 commit 81d6778

File tree

2 files changed

+61
-26
lines changed

2 files changed

+61
-26
lines changed

.github/workflows/changelog.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Publish Changelog
2+
3+
on:
4+
workflow_call:
5+
6+
jobs:
7+
changelog:
8+
name: Update Release with Changelog
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Create changelog
12+
run: |
13+
echo "CHANGELOG_TEXT=$(npx [email protected])" >> $GITHUB_ENV
14+
15+
- uses: actions/github-script@v6
16+
with:
17+
script: |
18+
github.rest.repos.updateRelease({
19+
owner: context.payload.repository.owner.login,
20+
repo: context.payload.repository.name,
21+
release_id: context.payload.release.id,
22+
body: process.env.CHANGELOG_TEXT
23+
})

.github/workflows/tag-publish.yml

Lines changed: 38 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ jobs:
88
init:
99
uses: ./.github/workflows/00-init.yml
1010

11-
init-playground:
12-
uses: ./.github/workflows/00-init-playground.yml
13-
1411
test:
1512
uses: ./.github/workflows/01-npm-test.yml
1613
needs: [init]
@@ -19,16 +16,12 @@ jobs:
1916
uses: ./.github/workflows/01-build.yml
2017
needs: [init]
2118

22-
build-playground:
23-
uses: ./.github/workflows/01-build-playground.yml
24-
needs: [init-playground]
25-
2619
cypress:
2720
uses: ./.github/workflows/01-cypress.yml
2821
needs: [build]
2922

30-
publishnext:
31-
name: Publish experimental Packages
23+
publishnextnpm:
24+
name: Publish experimental Packages to NPM
3225
needs: [test, cypress]
3326
# Only publish if not on the main branch, the release tag starts with a "v"
3427
# and is flagged as a prerelease
@@ -42,34 +35,20 @@ jobs:
4235
TEST_CONTEXT: ${{ toJson(github.event) }}
4336

4437
steps:
45-
- name: Publish experimental Packages
38+
- name: Publish experimental Packages to NPM
4639
run: |
47-
echo ${GITHUB_REF##*/}
48-
echo "event name is:" ${{ github.event_name }}
49-
echo "event type is:" ${{ github.event.action }}
50-
echo "event release tag_name is:" ${{ github.event.release.tag_name }}
51-
echo "event prerelease is:" ${{ github.event.release.prerelease }}
52-
echo "event asset dl is:" ${{ github.event.release.assets[0].browser_download_url }}
53-
echo "event asset dl type is:" ${{ github.event.release.assets[0].content_type }}
54-
echo "RELEASE_CONTEXT: $RELEASE_CONTEXT"
55-
echo "TEST_CONTEXT: $TEST_CONTEXT"
5640
GITHUB_SHA_SHORT=$(echo $GITHUB_SHA | cut -c1-7)
57-
echo "GITHUB_SHA_SHORT $GITHUB_SHA_SHORT"
5841
SEMVER_VERSION=$(npx find-versions-cli ${{ github.event.release.tag_name }})
5942
echo "Semver experimental version $SEMVER_VERSION-$GITHUB_SHA_SHORT"
6043
61-
publishlatest:
62-
name: Publish stable packages
44+
publishlatestnpm:
45+
name: Publish stable packages to NPM
6346
needs: [test, cypress]
6447
if: github.event.release.target_commitish == 'test-package-publishing' && github.event.release.prerelease == false
6548
runs-on: ubuntu-latest
6649
steps:
67-
- name: ⬇️ Checkout repo
68-
uses: actions/checkout@v3
69-
7050
- name: Publish stable packages
7151
run: |
72-
echo "We are running on: " ${{github.event.release.target_commitish}}
7352
SEMVER_VERSION=$(npx find-versions-cli ${{ github.event.release.tag_name }})
7453
VALID_SEMVER_VERSION=$(node scripts/version-helper.js $SEMVER_VERSION)
7554
echo "Semver stable version unclean $SEMVER_VERSION"
@@ -85,3 +64,36 @@ jobs:
8564
release_id: context.payload.release.id,
8665
body: process.env.CHANGELOG_TEXT
8766
})
67+
68+
publishnextgithub:
69+
name: Publish experimental Packages to GitHub registry
70+
needs: [test, cypress]
71+
# Only publish if not on the main branch, the release tag starts with a "v"
72+
# and is flagged as a prerelease
73+
if: |
74+
github.event.release.target_commitish != 'main' &&
75+
startsWith(github.ref, 'refs/tags/v') &&
76+
github.event.release.prerelease == true
77+
runs-on: ubuntu-latest
78+
steps:
79+
- name: Publish experimental Packages to GitHub
80+
run: |
81+
echo "publish next to github"
82+
83+
publishlatestgithub:
84+
name: Publish stable packages to GitHub registry
85+
needs: [test, cypress]
86+
if: github.event.release.target_commitish == 'test-package-publishing' && github.event.release.prerelease == false
87+
runs-on: ubuntu-latest
88+
steps:
89+
- name: Publish stable Packages to GitHub
90+
run: |
91+
echo "publish latest to github"
92+
93+
createchangelognext:
94+
uses: ./.github/workflows/changelog.yml
95+
needs: [publishnextgithub, publishnextnpm]
96+
97+
createchangeloglatest:
98+
uses: ./.github/workflows/changelog.yml
99+
needs: [publishlatestgithub, publishlatestnpm]

0 commit comments

Comments
 (0)