Skip to content

Commit 1dc96a9

Browse files
authored
release(*): release setup
2 parents 61475b6 + 737a3cf commit 1dc96a9

File tree

9 files changed

+91
-13
lines changed

9 files changed

+91
-13
lines changed

.github/workflows/release.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Package Release
2+
3+
on:
4+
push:
5+
tags:
6+
- '@firebase-ui/*'
7+
8+
jobs:
9+
release:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- uses: actions/setup-node@v4
16+
with:
17+
node-version: 20
18+
19+
- uses: pnpm/action-setup@v2
20+
with:
21+
version: 8
22+
23+
- run: pnpm install
24+
25+
- id: get-package-source
26+
run: |
27+
tag="${GITHUB_REF#refs/tags/}"
28+
echo "Full tag: $tag"
29+
30+
# Strip both leading @ and version suffix
31+
pkg_path=$(echo "$tag" | sed -E 's/^@([^@]*)@([0-9]+\.[0-9]+\.[0-9]+)$/\1/')
32+
# pkg_path = firebase-ui/translations
33+
34+
scope=$(echo "$pkg_path" | cut -d'/' -f1)
35+
name=$(echo "$pkg_path" | cut -d'/' -f2)
36+
version=$(echo "$tag" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
37+
38+
echo "SCOPE=$scope" >> "$GITHUB_ENV"
39+
echo "PACKAGE=$name" >> "$GITHUB_ENV"
40+
echo "VERSION=$version" >> "$GITHUB_ENV"
41+
echo "TAG=$tag" >> "$GITHUB_ENV"
42+
echo "file=releases/${scope}-${name}-${version}.tgz" >> "$GITHUB_OUTPUT"
43+
44+
echo "Parsed:"
45+
echo " Scope: $scope"
46+
echo " Package: $name"
47+
echo " Version: $version"
48+
echo " File path: releases/${scope}-${name}-${version}.tgz"
49+
50+
- run: pnpm --filter "@${{ env.SCOPE }}/${{ env.PACKAGE }}" run release
51+
52+
- uses: softprops/action-gh-release@v2
53+
with:
54+
tag_name: ${{ env.TAG }}
55+
files: ${{ steps.get-package-source.outputs.file }}

package.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,21 @@
66
"build": "pnpm run build:translations && pnpm run build:core && pnpm run build:react",
77
"build:core": "pnpm --filter=@firebase-ui/core run build",
88
"build:translations": "pnpm --filter=@firebase-ui/translations run build",
9-
"build:react": "pnpm --filter=@firebase-ui/react run build"
9+
"build:react": "pnpm --filter=@firebase-ui/react run build",
10+
11+
"publish:tags:core": "pnpm --filter=@firebase-ui/core run publish:tags",
12+
"publish:tags:translations": "pnpm --filter=@firebase-ui/translations run publish:tags",
13+
"publish:tags:react": "pnpm --filter=@firebase-ui/react run publish:tags",
14+
"publish:tags:angular": "pnpm --filter=@firebase-ui/angular run publish:tags",
15+
"publish:tags:styles": "pnpm --filter=@firebase-ui/styles run publish:tags",
16+
"publish:tags:all": "pnpm i && pnpm run publish:tags:core && pnpm run publish:tags:translations && pnpm run publish:tags:react && pnpm run publish:tags:styles && pnpm run publish:tags:angular",
17+
18+
"release:core": "pnpm --filter=@firebase-ui/core run release",
19+
"release:translations": "pnpm --filter=@firebase-ui/translations run release",
20+
"release:react": "pnpm --filter=@firebase-ui/react run release",
21+
"release:angular": "pnpm --filter=@firebase-ui/angular run release",
22+
"release:styles": "pnpm --filter=@firebase-ui/styles run release",
23+
"release:all": "pnpm i && pnpm run release:core && pnpm run release:translations && pnpm run release:react && pnpm run release:styles && pnpm run release:angular"
1024
},
1125
"devDependencies": {
1226
"rimraf": "^6.0.1",

packages/angular/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
"test:integration": "ng test --include=\"**/tests/integration/**/*.spec.ts\" --no-watch --no-progress --browsers=ChromeHeadless",
1414
"serve:ssr:angular-ssr": "node dist/angular-ssr/server/server.mjs"
1515
},
16-
"private": true,
1716
"dependencies": {
1817
"@angular/animations": "^19.1.0",
1918
"@angular/common": "^19.1.0",

packages/angular/projects/firebaseui-angular/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
{
22
"name": "@firebase-ui/angular",
33
"version": "0.0.1",
4+
"scripts": {
5+
"publish:tags": "sh -c 'TAG=\"${npm_package_name}@${npm_package_version}\"; git tag --list \"$TAG\" | grep . || git tag \"$TAG\"; git push origin \"$TAG\"'",
6+
"release": "pnpm pack --pack-destination ../../../../releases/"
7+
},
48
"peerDependencies": {
59
"@angular/common": "^19.1.0",
610
"@angular/core": "^19.1.0",
@@ -13,5 +17,6 @@
1317
"tslib": "^2.3.0",
1418
"zod": "^3.24.1"
1519
},
20+
1621
"sideEffects": false
1722
}

packages/firebaseui-core/package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"dist"
1818
],
1919
"scripts": {
20-
"postinstall": "pnpm run build",
20+
"prepare": "pnpm run build",
2121
"emulators:start": "firebase emulators:start -P demo-firebaseui",
2222
"build": "tsup",
2323
"build:local": "pnpm run build && pnpm pack",
@@ -29,7 +29,9 @@
2929
"test:unit:watch": "vitest tests/unit",
3030
"test:integration": "vitest run tests/integration",
3131
"test:integration:watch": "vitest tests/integration",
32-
"test": "vitest run"
32+
"test": "vitest run",
33+
"publish:tags": "sh -c 'TAG=\"${npm_package_name}@${npm_package_version}\"; git tag --list \"$TAG\" | grep . || git tag \"$TAG\"; git push origin \"$TAG\"'",
34+
"release": "pnpm run build && pnpm pack --pack-destination --pack-destination ../../releases/"
3335
},
3436
"keywords": [
3537
"firebase",

packages/firebaseui-react/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"name": "@firebase-ui/react",
3-
"private": true,
43
"version": "0.0.1",
54
"type": "module",
65
"main": "./dist/index.cjs",
@@ -17,7 +16,7 @@
1716
"dist"
1817
],
1918
"scripts": {
20-
"postinstall": "pnpm run build",
19+
"prepare": "pnpm run build",
2120
"build": "tsup",
2221
"build:local": "pnpm run build && pnpm pack",
2322
"dev": "tsup --watch",
@@ -27,7 +26,9 @@
2726
"test:unit": "vitest run tests/unit",
2827
"test:unit:watch": "vitest tests/unit",
2928
"test:integration": "vitest run tests/integration",
30-
"test:integration:watch": "vitest tests/integration"
29+
"test:integration:watch": "vitest tests/integration",
30+
"publish:tags": "sh -c 'TAG=\"${npm_package_name}@${npm_package_version}\"; git tag --list \"$TAG\" | grep . || git tag \"$TAG\"; git push origin \"$TAG\"'",
31+
"release": "pnpm run build && pnpm pack --pack-destination --pack-destination ../../releases/"
3132
},
3233
"peerDependencies": {
3334
"@firebase-ui/core": "workspace:*",

packages/firebaseui-styles/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
{
22
"name": "@firebase-ui/styles",
33
"version": "0.0.1",
4-
"private": true,
54
"type": "module",
65
"files": [
76
"dist.css",
87
"src"
98
],
109
"scripts": {
11-
"postinstall": "pnpm run build",
10+
"prepare": "pnpm run build",
1211
"build": "npx -y @tailwindcss/cli -i ./src.css -o ./dist.css --minify",
13-
"build:local": "pnpm run build && pnpm pack"
12+
"build:local": "pnpm run build && pnpm pack",
13+
"publish:tags": "sh -c 'TAG=\"${npm_package_name}@${npm_package_version}\"; git tag --list \"$TAG\" | grep . || git tag \"$TAG\"; git push origin \"$TAG\"'",
14+
"release": "pnpm run build && pnpm pack --pack-destination ../../releases/"
1415
},
1516
"devDependencies": {
1617
"tailwindcss": "^4.0.0"

packages/firebaseui-translations/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"name": "@firebase-ui/translations",
33
"version": "0.0.1",
44
"description": "Translations for Firebase UI",
5-
"private": true,
65
"type": "module",
76
"main": "./dist/index.cjs",
87
"module": "./dist/index.js",
@@ -18,13 +17,15 @@
1817
"dist"
1918
],
2019
"scripts": {
21-
"postinstall": "pnpm run build",
20+
"prepare": "tsup",
2221
"build": "tsup",
2322
"build:local": "pnpm run build && pnpm pack",
2423
"dev": "tsup --watch",
2524
"lint": "tsc --noEmit",
2625
"format": "prettier --write \"src/**/*.ts\"",
27-
"clean": "rimraf dist"
26+
"clean": "rimraf dist",
27+
"publish:tags": "sh -c 'TAG=\"${npm_package_name}@${npm_package_version}\"; git tag --list \"$TAG\" | grep . || git tag \"$TAG\"; git push origin \"$TAG\"'",
28+
"release": "npm run build && pnpm pack --pack-destination ../../releases/"
2829
},
2930
"devDependencies": {
3031
"prettier": "^3.1.1",
6.27 KB
Binary file not shown.

0 commit comments

Comments
 (0)