Skip to content

Commit c714c82

Browse files
authored
Merge pull request #64 from gjsify/add_release_ci_npm_release
Feat: Add release CI
2 parents 1ee7e05 + cbb79c3 commit c714c82

File tree

7 files changed

+1020
-948
lines changed

7 files changed

+1020
-948
lines changed

.github/CODEOWNERS

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# CODEOWNERS file for gnome-shell repository
2+
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
3+
4+
# Critical infrastructure files - require review from core maintainers
5+
/.github/ @JumpLink @Totto16 @swsnr @schnz
6+
/package.json @JumpLink @Totto16 @swsnr @schnz
7+
/yarn.lock @JumpLink @Totto16 @swsnr @schnz
8+
9+
# Package configurations - critical for npm releases
10+
/packages/*/package.json @JumpLink @Totto16 @swsnr @schnz
11+
12+
# TypeScript configurations - affect type generation
13+
/tsconfig*.json @JumpLink @Totto16 @swsnr @schnz
14+
15+
# CODEOWNERS file itself - only core maintainers can change
16+
/.github/CODEOWNERS @JumpLink @Totto16 @swsnr @schnz
17+
Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2-
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3-
4-
name: CI
1+
name: Build CI
52

63
on:
74
push:
@@ -12,32 +9,39 @@ on:
129
- "*"
1310

1411
jobs:
15-
ci:
16-
17-
runs-on: ubuntu-22.04
12+
build:
13+
name: Build CI
14+
runs-on: ubuntu-24.04
1815

1916
strategy:
2017
matrix:
21-
node-version: [18.x]
22-
architecture:
23-
- x64
18+
node-version: [22.x]
19+
2420
steps:
2521
- name: Checkout repository
2622
uses: actions/checkout@v4
2723
with:
2824
submodules: true
25+
2926
- name: Use Node.js ${{ matrix.node-version }}
3027
uses: actions/setup-node@v4
3128
with:
3229
node-version: ${{ matrix.node-version }}
33-
- run: yarn install
30+
31+
- name: Install dependencies
32+
run: yarn install
33+
3434
- name: Build Types
3535
run: yarn run build:types
36+
3637
- name: Validate Formatting
3738
run: yarn run prettier:check
39+
3840
- name: Validate Types
3941
run: NODE_OPTIONS=--max_old_space_size=9216 yarn run validate:types
42+
4043
- name: Build Example
4144
run: yarn run build:example
45+
4246
- name: Validate Example Typescript
4347
run: NODE_OPTIONS=--max_old_space_size=9216 yarn run validate:example

.github/workflows/release.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Release CI
2+
3+
on:
4+
release:
5+
types: published
6+
7+
env:
8+
node-version: 22.x
9+
10+
jobs:
11+
release:
12+
name: Release CI
13+
runs-on: ubuntu-24.04
14+
environment: npm-release
15+
permissions:
16+
contents: read
17+
id-token: write
18+
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v4
22+
23+
# This also setups a .npmrc file to publish to npm
24+
- name: Use Node.js ${{ env.node-version }}
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: ${{ env.node-version }}
28+
registry-url: 'https://registry.npmjs.org'
29+
# Defaults to the user or organization that owns the workflow file
30+
scope: '@girs'
31+
32+
- name: Install dependencies
33+
run: yarn install
34+
35+
- name: Build Types
36+
run: yarn run build:types
37+
38+
- name: Generate archive
39+
run: yarn workspace @girs/gnome-shell pack
40+
41+
- name: Publish
42+
run: yarn workspace @girs/gnome-shell npm publish --tolerate-republish --access public --tag ${{github.event.release.prerelease && 'next' || 'latest'}} --provenance
43+
env:
44+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.yarn/releases/yarn-4.7.0.cjs

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

.yarn/releases/yarn-4.9.2.cjs

Lines changed: 942 additions & 0 deletions
Large diffs are not rendered by default.

.yarnrc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ compressionLevel: mixed
22

33
enableGlobalCache: false
44

5-
yarnPath: .yarn/releases/yarn-4.7.0.cjs
5+
yarnPath: .yarn/releases/yarn-4.9.2.cjs

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
"url": "https://github.com/gjsify/gnome-shell/issues"
5353
},
5454
"homepage": "https://github.com/gjsify/gnome-shell#readme",
55-
"packageManager": "yarn@4.7.0",
55+
"packageManager": "yarn@4.9.2",
5656
"devDependencies": {
5757
"prettier": "^3.6.2",
5858
"typescript": "5.9.2"

0 commit comments

Comments
 (0)