diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index af0be35..41495f0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,6 +12,7 @@ permissions: jobs: release-please: runs-on: ubuntu-latest + timeout-minutes: 5 outputs: release_created: ${{ steps.release.outputs.release_created }} tag_name: ${{ steps.release.outputs.tag_name }} @@ -29,6 +30,7 @@ jobs: needs: release-please if: needs.release-please.outputs.release_created runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable @@ -46,6 +48,7 @@ jobs: needs: release-please if: needs.release-please.outputs.release_created runs-on: ${{ matrix.os }} + timeout-minutes: 20 strategy: fail-fast: false matrix: @@ -79,7 +82,12 @@ jobs: version: 0.13.0 - name: Install musl tools if: contains(matrix.target, 'musl') - run: sudo apt-get update && sudo apt-get install -y musl-tools musl-dev + run: | + for i in 1 2 3; do + sudo apt-get update && sudo apt-get install -y musl-tools musl-dev && exit 0 + sleep 10 + done + exit 1 - run: npm ci working-directory: bindings/nodejs - run: npx napi build --platform --release --target ${{ matrix.target }} @@ -93,6 +101,7 @@ jobs: publish-nodejs: needs: build-nodejs runs-on: ubuntu-latest + timeout-minutes: 10 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -124,17 +133,7 @@ jobs: esac cp "$f" "$dest" done - - name: Publish platform packages - working-directory: bindings/nodejs - shell: bash - run: | - for pkg in npm/*/package.json; do - dir=$(dirname "$pkg") - npm publish "./$dir" --access public - done - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - - name: Publish main package + - name: Publish main package (publishes platform packages via napi prepublish) working-directory: bindings/nodejs run: npm publish --access public env: @@ -144,6 +143,7 @@ jobs: needs: release-please if: needs.release-please.outputs.release_created runs-on: ubuntu-latest + timeout-minutes: 10 steps: - uses: actions/checkout@v4 - uses: jetli/wasm-pack-action@v0.4.0 @@ -162,6 +162,7 @@ jobs: needs: release-please if: needs.release-please.outputs.release_created runs-on: ${{ matrix.os }} + timeout-minutes: 20 environment: pypi permissions: id-token: write @@ -174,13 +175,14 @@ jobs: - uses: PyO3/maturin-action@v1 with: command: publish - args: --non-interactive + args: --non-interactive --skip-existing working-directory: bindings/python build-ffi: needs: release-please if: needs.release-please.outputs.release_created runs-on: ${{ matrix.os }} + timeout-minutes: 20 strategy: fail-fast: false matrix: @@ -224,6 +226,7 @@ jobs: - build-ffi if: needs.release-please.outputs.release_created runs-on: ubuntu-latest + timeout-minutes: 10 steps: - uses: actions/checkout@v4 - uses: actions/download-artifact@v4 diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b68e780..816df2d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.0.6" + ".": "0.3.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 4af7031..4531a50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,52 @@ # Changelog +## [0.3.1](https://github.com/fullzer4/stdbr/compare/v0.3.0...v0.3.1) (2026-08-18) + + +### Bug Fixes + +* **nodejs:** let napi prepublish handle platform publishes ([6ac6829](https://github.com/fullzer4/stdbr/commit/6ac682991b5f225ce2587ef20352595f6117e6ec)) + +## [0.3.0](https://github.com/fullzer4/stdbr/compare/v0.2.0...v0.3.0) (2026-08-18) + + +### ⚠ BREAKING CHANGES + +* **nodejs:** restore @stdbr scoped npm package names ([#36](https://github.com/fullzer4/stdbr/issues/36)) + +### Bug Fixes + +* **nodejs:** restore [@stdbr](https://github.com/stdbr) scoped npm package names ([#36](https://github.com/fullzer4/stdbr/issues/36)) ([2d19b45](https://github.com/fullzer4/stdbr/commit/2d19b459787e6a134f85c17d35eba8725fc4cf5f)) + +## [0.2.0](https://github.com/fullzer4/stdbr/compare/v0.1.0...v0.2.0) (2026-08-18) + + +### ⚠ BREAKING CHANGES + +* **nodejs:** restore @stdbr scoped npm package names + +### Bug Fixes + +* **nodejs:** restore [@stdbr](https://github.com/stdbr) scoped npm package names ([004d984](https://github.com/fullzer4/stdbr/commit/004d984f68c106dfa7a917c773726b890b316ded)) + +## [0.1.0](https://github.com/fullzer4/stdbr/compare/v0.0.7...v0.1.0) (2026-08-18) + + +### ⚠ BREAKING CHANGES + +* **nodejs:** rename npm packages from @stdbr/* scope to unscoped stdbr* + +### Bug Fixes + +* **nodejs:** rename npm packages from @stdbr/* scope to unscoped stdbr* ([ecc4bf2](https://github.com/fullzer4/stdbr/commit/ecc4bf2f3f6993117dfe4c385b0f461dc4a3afc7)) + +## [0.0.7](https://github.com/fullzer4/stdbr/compare/v0.0.6...v0.0.7) (2026-08-18) + + +### Bug Fixes + +* **release:** add --skip-existing to maturin publish to tolerate duplicate sdist uploads across matrix jobs ([78aec21](https://github.com/fullzer4/stdbr/commit/78aec21e5f508465618f111566bf53c1e346ebc4)) + ## [0.0.6](https://github.com/fullzer4/stdbr/compare/v0.0.5...v0.0.6) (2026-08-17) diff --git a/Cargo.lock b/Cargo.lock index 19c04e4..e5a173e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -267,7 +267,7 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "parity-gen" -version = "0.0.6" +version = "0.3.1" dependencies = [ "serde_json", "stdbr-core", @@ -513,28 +513,28 @@ checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" [[package]] name = "stdbr" -version = "0.0.6" +version = "0.3.1" dependencies = [ "stdbr-core", ] [[package]] name = "stdbr-core" -version = "0.0.6" +version = "0.3.1" dependencies = [ "serde_json", ] [[package]] name = "stdbr-ffi" -version = "0.0.6" +version = "0.3.1" dependencies = [ "stdbr-core", ] [[package]] name = "stdbr-napi" -version = "0.0.6" +version = "0.3.1" dependencies = [ "napi", "napi-build", @@ -544,7 +544,7 @@ dependencies = [ [[package]] name = "stdbr-python" -version = "0.0.6" +version = "0.3.1" dependencies = [ "pyo3", "stdbr-core", @@ -552,7 +552,7 @@ dependencies = [ [[package]] name = "stdbr-wasm" -version = "0.0.6" +version = "0.3.1" dependencies = [ "stdbr-core", "wasm-bindgen", diff --git a/Cargo.toml b/Cargo.toml index 79468b7..25df2c7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "stdbr" -version = "0.0.6" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true @@ -12,7 +12,7 @@ keywords.workspace = true categories.workspace = true [dependencies] -stdbr-core = { path = "core", version = "0.0.6" } +stdbr-core = { path = "core", version = "0.3.1" } [workspace] resolver = "2" diff --git a/README.md b/README.md index fab5da0..407df14 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ One Rust codebase (`no_std` + `alloc`), five modules, four binding targets. Same | Target | Package | Via | |--------|---------|-----| | Rust | [![crates.io](https://img.shields.io/crates/v/stdbr.svg?label=stdbr)](https://crates.io/crates/stdbr) | direct | -| Node.js | [![npm](https://img.shields.io/badge/npm-@stdbr/stdbr-CB3837?logo=npm)](https://github.com/fullzer4/stdbr/tree/main/bindings/nodejs) | napi-rs | +| Node.js | [![npm](https://img.shields.io/npm/v/@stdbr/stdbr.svg?label=@stdbr/stdbr)](https://www.npmjs.com/package/@stdbr/stdbr) | napi-rs | | Python | [![PyPI](https://img.shields.io/pypi/v/stdbr.svg?label=stdbr)](https://pypi.org/project/stdbr/) | PyO3 | | WASM | [![npm](https://img.shields.io/npm/v/stdbr-wasm.svg?label=stdbr-wasm)](https://www.npmjs.com/package/stdbr-wasm) | wasm-bindgen | | C/C++ | [![GitHub tag](https://img.shields.io/github/v/tag/fullzer4/stdbr.svg?label=stdbr-ffi)](https://github.com/fullzer4/stdbr/releases) | `extern "C"` | diff --git a/bindings/ffi-c/Cargo.toml b/bindings/ffi-c/Cargo.toml index 64fd56f..51eba7e 100644 --- a/bindings/ffi-c/Cargo.toml +++ b/bindings/ffi-c/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "stdbr-ffi" -version = "0.0.6" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/bindings/nodejs/Cargo.toml b/bindings/nodejs/Cargo.toml index 5ba4a00..c5f5381 100644 --- a/bindings/nodejs/Cargo.toml +++ b/bindings/nodejs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "stdbr-napi" -version = "0.0.6" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/bindings/nodejs/npm/darwin-arm64/package.json b/bindings/nodejs/npm/darwin-arm64/package.json index 30bc4b9..bda455d 100644 --- a/bindings/nodejs/npm/darwin-arm64/package.json +++ b/bindings/nodejs/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@stdbr/stdbr-darwin-arm64", - "version": "0.0.6", + "version": "0.3.1", "os": [ "darwin" ], @@ -11,5 +11,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/npm/darwin-x64/package.json b/bindings/nodejs/npm/darwin-x64/package.json index 307accd..12919b8 100644 --- a/bindings/nodejs/npm/darwin-x64/package.json +++ b/bindings/nodejs/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@stdbr/stdbr-darwin-x64", - "version": "0.0.6", + "version": "0.3.1", "os": [ "darwin" ], @@ -11,5 +11,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/npm/linux-arm64-gnu/package.json b/bindings/nodejs/npm/linux-arm64-gnu/package.json index 7baf995..a5b3646 100644 --- a/bindings/nodejs/npm/linux-arm64-gnu/package.json +++ b/bindings/nodejs/npm/linux-arm64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@stdbr/stdbr-linux-arm64-gnu", - "version": "0.0.6", + "version": "0.3.1", "os": [ "linux" ], @@ -14,5 +14,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/npm/linux-x64-gnu/package.json b/bindings/nodejs/npm/linux-x64-gnu/package.json index 556a46a..c173482 100644 --- a/bindings/nodejs/npm/linux-x64-gnu/package.json +++ b/bindings/nodejs/npm/linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@stdbr/stdbr-linux-x64-gnu", - "version": "0.0.6", + "version": "0.3.1", "os": [ "linux" ], @@ -14,5 +14,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/npm/linux-x64-musl/package.json b/bindings/nodejs/npm/linux-x64-musl/package.json index 4fe0367..e625913 100644 --- a/bindings/nodejs/npm/linux-x64-musl/package.json +++ b/bindings/nodejs/npm/linux-x64-musl/package.json @@ -1,6 +1,6 @@ { "name": "@stdbr/stdbr-linux-x64-musl", - "version": "0.0.6", + "version": "0.3.1", "os": [ "linux" ], @@ -14,5 +14,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/npm/win32-x64-msvc/package.json b/bindings/nodejs/npm/win32-x64-msvc/package.json index 0f916ef..5c83fc7 100644 --- a/bindings/nodejs/npm/win32-x64-msvc/package.json +++ b/bindings/nodejs/npm/win32-x64-msvc/package.json @@ -1,6 +1,6 @@ { "name": "@stdbr/stdbr-win32-x64-msvc", - "version": "0.0.6", + "version": "0.3.1", "os": [ "win32" ], @@ -11,5 +11,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/package-lock.json b/bindings/nodejs/package-lock.json index d4d2135..364efa4 100644 --- a/bindings/nodejs/package-lock.json +++ b/bindings/nodejs/package-lock.json @@ -1,23 +1,23 @@ { "name": "@stdbr/stdbr", - "version": "0.0.1", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@stdbr/stdbr", - "version": "0.0.1", + "version": "0.1.0", "license": "MIT OR Apache-2.0", "devDependencies": { "@napi-rs/cli": "^2" }, "optionalDependencies": { - "@stdbr/stdbr-darwin-arm64": "0.0.1", - "@stdbr/stdbr-darwin-x64": "0.0.1", - "@stdbr/stdbr-linux-arm64-gnu": "0.0.1", - "@stdbr/stdbr-linux-x64-gnu": "0.0.1", - "@stdbr/stdbr-linux-x64-musl": "0.0.1", - "@stdbr/stdbr-win32-x64-msvc": "0.0.1" + "@stdbr/stdbr-darwin-arm64": "0.0.2", + "@stdbr/stdbr-darwin-x64": "0.0.2", + "@stdbr/stdbr-linux-arm64-gnu": "0.0.2", + "@stdbr/stdbr-linux-x64-gnu": "0.0.2", + "@stdbr/stdbr-linux-x64-musl": "0.0.2", + "@stdbr/stdbr-win32-x64-msvc": "0.0.2" } }, "node_modules/@napi-rs/cli": { @@ -36,24 +36,6 @@ "type": "github", "url": "https://github.com/sponsors/Brooooooklyn" } - }, - "node_modules/@stdbr/stdbr-darwin-arm64": { - "optional": true - }, - "node_modules/@stdbr/stdbr-darwin-x64": { - "optional": true - }, - "node_modules/@stdbr/stdbr-linux-arm64-gnu": { - "optional": true - }, - "node_modules/@stdbr/stdbr-linux-x64-gnu": { - "optional": true - }, - "node_modules/@stdbr/stdbr-linux-x64-musl": { - "optional": true - }, - "node_modules/@stdbr/stdbr-win32-x64-msvc": { - "optional": true } } } diff --git a/bindings/nodejs/package.json b/bindings/nodejs/package.json index fab2c9b..cf40f75 100644 --- a/bindings/nodejs/package.json +++ b/bindings/nodejs/package.json @@ -1,6 +1,6 @@ { "name": "@stdbr/stdbr", - "version": "0.0.6", + "version": "0.3.1", "type": "module", "main": "index.js", "types": "index.d.ts", @@ -22,7 +22,7 @@ "scripts": { "build": "napi build --platform --release", "artifacts": "napi artifacts", - "prepublishOnly": "napi prepublish" + "prepublishOnly": "napi prepublish --tagstyle npm --skip-gh-release" }, "optionalDependencies": { "@stdbr/stdbr-linux-x64-gnu": "0.0.2", diff --git a/bindings/python/Cargo.toml b/bindings/python/Cargo.toml index 0ce1fe1..015bd0f 100644 --- a/bindings/python/Cargo.toml +++ b/bindings/python/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "stdbr-python" -version = "0.0.6" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/bindings/python/pyproject.toml b/bindings/python/pyproject.toml index 04094c4..e884200 100644 --- a/bindings/python/pyproject.toml +++ b/bindings/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "stdbr" -version = "0.0.6" +version = "0.3.1" description = "Standard library for Brazil" readme = "README.md" license = "MIT OR Apache-2.0" diff --git a/bindings/wasm/Cargo.toml b/bindings/wasm/Cargo.toml index a62ec58..d339c10 100644 --- a/bindings/wasm/Cargo.toml +++ b/bindings/wasm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "stdbr-wasm" -version = "0.0.6" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/bindings/wasm/package.json b/bindings/wasm/package.json index 2e3815d..3935deb 100644 --- a/bindings/wasm/package.json +++ b/bindings/wasm/package.json @@ -1,6 +1,6 @@ { "name": "@stdbr/wasm", - "version": "0.0.6", + "version": "0.3.1", "main": "stdbr_wasm.js", "types": "stdbr_wasm.d.ts", "license": "MIT OR Apache-2.0", diff --git a/core/Cargo.toml b/core/Cargo.toml index 7a1a528..f350a94 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "stdbr-core" -version = "0.0.6" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/tools/parity_gen/Cargo.toml b/tools/parity_gen/Cargo.toml index ef3d822..fa5966f 100644 --- a/tools/parity_gen/Cargo.toml +++ b/tools/parity_gen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "parity-gen" -version = "0.0.6" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true