chore(deps): update dependency @types/node to v22.13.4 #68
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "[impit-node] Test & Build" | |
env: | |
DEBUG: napi:* | |
APP_NAME: impit-node | |
MACOSX_DEPLOYMENT_TARGET: '10.13' | |
RUSTFLAGS: '--cfg reqwest_unstable' | |
permissions: | |
contents: write | |
id-token: write | |
'on': | |
push: | |
branches: | |
- master | |
tags-ignore: | |
- '**' | |
paths: | |
- 'impit-node/**' | |
pull_request: | |
paths: | |
- 'impit-node/**' | |
- 'impit/**' | |
workflow_call: | |
jobs: | |
build: | |
defaults: | |
run: | |
working-directory: impit-node | |
strategy: | |
fail-fast: false | |
matrix: | |
settings: | |
- host: macos-latest | |
target: x86_64-apple-darwin | |
build: yarn --cwd impit-node build --target x86_64-apple-darwin | |
- host: windows-latest | |
build: yarn --cwd impit-node build --target x86_64-pc-windows-msvc | |
target: x86_64-pc-windows-msvc | |
- host: ubuntu-latest | |
target: x86_64-unknown-linux-gnu | |
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian | |
build: yarn --cwd impit-node build --target x86_64-unknown-linux-gnu | |
- host: ubuntu-latest | |
target: x86_64-unknown-linux-musl | |
docker: node:20-alpine | |
# Script taken from https://github.com/napi-rs/napi-rs/blob/main/alpine.Dockerfile | |
build: | | |
export PATH="/aarch64-linux-musl-cross/bin:/usr/local/cargo/bin/rustup:/root/.cargo/bin:$PATH" RUSTFLAGS="-C target-feature=-crt-static --cfg reqwest_unstable" CC="clang" CXX="clang++" GN_EXE=gn && | |
apk add --update --no-cache bash wget cmake musl-dev clang llvm build-base python3 && | |
sed -i -e 's/v[[:digit:]]\..*\//edge\//g' /etc/apk/repositories && | |
apk add --update --no-cache --repository https://dl-cdn.alpinelinux.org/alpine/edge/testing rustup git gn tar ninja && | |
apk update && | |
apk upgrade && | |
rustup-init -y && | |
yarn global add pnpm lerna && | |
rustup target add aarch64-unknown-linux-musl && | |
wget https://github.com/napi-rs/napi-rs/releases/download/linux-musl-cross%4010/aarch64-linux-musl-cross.tgz && | |
tar -xvf aarch64-linux-musl-cross.tgz && | |
rm aarch64-linux-musl-cross.tgz && | |
apk add perl && | |
ln -s /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/crtbeginS.o /usr/lib/crtbeginS.o && | |
ln -s /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/crtendS.o /usr/lib/crtendS.o && | |
ln -s /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/libgcc.a /usr/lib/libgcc.a && | |
corepack enable && | |
yarn --cwd impit-node build --target x86_64-unknown-linux-musl | |
- host: macos-latest | |
target: aarch64-apple-darwin | |
build: yarn --cwd impit-node build --target aarch64-apple-darwin | |
- host: windows-latest | |
target: aarch64-pc-windows-msvc | |
build: yarn --cwd impit-node build --target aarch64-pc-windows-msvc | |
name: stable - ${{ matrix.settings.target }} - node@22 | |
runs-on: ${{ matrix.settings.host }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Enable Corepack | |
run: | | |
corepack enable | |
corepack prepare yarn@stable --activate | |
- name: Activate cache for Node.js 20 | |
uses: actions/setup-node@v4 | |
if: ${{ matrix.settings.target != 'x86_64-unknown-linux-musl' }} | |
with: | |
node-version: 20 | |
cache: yarn | |
cache-dependency-path: impit-node/yarn.lock | |
- name: Install | |
uses: dtolnay/rust-toolchain@stable | |
if: ${{ !matrix.settings.docker }} | |
with: | |
toolchain: stable | |
targets: ${{ matrix.settings.target }} | |
- name: Cache cargo | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
.cargo-cache | |
target/ | |
key: ${{ matrix.settings.target }}-cargo-${{ matrix.settings.host }} | |
- uses: goto-bus-stop/setup-zig@v2 | |
if: ${{ matrix.settings.target == 'armv7-unknown-linux-gnueabihf' || matrix.settings.target == 'armv7-unknown-linux-musleabihf' }} | |
with: | |
version: 0.13.0 | |
- name: Setup toolchain | |
run: ${{ matrix.settings.setup }} | |
if: ${{ matrix.settings.setup }} | |
shell: bash | |
- name: Setup node x86 | |
if: matrix.settings.target == 'i686-pc-windows-msvc' | |
run: yarn --cwd impit-node config set supportedArchitectures.cpu "ia32" | |
shell: bash | |
- name: Install dependencies | |
run: yarn --cwd impit-node install | |
- name: Setup node x86 | |
uses: actions/setup-node@v4 | |
if: matrix.settings.target == 'i686-pc-windows-msvc' | |
with: | |
node-version: 22 | |
cache: yarn | |
cache-dependency-path: impit-node/yarn.lock | |
architecture: x86 | |
- name: Build in docker | |
uses: addnab/docker-run-action@v3 | |
if: ${{ matrix.settings.docker }} | |
with: | |
image: ${{ matrix.settings.docker }} | |
options: '--user 0:0 -v ${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v ${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v ${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v ${{ github.workspace }}:/build -w /build' | |
run: ${{ matrix.settings.build }} | |
- name: Build | |
run: ${{ matrix.settings.build }} | |
if: ${{ !matrix.settings.docker }} | |
shell: bash | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: bindings-${{ matrix.settings.target }} | |
path: impit-node/${{ env.APP_NAME }}.*.node | |
if-no-files-found: error | |
test-macOS-windows-binding: | |
name: Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} | |
needs: | |
- build | |
strategy: | |
fail-fast: false | |
matrix: | |
settings: | |
- host: macos-latest | |
target: x86_64-apple-darwin | |
- host: windows-latest | |
target: x86_64-pc-windows-msvc | |
node: | |
- '20' | |
- '22' | |
runs-on: ${{ matrix.settings.host }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
architecture: x64 | |
- name: Enable Corepack | |
run: | | |
corepack enable | |
corepack prepare yarn@stable --activate | |
- name: Activate cache for Node.js | |
uses: actions/setup-node@v4 | |
with: | |
cache: yarn | |
cache-dependency-path: impit-node/yarn.lock | |
- name: Install dependencies | |
run: yarn --cwd impit-node install | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: bindings-${{ matrix.settings.target }} | |
path: impit-node | |
- name: List packages | |
run: ls -R . | |
shell: bash | |
- name: Test bindings | |
env: | |
APIFY_HTTPBIN_TOKEN: ${{ secrets.APIFY_HTTPBIN_TOKEN }} | |
run: yarn --cwd impit-node test | |
test-linux-x64-gnu-binding: | |
name: Test bindings on Linux-x64-gnu - node@${{ matrix.node }} | |
needs: | |
- build | |
strategy: | |
fail-fast: false | |
matrix: | |
node: | |
- '20' | |
- '22' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Enable Corepack | |
run: | | |
corepack enable | |
corepack prepare yarn@stable --activate | |
- name: Activate cache for Node.js | |
uses: actions/setup-node@v4 | |
with: | |
cache: yarn | |
cache-dependency-path: impit-node/yarn.lock | |
- name: Install dependencies | |
run: yarn --cwd impit-node install | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: bindings-x86_64-unknown-linux-gnu | |
path: impit-node | |
- name: List packages | |
run: ls -R . | |
shell: bash | |
- name: Test bindings | |
run: docker run -e CI=1 -e APIFY_HTTPBIN_TOKEN=${{ secrets.APIFY_HTTPBIN_TOKEN }} --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-slim sh -c "corepack enable && yarn --cwd impit-node test" | |
test-linux-x64-musl-binding: | |
name: Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} | |
needs: | |
- build | |
strategy: | |
fail-fast: false | |
matrix: | |
node: | |
- '20' | |
- '22' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Enable Corepack | |
run: | | |
corepack enable | |
corepack prepare yarn@stable --activate | |
- name: Activate cache for Node.js | |
uses: actions/setup-node@v4 | |
with: | |
cache: yarn | |
cache-dependency-path: impit-node/yarn.lock | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: bindings-x86_64-unknown-linux-musl | |
path: impit-node | |
- name: List packages | |
run: ls -R . | |
shell: bash | |
- name: Test bindings | |
run: | | |
docker run -e CI=1 -e APIFY_HTTPBIN_TOKEN=${{ secrets.APIFY_HTTPBIN_TOKEN }} --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-alpine sh -c "corepack enable && yarn --cwd impit-node install && yarn --cwd impit-node test" | |