Skip to content

Commit 509a54f

Browse files
sebjacobschrislo
andcommitted
ci: change CI to publish to GitHub package registry
* Use github npm registry. * We can use the GITHUB_TOKEN that is made available by default in a GitHub Action as the NODE_AUTH_TOKEN, although we need to add the `packages: write` permission to the Action. Co-authored-by: Chris Lowis <[email protected]>
1 parent c0e0b79 commit 509a54f

File tree

4 files changed

+39
-203
lines changed

4 files changed

+39
-203
lines changed

.github/workflows/ci.yml

Lines changed: 28 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
name: CI
22

33
on:
4-
merge_group:
5-
pull_request:
6-
push: # WARNING: Renovate sometimes automerges without PR, so we MUST build and test renovate/** branches
7-
workflow_call:
8-
workflow_dispatch:
4+
workflow_dispatch: # Allows you to run this workflow manually from the Actions tab
5+
push: # Runs whenever a commit is pushed to the repository
6+
branches: [experience-cs]
7+
8+
permissions:
9+
contents: write # publish a GitHub release
10+
pages: write # deploy to GitHub Pages
11+
issues: write # comment on released issues
12+
pull-requests: write # comment on released pull requests
13+
packages: write # deploy to GitHub Packages
914

1015
concurrency:
1116
group: "${{ github.workflow }} @ ${{ github.event.compare || github.head_ref || github.ref }}"
@@ -19,8 +24,10 @@ jobs:
1924
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
2025
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
2126
with:
22-
cache: 'npm'
23-
node-version-file: '.nvmrc'
27+
cache: "npm"
28+
node-version-file: ".nvmrc"
29+
registry-url: "https://npm.pkg.github.com"
30+
2431
- uses: wagoid/commitlint-github-action@9763196e10f27aef304c9b8b660d31d97fce0f99 # v5
2532
- name: Debug info
2633
run: |
@@ -43,17 +50,6 @@ jobs:
4350
- "package.json"
4451
- "package-lock.json"
4552
- "scripts/**"
46-
any-workspace:
47-
- "packages/**"
48-
scratch-svg-renderer:
49-
- "packages/scratch-svg-renderer/**"
50-
scratch-render:
51-
- "packages/scratch-render/**"
52-
- "packages/scratch-svg-renderer/**"
53-
scratch-vm:
54-
- "packages/scratch-render/**"
55-
- "packages/scratch-svg-renderer/**"
56-
- "packages/scratch-vm/**"
5753
scratch-gui:
5854
- "packages/scratch-gui/**"
5955
- "packages/scratch-render/**"
@@ -63,27 +59,18 @@ jobs:
6359
- if: ${{ steps.filter.outputs.global == 'true' || steps.filter.outputs.any-workspace == 'true' }}
6460
uses: ./.github/actions/install-dependencies
6561

66-
- name: Build packages
67-
if: ${{ steps.filter.outputs.global == 'true' || steps.filter.outputs.any-workspace == 'true' }}
68-
run: npm run build
62+
- name: Build and test scratch-gui
63+
working-directory: ./packages/scratch-gui
64+
run: |
65+
npm ci
66+
npm run build
67+
npm run test
6968
70-
- name: Test scratch-svg-renderer
71-
if: ${{ !cancelled() && (steps.filter.outputs.global == 'true' || steps.filter.outputs.scratch-svg-renderer == 'true') }}
72-
uses: ./.github/actions/test-package
73-
with:
74-
package_name: scratch-svg-renderer
75-
- name: Test scratch-render
76-
if: ${{ !cancelled() && (steps.filter.outputs.global == 'true' || steps.filter.outputs.scratch-render == 'true') }}
77-
uses: ./.github/actions/test-package
78-
with:
79-
package_name: scratch-render
80-
- name: Test scratch-vm
81-
if: ${{ !cancelled() && (steps.filter.outputs.global == 'true' || steps.filter.outputs.scratch-vm == 'true') }}
82-
uses: ./.github/actions/test-package
83-
with:
84-
package_name: scratch-vm
85-
- name: Test scratch-gui
86-
if: ${{ !cancelled() && (steps.filter.outputs.global == 'true' || steps.filter.outputs.scratch-gui == 'true') }}
87-
uses: ./.github/actions/test-package
88-
with:
89-
package_name: scratch-gui
69+
- name: Publish scratch-gui to GitHub Packages
70+
env:
71+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
72+
working-directory: ./packages/scratch-gui
73+
run: |
74+
RELEASE_VERSION="0.1.0-experience-cs.$(date +'%Y%m%d%H%M%S')"
75+
npm version --no-git-tag-version $RELEASE_VERSION
76+
npm publish --access public --tag latest

.github/workflows/publish.yml

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

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/scratch-gui/package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
{
2-
"name": "@scratch/scratch-gui",
2+
"name": "@RaspberryPiFoundation/scratch-gui",
33
"version": "11.2.0-svg-sanitization.3",
44
"description": "Graphical User Interface for creating and running Scratch 3.0 projects",
55
"author": "Massachusetts Institute of Technology",
66
"license": "AGPL-3.0-only",
7-
"homepage": "https://github.com/scratchfoundation/scratch-gui#readme",
7+
"homepage": "https://github.com/RaspberryPiFoundation/scratch-editor#readme",
88
"repository": {
99
"type": "git",
10-
"url": "https://github.com/scratchfoundation/scratch-editor.git"
10+
"url": "https://github.com/RaspberryPiFoundation/scratch-editor.git"
11+
},
12+
"publishConfig": {
13+
"registry": "https://npm.pkg.github.com"
1114
},
1215
"main": "./dist/scratch-gui.js",
1316
"types": "./dist/types/index.d.ts",

0 commit comments

Comments
 (0)