Skip to content

Commit 3c6a613

Browse files
committed
feat: add release workflows and configuration
1 parent 93ca8fe commit 3c6a613

7 files changed

Lines changed: 279 additions & 2 deletions

File tree

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Release Please Qwik Package
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'packages/ui-qwik/**'
9+
- '.release-please-manifest.json'
10+
- 'release-please-config.json'
11+
12+
permissions:
13+
id-token: write # Required for OIDC
14+
contents: write
15+
pull-requests: write
16+
packages: write
17+
18+
jobs:
19+
release-please:
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- uses: googleapis/release-please-action@v4
24+
id: release
25+
with:
26+
token: ${{ secrets.GITHUB_TOKEN }}
27+
config-file: release-please-config.json
28+
manifest-file: .release-please-manifest.json
29+
30+
- name: Checkout code
31+
if: ${{ steps.release.outputs['packages/ui-qwik--release_created'] }}
32+
uses: actions/checkout@v4
33+
34+
- name: Setup pnpm
35+
if: ${{ steps.release.outputs['packages/ui-qwik--release_created'] }}
36+
uses: pnpm/action-setup@v4
37+
38+
- name: Setup Node.js
39+
if: ${{ steps.release.outputs['packages/ui-qwik--release_created'] }}
40+
uses: actions/setup-node@v4
41+
with:
42+
node-version: 24
43+
cache: 'pnpm'
44+
registry-url: 'https://registry.npmjs.org'
45+
scope: '@birdflop'
46+
47+
- name: Install dependencies
48+
if: ${{ steps.release.outputs['packages/ui-qwik--release_created'] }}
49+
working-directory: packages/ui-qwik
50+
run: pnpm install --frozen-lockfile
51+
52+
- name: Build package
53+
if: ${{ steps.release.outputs['packages/ui-qwik--release_created'] }}
54+
working-directory: packages/ui-qwik
55+
run: pnpm build
56+
57+
- name: Publish to npm
58+
if: ${{ steps.release.outputs['packages/ui-qwik--release_created'] }}
59+
working-directory: packages/ui-qwik
60+
run: npm publish --provenance --access public
61+
env:
62+
# it is currently imperative to set NODE_AUTH_TOKEN to an empty string for OIDC auth to work
63+
# https://github.com/actions/setup-node/blob/633bb92bc0aabcae06e8ea93b85aecddd374c402/src/authutil.ts#L57
64+
NODE_AUTH_TOKEN: ""
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Release Please React Package
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'packages/ui-react/**'
9+
- '.release-please-manifest.json'
10+
- 'release-please-config.json'
11+
12+
permissions:
13+
id-token: write # Required for OIDC
14+
contents: write
15+
pull-requests: write
16+
packages: write
17+
18+
jobs:
19+
release-please:
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- uses: googleapis/release-please-action@v4
24+
id: release
25+
with:
26+
token: ${{ secrets.GITHUB_TOKEN }}
27+
config-file: release-please-config.json
28+
manifest-file: .release-please-manifest.json
29+
30+
- name: Checkout code
31+
if: ${{ steps.release.outputs['packages/ui-react--release_created'] }}
32+
uses: actions/checkout@v4
33+
34+
- name: Setup pnpm
35+
if: ${{ steps.release.outputs['packages/ui-react--release_created'] }}
36+
uses: pnpm/action-setup@v4
37+
38+
- name: Setup Node.js
39+
if: ${{ steps.release.outputs['packages/ui-react--release_created'] }}
40+
uses: actions/setup-node@v4
41+
with:
42+
node-version: 24
43+
cache: 'pnpm'
44+
registry-url: 'https://registry.npmjs.org'
45+
scope: '@birdflop'
46+
47+
- name: Install dependencies
48+
if: ${{ steps.release.outputs['packages/ui-react--release_created'] }}
49+
working-directory: packages/ui-react
50+
run: pnpm install --frozen-lockfile
51+
52+
- name: Build package
53+
if: ${{ steps.release.outputs['packages/ui-react--release_created'] }}
54+
working-directory: packages/ui-react
55+
run: pnpm build
56+
57+
- name: Publish to npm
58+
if: ${{ steps.release.outputs['packages/ui-react--release_created'] }}
59+
working-directory: packages/ui-react
60+
run: npm publish --provenance --access public
61+
env:
62+
# it is currently imperative to set NODE_AUTH_TOKEN to an empty string for OIDC auth to work
63+
# https://github.com/actions/setup-node/blob/633bb92bc0aabcae06e8ea93b85aecddd374c402/src/authutil.ts#L57
64+
NODE_AUTH_TOKEN: ""
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Release Please Tailwind Package
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'packages/ui/**'
9+
- '.release-please-manifest.json'
10+
- 'release-please-config.json'
11+
12+
permissions:
13+
id-token: write # Required for OIDC
14+
contents: write
15+
pull-requests: write
16+
packages: write
17+
18+
jobs:
19+
release-please:
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- uses: googleapis/release-please-action@v4
24+
id: release
25+
with:
26+
token: ${{ secrets.GITHUB_TOKEN }}
27+
config-file: release-please-config.json
28+
manifest-file: .release-please-manifest.json
29+
30+
- name: Checkout code
31+
if: ${{ steps.release.outputs['packages/ui--release_created'] }}
32+
uses: actions/checkout@v4
33+
34+
- name: Setup pnpm
35+
if: ${{ steps.release.outputs['packages/ui--release_created'] }}
36+
uses: pnpm/action-setup@v4
37+
38+
- name: Setup Node.js
39+
if: ${{ steps.release.outputs['packages/ui--release_created'] }}
40+
uses: actions/setup-node@v4
41+
with:
42+
node-version: 24
43+
cache: 'pnpm'
44+
registry-url: 'https://registry.npmjs.org'
45+
scope: '@birdflop'
46+
47+
- name: Install dependencies
48+
if: ${{ steps.release.outputs['packages/ui--release_created'] }}
49+
working-directory: packages/ui
50+
run: pnpm install --frozen-lockfile
51+
52+
- name: Publish to npm
53+
if: ${{ steps.release.outputs['packages/ui--release_created'] }}
54+
working-directory: packages/ui
55+
run: npm publish --provenance --access public
56+
env:
57+
# it is currently imperative to set NODE_AUTH_TOKEN to an empty string for OIDC auth to work
58+
# https://github.com/actions/setup-node/blob/633bb92bc0aabcae06e8ea93b85aecddd374c402/src/authutil.ts#L57
59+
NODE_AUTH_TOKEN: ""

