diff --git a/.github/workflows/publish-ide-docs.yml b/.github/workflows/publish-ide-docs.yml index 1e17d37..038642c 100644 --- a/.github/workflows/publish-ide-docs.yml +++ b/.github/workflows/publish-ide-docs.yml @@ -5,11 +5,13 @@ on: tags: - 'v4.*' +permissions: + id-token: write + contents: read + jobs: publish_ide_docs: runs-on: ubuntu-22.04 - permissions: - id-token: write steps: - name: Get version from tag run: | @@ -17,6 +19,7 @@ jobs: NPM_VERSION=$(echo "$VERSION" | sed 's/\([0-9]\)a\([0-9]\)/\1-alpha.\2/;s/\([0-9]\)b\([0-9]\)/\1-beta.\2/;s/\([0-9]\)rc\([0-9]\)/\1-rc.\2/') echo "VERSION=$VERSION" >> $GITHUB_ENV echo "NPM_VERSION=$NPM_VERSION" >> $GITHUB_ENV + echo "NPM_TAG=$(echo "$NPM_VERSION" | grep -q '-' && echo 'next' || echo 'latest')" >> $GITHUB_ENV - name: Ubuntu packages run: | sudo apt-get update @@ -34,13 +37,13 @@ jobs: poetry run python -m pip install --upgrade pip poetry run python -m pip install --upgrade setuptools poetry install --only=doc - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v4 with: - node-version: '22.x' + node-version: '24' registry-url: 'https://registry.npmjs.org' - run: npm version --no-git-tag-version "$NPM_VERSION" working-directory: npm/ide-docs - run: yarn build working-directory: npm/ide-docs - - run: npm publish + - run: npm publish --tag "$NPM_TAG" working-directory: npm/ide-docs diff --git a/.github/workflows/publish-jedi.yml b/.github/workflows/publish-jedi.yml index 6d911b4..a293fb9 100644 --- a/.github/workflows/publish-jedi.yml +++ b/.github/workflows/publish-jedi.yml @@ -5,11 +5,13 @@ on: tags: - 'v4.*' +permissions: + id-token: write + contents: read + jobs: publish_jedi: runs-on: ubuntu-22.04 - permissions: - id-token: write steps: - uses: actions/checkout@v6 - name: Get version from tag @@ -18,6 +20,7 @@ jobs: NPM_VERSION=$(echo "$VERSION" | sed 's/\([0-9]\)a\([0-9]\)/\1-alpha.\2/;s/\([0-9]\)b\([0-9]\)/\1-beta.\2/;s/\([0-9]\)rc\([0-9]\)/\1-rc.\2/') echo "VERSION=$VERSION" >> $GITHUB_ENV echo "NPM_VERSION=$NPM_VERSION" >> $GITHUB_ENV + echo "NPM_TAG=$(echo "$NPM_VERSION" | grep -q '-' && echo 'next' || echo 'latest')" >> $GITHUB_ENV - name: Set up Python uses: actions/setup-python@v5 with: @@ -27,11 +30,11 @@ jobs: - name: Set pybricks-jedi version run: poetry version "$VERSION" working-directory: jedi - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v4 with: - node-version: '22.x' + node-version: '24' registry-url: 'https://registry.npmjs.org' - run: ./build.py "$NPM_VERSION" working-directory: npm/jedi - - run: npm publish + - run: npm publish --tag "$NPM_TAG" working-directory: npm/jedi/build diff --git a/CHANGELOG.md b/CHANGELOG.md index 72972bb..c1814a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,31 @@ ## Unreleased +## 4.0.0b4 - 2026-05-29 + +### Changed + +- Tag npm prereleases. + +## 4.0.0b4 - 2026-05-29 + +### Changed + +- Bump node version. + +## 4.0.0b3 - 2026-05-29 + +### Changed + +- Fixed NPM publishing permissions. + +## 4.0.0b2 - 2026-05-29 + +### Changed + +- Change NPM publishing to trusted publishers. + + ## 4.0.0b1 - 2026-05-29 ### Changed diff --git a/npm/ide-docs/package.json b/npm/ide-docs/package.json index 846d0f3..f5881a4 100644 --- a/npm/ide-docs/package.json +++ b/npm/ide-docs/package.json @@ -4,7 +4,7 @@ "description": "Special build of Pybricks API docs for embedding in an IDE.", "repository": { "type": "git", - "url": "https://github.com/pybricks/pybricks-api", + "url": "git+https://github.com/pybricks/pybricks-api.git", "directory": "npm/ide-docs" }, "publishConfig": { diff --git a/npm/images/build.py b/npm/images/build.py index ea6d9f4..838ffaf 100755 --- a/npm/images/build.py +++ b/npm/images/build.py @@ -18,7 +18,7 @@ package_json = { "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/pybricks/pybricks-api", + "url": "git+https://github.com/pybricks/pybricks-api.git", "directory": "npm/images", }, "publishConfig": {"registry": "https://registry.npmjs.org", "access": "public"}, diff --git a/npm/jedi/build.py b/npm/jedi/build.py index 4390c1d..99f3274 100755 --- a/npm/jedi/build.py +++ b/npm/jedi/build.py @@ -24,7 +24,7 @@ package_json = { "description": "Binary distribution of pybricks-jedi Python package and dependencies for use with Pyodide.", "repository": { "type": "git", - "url": "https://github.com/pybricks/pybricks-api", + "url": "git+https://github.com/pybricks/pybricks-api.git", "directory": "npm/jedi", }, "publishConfig": {"registry": "https://registry.npmjs.org", "access": "public"}, diff --git a/pyproject.toml b/pyproject.toml index 9572f90..7419a27 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pybricks" -version = "4.0.0b1" +version = "4.0.0b5" description = "Documentation and user-API stubs for Pybricks MicroPython" authors = ["The Pybricks Authors "] maintainers = ["Laurens Valk ", "David Lechner " ]