diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index d0907972..9fecf897 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -366,11 +366,9 @@ jobs: settings: - host: macos-latest target: x86_64-apple-darwin - build: | - yarn build - strip -x *.node + build: yarn build --target x86_64-apple-darwin - host: windows-latest - build: yarn build + build: yarn build --target x86_64-pc-windows-msvc target: x86_64-pc-windows-msvc - host: windows-latest build: yarn build --target i686-pc-windows-msvc @@ -378,63 +376,37 @@ jobs: - host: ubuntu-latest target: x86_64-unknown-linux-gnu docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian - build: | - yarn build --target x86_64-unknown-linux-gnu - strip *.node + build: yarn build --target x86_64-unknown-linux-gnu - host: ubuntu-latest target: x86_64-unknown-linux-musl docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine - build: | - yarn build - strip *.node + build: yarn build --target x86_64-unknown-linux-musl - host: macos-latest target: aarch64-apple-darwin - build: | - sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; - export CC=$(xcrun -f clang); - export CXX=$(xcrun -f clang++); - SYSROOT=$(xcrun --sdk macosx --show-sdk-path); - export CFLAGS="-isysroot $SYSROOT -isystem $SYSROOT"; - yarn build --target aarch64-apple-darwin - strip -x *.node + build: yarn build --target aarch64-apple-darwin - host: ubuntu-latest target: aarch64-unknown-linux-gnu docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64 - build: | - yarn build --target aarch64-unknown-linux-gnu - aarch64-unknown-linux-gnu-strip *.node + build: yarn build --target aarch64-unknown-linux-gnu - host: ubuntu-latest target: armv7-unknown-linux-gnueabihf build: | sudo apt-get update - sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y - yarn build --target=armv7-unknown-linux-gnueabihf - arm-linux-gnueabihf-strip *.node + sudo apt-get install gcc-arm-linux-gnueabihf -y + yarn build --target armv7-unknown-linux-gnueabihf - host: ubuntu-latest target: aarch64-linux-android - build: | - export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang" - export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang" - export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++" - export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}" - yarn build --target aarch64-linux-android - llvm-strip *.node + build: yarn build --target aarch64-linux-android - host: ubuntu-latest target: armv7-linux-androideabi - build: | - export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang" - export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang" - export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++" - export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}" - yarn build --target armv7-linux-androideabi - llvm-strip *.node + build: yarn build --target armv7-linux-androideabi - host: ubuntu-latest target: aarch64-unknown-linux-musl docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine - build: | - rustup target add aarch64-unknown-linux-musl + build: |- + set -e && + rustup target add aarch64-unknown-linux-musl && yarn build --target aarch64-unknown-linux-musl - /aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip *.node - host: windows-latest target: aarch64-pc-windows-msvc build: yarn build --target aarch64-pc-windows-msvc @@ -498,50 +470,49 @@ jobs: name: node-${{ matrix.settings.target }} path: decancer.*.node if-no-files-found: error - #node-freebsd: - # runs-on: macos-12 - # needs: - # - setup - # - core - # if: ${{ always() && (needs.setup.outputs.release != 'null' || needs.setup.outputs.node_affected == 'true') }} - # name: Build node bindings on FreeBSD - # steps: - # - uses: actions/checkout@v4 - # - name: Build - # id: build - # uses: cross-platform-actions/action@v0.23.0 - # timeout-minutes: 30 - # env: - # DEBUG: napi:* - # RUSTUP_IO_THREADS: 1 - # with: - # operating_system: freebsd - # version: '13.2' - # memory: 8G - # cpu_count: 3 - # environment_variables: DEBUG RUSTUP_IO_THREADS - # shell: bash - # run: | - # sudo pkg install -y -f curl node libnghttp2 npm - # sudo npm install -g yarn --ignore-scripts - # curl https://sh.rustup.rs -sSf --output rustup.sh - # sh rustup.sh -y --profile minimal --default-toolchain stable - # source "$HOME/.cargo/env" - # cd ./bindings/node - # yarn install - # yarn build - # strip -x *.node - # mv ./decancer.freebsd-x64.node ../.. - # rm -rf node_modules - # rm -rf target - # rm -rf .yarn/cache - # - name: Upload artifact - # if: ${{ needs.setup.outputs.release != 'null' }} - # uses: actions/upload-artifact@v4 - # with: - # name: node-freebsd-x64 - # path: decancer.freebsd-x64.node - # if-no-files-found: error + node-freebsd: + runs-on: macos-13 + needs: + - setup + - core + if: ${{ always() && (needs.setup.outputs.release != 'null' || needs.setup.outputs.node_affected == 'true') }} + name: Build node bindings on FreeBSD + steps: + - uses: actions/checkout@v4 + - name: Build + id: build + uses: cross-platform-actions/action@v0.24.0 + timeout-minutes: 30 + env: + DEBUG: napi:* + RUSTUP_IO_THREADS: 1 + with: + operating_system: freebsd + version: '13.3' + memory: 8G + cpu_count: 3 + environment_variables: DEBUG RUSTUP_IO_THREADS + shell: bash + run: | + sudo pkg install -y -f curl node libnghttp2 npm + sudo npm install -g yarn --ignore-scripts + curl https://sh.rustup.rs -sSf --output rustup.sh + sh rustup.sh -y --profile minimal --default-toolchain stable + source "$HOME/.cargo/env" + cd ./bindings/node + yarn install + yarn build + mv ./decancer.freebsd-x64.node ../.. + rm -rf node_modules + rm -rf target + rm -rf .yarn/cache + - name: Upload artifact + if: ${{ needs.setup.outputs.release != 'null' }} + uses: actions/upload-artifact@v4 + with: + name: node-freebsd-x64 + path: decancer.freebsd-x64.node + if-no-files-found: error node-test: name: Test node bindings needs: @@ -780,7 +751,7 @@ jobs: needs: - setup - node-test - #- node-freebsd + - node-freebsd - native-test - commit - pages diff --git a/README.md b/README.md index 28da29ea..32460470 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ A library that removes common unicode confusables/homoglyphs from strings. In your `Cargo.toml`: ```toml -decancer = "3.2.4" +decancer = "3.2.7" ``` @@ -78,7 +78,7 @@ In your code: ```html @@ -90,7 +90,7 @@ In your code: ### As a JAR file -[You can download the latest JAR file here.](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer.jar) +[You can download the latest JAR file here.](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer.jar) ### As a dependency @@ -103,7 +103,7 @@ repositories { } dependencies { - implementation 'io.github.null8626:decancer:3.2.4' + implementation 'io.github.null8626:decancer:3.2.7' } ``` @@ -125,7 +125,7 @@ In your `pom.xml`: io.github.null8626 decancer - 3.2.4 + 3.2.7 ``` @@ -160,35 +160,35 @@ Tip: You can shrink the size of the resulting JAR file by removing binaries in t ### Download -- [Header file](https://raw.githubusercontent.com/null8626/decancer/v3.2.4/bindings/native/decancer.h) -- [Download for ARM64 macOS (11.0+, Big Sur+)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-aarch64-apple-darwin.zip) -- [Download for ARM64 iOS](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-aarch64-apple-ios.zip) -- [Download for Apple iOS Simulator on ARM6](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-aarch64-apple-ios-sim.zip) -- [Download for ARM64 Android](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-aarch64-linux-android.zip) -- [Download for ARM64 Windows MSVC](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-aarch64-pc-windows-msvc.zip) -- [Download for ARM64 Linux (kernel 4.1, glibc 2.17+)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-aarch64-unknown-linux-gnu.zip) -- [Download for ARM64 Linux with MUSL](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-aarch64-unknown-linux-musl.zip) -- [Download for ARMv6 Linux (kernel 3.2, glibc 2.17)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-arm-unknown-linux-gnueabi.zip) -- [Download for ARMv5TE Linux (kernel 4.4, glibc 2.23)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-armv5te-unknown-linux-gnueabi.zip) -- [Download for ARMv7-A Android](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-armv7-linux-androideabi.zip) -- [Download for ARMv7-A Linux (kernel 4.15, glibc 2.27)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-armv7-unknown-linux-gnueabi.zip) -- [Download for ARMv7-A Linux, hardfloat (kernel 3.2, glibc 2.17)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-armv7-unknown-linux-gnueabihf.zip) -- [Download for 32-bit Linux w/o SSE (kernel 3.2, glibc 2.17)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-i586-unknown-linux-gnu.zip) -- [Download for 32-bit MSVC (Windows 7+)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-i686-pc-windows-msvc.zip) -- [Download for 32-bit FreeBSD](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-i686-unknown-freebsd.zip) -- [Download for 32-bit Linux (kernel 3.2+, glibc 2.17+)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-i686-unknown-linux-gnu.zip) -- [Download for PPC64LE Linux (kernel 3.10, glibc 2.17)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-powerpc64le-unknown-linux-gnu.zip) -- [Download for RISC-V Linux (kernel 4.20, glibc 2.29)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-riscv64gc-unknown-linux-gnu.zip) -- [Download for S390x Linux (kernel 3.2, glibc 2.17)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-s390x-unknown-linux-gnu.zip) -- [Download for SPARC Solaris 11, illumos](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-sparcv9-sun-solaris.zip) -- [Download for Thumb2-mode ARMv7-A Linux with NEON (kernel 4.4, glibc 2.23)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-thumbv7neon-unknown-linux-gnueabihf.zip) -- [Download for 64-bit macOS (10.12+, Sierra+)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-x86_64-apple-darwin.zip) -- [Download for 64-bit iOS](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-x86_64-apple-ios.zip) -- [Download for 64-bit MSVC (Windows 7+)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-x86_64-pc-windows-msvc.zip) -- [Download for 64-bit FreeBSD](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-x86_64-unknown-freebsd.zip) -- [Download for 64-bit illumos](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-x86_64-unknown-illumos.zip) -- [Download for 64-bit Linux (kernel 3.2+, glibc 2.17+)](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-x86_64-unknown-linux-gnu.zip) -- [Download for 64-bit Linux with MUSL](https://github.com/null8626/decancer/releases/download/v3.2.4/decancer-x86_64-unknown-linux-musl.zip) +- [Header file](https://raw.githubusercontent.com/null8626/decancer/v3.2.7/bindings/native/decancer.h) +- [Download for ARM64 macOS (11.0+, Big Sur+)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-aarch64-apple-darwin.zip) +- [Download for ARM64 iOS](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-aarch64-apple-ios.zip) +- [Download for Apple iOS Simulator on ARM6](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-aarch64-apple-ios-sim.zip) +- [Download for ARM64 Android](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-aarch64-linux-android.zip) +- [Download for ARM64 Windows MSVC](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-aarch64-pc-windows-msvc.zip) +- [Download for ARM64 Linux (kernel 4.1, glibc 2.17+)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-aarch64-unknown-linux-gnu.zip) +- [Download for ARM64 Linux with MUSL](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-aarch64-unknown-linux-musl.zip) +- [Download for ARMv6 Linux (kernel 3.2, glibc 2.17)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-arm-unknown-linux-gnueabi.zip) +- [Download for ARMv5TE Linux (kernel 4.4, glibc 2.23)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-armv5te-unknown-linux-gnueabi.zip) +- [Download for ARMv7-A Android](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-armv7-linux-androideabi.zip) +- [Download for ARMv7-A Linux (kernel 4.15, glibc 2.27)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-armv7-unknown-linux-gnueabi.zip) +- [Download for ARMv7-A Linux, hardfloat (kernel 3.2, glibc 2.17)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-armv7-unknown-linux-gnueabihf.zip) +- [Download for 32-bit Linux w/o SSE (kernel 3.2, glibc 2.17)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-i586-unknown-linux-gnu.zip) +- [Download for 32-bit MSVC (Windows 7+)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-i686-pc-windows-msvc.zip) +- [Download for 32-bit FreeBSD](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-i686-unknown-freebsd.zip) +- [Download for 32-bit Linux (kernel 3.2+, glibc 2.17+)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-i686-unknown-linux-gnu.zip) +- [Download for PPC64LE Linux (kernel 3.10, glibc 2.17)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-powerpc64le-unknown-linux-gnu.zip) +- [Download for RISC-V Linux (kernel 4.20, glibc 2.29)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-riscv64gc-unknown-linux-gnu.zip) +- [Download for S390x Linux (kernel 3.2, glibc 2.17)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-s390x-unknown-linux-gnu.zip) +- [Download for SPARC Solaris 11, illumos](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-sparcv9-sun-solaris.zip) +- [Download for Thumb2-mode ARMv7-A Linux with NEON (kernel 4.4, glibc 2.23)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-thumbv7neon-unknown-linux-gnueabihf.zip) +- [Download for 64-bit macOS (10.12+, Sierra+)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-x86_64-apple-darwin.zip) +- [Download for 64-bit iOS](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-x86_64-apple-ios.zip) +- [Download for 64-bit MSVC (Windows 7+)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-x86_64-pc-windows-msvc.zip) +- [Download for 64-bit FreeBSD](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-x86_64-unknown-freebsd.zip) +- [Download for 64-bit illumos](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-x86_64-unknown-illumos.zip) +- [Download for 64-bit Linux (kernel 3.2+, glibc 2.17+)](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-x86_64-unknown-linux-gnu.zip) +- [Download for 64-bit Linux with MUSL](https://github.com/null8626/decancer/releases/download/v3.2.7/decancer-x86_64-unknown-linux-musl.zip) ### Building from source @@ -292,7 +292,7 @@ console.log(cured.toString())