diff --git a/.github/workflows/build-and-tests.yml b/.github/workflows/build-and-tests.yml index 05b3bbd64..7e924dcbb 100644 --- a/.github/workflows/build-and-tests.yml +++ b/.github/workflows/build-and-tests.yml @@ -160,6 +160,9 @@ jobs: sudo apt-get update sudo apt-get install gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu -y cross: napi + - host: ubuntu-latest + target: powerpc64le-unknown-linux-musl + cross: zig - host: ubuntu-latest target: s390x-unknown-linux-gnu env: @@ -183,6 +186,9 @@ jobs: --slave /usr/bin/loongarch64-linux-gnu-gcov loongarch64-linux-gnu-gcov /usr/bin/loongarch64-linux-gnu-gcov-13 sudo update-alternatives \ --install /usr/bin/loongarch64-linux-gnu-cpp loongarch64-linux-gnu-cpp /usr/bin/loongarch64-linux-gnu-cpp-13 100 + - host: ubuntu-latest + target: loongarch64-unknown-linux-musl + cross: zig - host: ubuntu-latest target: aarch64-unknown-linux-ohos @@ -302,6 +308,65 @@ jobs: if-no-files-found: error if: ${{ !matrix.settings.is-wasm-build }} + build-openbsd: + name: Build x86_64-unknown-openbsd + runs-on: ubuntu-latest + strategy: + matrix: + os: + - name: openbsd + architecture: x86-64 + version: '7.8' + + steps: + - name: Checkout Commit + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + + - name: Restore Cargo cache + uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + with: + path: | + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + .cargo-cache + rust/target/ + key: x86_64-unknown-openbsd-cargo-ubuntu-latest-${{ hashFiles('rust/Cargo.lock') }} + restore-keys: x86_64-unknown-openbsd-cargo-ubuntu-latest + + - name: Install and Cache Node Dependencies + uses: ./.github/actions/install-and-cache-node-deps + + - name: Build (OpenBSD) + uses: cross-platform-actions/action@v0.32.0 + with: + operating_system: ${{ matrix.os.name }} + architecture: ${{ matrix.os.architecture }} + version: ${{ matrix.os.version }} + run: | + sudo pkg_add rust node cmake + sed -i 's^rustflags.*^^g' rust/bindings_napi/.cargo/config.toml + npm run build:napi + + - name: Save Cargo cache + if: github.ref == 'refs/heads/master' + uses: actions/cache/save@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + with: + path: | + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + .cargo-cache + rust/target/ + key: x86_64-unknown-openbsd-cargo-ubuntu-latest-${{ hashFiles('rust/Cargo.lock') }} + + - name: Upload napi artifact + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + with: + name: bindings-x86_64-unknown-openbsd + path: ${{ env.APP_NAME }}.*.node + if-no-files-found: error + # smoke test for some architectures that do not receive the full test suite smoke-test: permissions: @@ -392,6 +457,7 @@ jobs: name: Test${{ matrix.additionalName || '' }} Node ${{ matrix.node }} (${{ matrix.settings.target }}) needs: - build + - build-openbsd strategy: fail-fast: false matrix: diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c8606ab7..2c133ceed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,48 @@ # rollup changelog +## 4.55.1 + +_2026-01-05_ + +### Bug Fixes + +- Fix artifact reference for OpenBSD (#6231) + +### Pull Requests + +- [#6231](https://github.com/rollup/rollup/pull/6231): Fix OpenBSD artifacts and ensure OIDC is working (@lukastaegert) + +## 4.55.0 + +_2026-01-05_ + +### Features + +- Natively support ppc64 Linux Musl targets (#5997) +- Natively support loong64 Linux Musl targets (#5997) +- Natively support OpenBSD targets (#6224) + +### Bug Fixes + +- Prevent some cycles when using top-level-await (#6221) +- Warn when generating cycling manual chunks (#6225) + +### Pull Requests + +- [#5997](https://github.com/rollup/rollup/pull/5997): Add support for ppc64 & loong64 musl linux (@fossdd) +- [#6218](https://github.com/rollup/rollup/pull/6218): fix(deps): update swc monorepo (major) (@renovate[bot], @lukastaegert) +- [#6219](https://github.com/rollup/rollup/pull/6219): fix(deps): lock file maintenance minor/patch updates (@renovate[bot]) +- [#6220](https://github.com/rollup/rollup/pull/6220): chore(deps): lock file maintenance (@renovate[bot]) +- [#6221](https://github.com/rollup/rollup/pull/6221): Handle TLA dynamic import cycles in chunkAssignment (@TrickyPi) +- [#6222](https://github.com/rollup/rollup/pull/6222): Apply to adjust the description of the command-line parameter 'rollup… (@image-gif, @lukastaegert) +- [#6223](https://github.com/rollup/rollup/pull/6223): Deduplicate CLI help file (@lukastaegert) +- [#6224](https://github.com/rollup/rollup/pull/6224): OpenBSD support (@edshot99, @lukastaegert) +- [#6225](https://github.com/rollup/rollup/pull/6225): Throw a warning for circular chunks (@TrickyPi) +- [#6226](https://github.com/rollup/rollup/pull/6226): fix(deps): update swc monorepo (major) (@renovate[bot]) +- [#6227](https://github.com/rollup/rollup/pull/6227): chore(deps): lock file maintenance minor/patch updates (@renovate[bot]) +- [#6228](https://github.com/rollup/rollup/pull/6228): chore(deps): lock file maintenance minor/patch updates (@renovate[bot]) +- [#6229](https://github.com/rollup/rollup/pull/6229): chore(deps): lock file maintenance minor/patch updates (@renovate[bot]) + ## 4.54.0 _2025-12-20_ diff --git a/browser/package.json b/browser/package.json index a4761b1e1..e3c5f3c69 100644 --- a/browser/package.json +++ b/browser/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/browser", - "version": "4.54.0", + "version": "4.55.1", "description": "Next-generation ES module bundler browser build", "main": "dist/rollup.browser.js", "module": "dist/es/rollup.browser.js", diff --git a/native.js b/native.js index c5a65c3ed..e49848245 100644 --- a/native.js +++ b/native.js @@ -34,12 +34,15 @@ const bindingsByPlatformAndArch = { linux: { arm: { base: 'linux-arm-gnueabihf', musl: 'linux-arm-musleabihf' }, arm64: { base: 'linux-arm64-gnu', musl: 'linux-arm64-musl' }, - loong64: { base: 'linux-loong64-gnu', musl: null }, - ppc64: { base: 'linux-ppc64-gnu', musl: null }, + loong64: { base: 'linux-loong64-gnu', musl: 'linux-loong64-musl' }, + ppc64: { base: 'linux-ppc64-gnu', musl: 'linux-ppc64-musl' }, riscv64: { base: 'linux-riscv64-gnu', musl: 'linux-riscv64-musl' }, s390x: { base: 'linux-s390x-gnu', musl: null }, x64: { base: 'linux-x64-gnu', musl: 'linux-x64-musl' } }, + openbsd: { + x64: { base: 'openbsd-x64' } + }, openharmony: { arm64: { base: 'openharmony-arm64' } }, diff --git a/npm/linux-loong64-musl/README.md b/npm/linux-loong64-musl/README.md new file mode 100644 index 000000000..471875c26 --- /dev/null +++ b/npm/linux-loong64-musl/README.md @@ -0,0 +1,3 @@ +# `@rollup/rollup-linux-loong64-musl` + +This is the **loongarch64-unknown-linux-musl** binary for `rollup` diff --git a/npm/linux-loong64-musl/package.json b/npm/linux-loong64-musl/package.json new file mode 100644 index 000000000..e5ad45c8f --- /dev/null +++ b/npm/linux-loong64-musl/package.json @@ -0,0 +1,25 @@ +{ + "name": "@rollup/rollup-linux-loong64-musl", + "version": "0.0.0", + "os": [ + "linux" + ], + "cpu": [ + "loong64" + ], + "files": [ + "rollup.linux-loong64-musl.node" + ], + "description": "Native bindings for Rollup", + "author": "Lukas Taegert-Atkinson", + "homepage": "https://rollupjs.org/", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/rollup/rollup.git" + }, + "libc": [ + "musl" + ], + "main": "./rollup.linux-loong64-musl.node" +} diff --git a/npm/linux-ppc64-musl/README.md b/npm/linux-ppc64-musl/README.md new file mode 100644 index 000000000..dbfcfd1c1 --- /dev/null +++ b/npm/linux-ppc64-musl/README.md @@ -0,0 +1,3 @@ +# `@rollup/rollup-linux-ppc64-musl` + +This is the **powerpc64le-unknown-linux-musl** binary for `rollup` diff --git a/npm/linux-ppc64-musl/package.json b/npm/linux-ppc64-musl/package.json new file mode 100644 index 000000000..ce6cf5add --- /dev/null +++ b/npm/linux-ppc64-musl/package.json @@ -0,0 +1,25 @@ +{ + "name": "@rollup/rollup-linux-ppc64-musl", + "version": "0.0.0", + "os": [ + "linux" + ], + "cpu": [ + "ppc64" + ], + "files": [ + "rollup.linux-ppc64-musl.node" + ], + "description": "Native bindings for Rollup", + "author": "Lukas Taegert-Atkinson", + "homepage": "https://rollupjs.org/", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/rollup/rollup.git" + }, + "libc": [ + "musl" + ], + "main": "./rollup.linux-ppc64-musl.node" +} diff --git a/npm/openbsd-x64/README.md b/npm/openbsd-x64/README.md new file mode 100644 index 000000000..8f599d029 --- /dev/null +++ b/npm/openbsd-x64/README.md @@ -0,0 +1,3 @@ +# `@rollup/rollup-openbsd-x64` + +This is the **x86_64-unknown-openbsd** binary for `rollup` diff --git a/npm/openbsd-x64/package.json b/npm/openbsd-x64/package.json new file mode 100644 index 000000000..deb0d40ae --- /dev/null +++ b/npm/openbsd-x64/package.json @@ -0,0 +1,22 @@ +{ + "name": "@rollup/rollup-openbsd-x64", + "version": "0.0.0", + "os": [ + "openbsd" + ], + "cpu": [ + "x64" + ], + "files": [ + "rollup.openbsd-x64.node" + ], + "description": "Native bindings for Rollup", + "author": "Lukas Taegert-Atkinson", + "homepage": "https://rollupjs.org/", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/rollup/rollup.git" + }, + "main": "./rollup.openbsd-x64.node" +} diff --git a/package-lock.json b/package-lock.json index 7b8306a44..e60f63c75 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rollup", - "version": "4.54.0", + "version": "4.55.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rollup", - "version": "4.54.0", + "version": "4.55.1", "license": "MIT", "dependencies": { "@types/estree": "1.0.8" diff --git a/package.json b/package.json index 67bbda327..5181c70c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rollup", - "version": "4.54.0", + "version": "4.55.1", "description": "Next-generation ES module bundler", "main": "dist/rollup.js", "module": "dist/es/rollup.js", @@ -23,9 +23,11 @@ "armv7-unknown-linux-musleabihf", "i686-pc-windows-msvc", "loongarch64-unknown-linux-gnu", + "loongarch64-unknown-linux-musl", "riscv64gc-unknown-linux-gnu", "riscv64gc-unknown-linux-musl", "powerpc64le-unknown-linux-gnu", + "powerpc64le-unknown-linux-musl", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-pc-windows-gnu", @@ -33,6 +35,7 @@ "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", + "x86_64-unknown-openbsd", "aarch64-unknown-linux-ohos" ] },