.release-please-manifest.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"packages/ui": "6.6.3",
3+
"packages/ui-react": "6.6.3",
4+
"packages/ui-qwik": "6.6.3"
5+
}

packages/ui/src/index.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@
7777
@apply border border-transparent outline-none;
7878

7979
&:focus {
80-
/* Border fades out when depth is active */
8180
border-color: var(--color-lum-accent);
8281
}
8382

release-please-config.json

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
3+
"separate-pull-requests": true,
4+
"release-type": "simple",
5+
"bump-minor-pre-major": true,
6+
"bump-patch-for-minor-pre-major": true,
7+
"draft": false,
8+
"prerelease": false,
9+
"changelog-path": "CHANGELOG.md",
10+
"include-component-in-tag": false,
11+
"include-v-in-tag": true,
12+
"packages": {
13+
"packages/ui": {
14+
"package-name": "Luminescent UI",
15+
"component": "ui",
16+
"extra-files": [ "package.json" ]
17+
},
18+
"packages/ui-react": {
19+
"package-name": "Luminescent UI React",
20+
"component": "ui-react",
21+
"extra-files": [ "package.json" ]
22+
},
23+
"packages/ui-qwik": {
24+
"package-name": "Luminescent UI Qwik",
25+
"component": "ui-qwik",
26+
"extra-files": [ "package.json" ]
27+
}
28+
},
29+
"changelog-sections": [
30+
{
31+
"type": "feat",
32+
"section": "Features",
33+
"hidden": false
34+
},
35+
{
36+
"type": "fix",
37+
"section": "Bug Fixes",
38+
"hidden": false
39+
},
40+
{
41+
"type": "perf",
42+
"section": "Performance Improvements",
43+
"hidden": false
44+
},
45+
{
46+
"type": "refactor",
47+
"section": "Code Refactoring",
48+
"hidden": false
49+
},
50+
{
51+
"type": "docs",
52+
"section": "Documentation",
53+
"hidden": false
54+
},
55+
{
56+
"type": "style",
57+
"section": "Styles",
58+
"hidden": false
59+
},
60+
{
61+
"type": "test",
62+
"section": "Tests",
63+
"hidden": false
64+
},
65+
{
66+
"type": "build",
67+
"section": "Build System",
68+
"hidden": false
69+
},
70+
{
71+
"type": "ci",
72+
"section": "CI/CD",
73+
"hidden": false
74+
},
75+
{
76+
"type": "chore",
77+
"section": "Miscellaneous",
78+
"hidden": true
79+
},
80+
{
81+
"type": "revert",
82+
"section": "Reverts",
83+
"hidden": false
84+
}
85+
]
86+
}

tools/release.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { releaseChangelog, releasePublish, releaseVersion } from 'nx/release';
22
import yargs from 'yargs';
3-
3+
//deprecated: this file is no longer used as the release process has been moved to GitHub Actions, but it is being left in place for now in case we want to use it for local releases in the future
44
const options = await yargs(process.argv.slice(2))
55
.version(false)
66
.option('version', {

0 commit comments

Comments
 (0)