/
githubmirror
/
taro
Обзор
Документация
Войти
/
githubmirror
/
taro
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
.github/workflows/build-rust-binding.yml
111 строк
4 KB
vasily
fix(ci): pin pnpm version across workflows (#19272)
25 май 2026, 10:52
Не верифицирован
25 май 2026, 10:52
bd51e97
Код
Авторство
О чём код?
name: Build Rust Binaries on: workflow_call: inputs: name: description: 'The name of the binary to build' required: false default: 'taro' type: string jobs: build: strategy: fail-fast: false matrix: node-version: [18.x] settings: - host: macos-latest target: x86_64-apple-darwin build: | pnpm build:binding:release --target x86_64-apple-darwin strip -x crates/native_binding/*.node - host: windows-latest target: x86_64-pc-windows-msvc build: pnpm build:binding:release --target x86_64-pc-windows-msvc - host: ubuntu-22.04 target: x86_64-unknown-linux-gnu docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian build: |- set -e && npm install -g corepack@0.31.0 && corepack enable && corepack prepare pnpm@10.0.0 --activate && pnpm build:binding:release --target x86_64-unknown-linux-gnu && strip crates/native_binding/*.node - host: ubuntu-22.04 target: x86_64-unknown-linux-musl docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine build: |- set -e && npm install -g corepack@0.31.0 && corepack enable && corepack prepare pnpm@10.0.0 --activate && pnpm build:binding:release --target x86_64-unknown-linux-musl && strip crates/native_binding/*.node - host: ubuntu-22.04 target: aarch64-unknown-linux-gnu docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64 build: |- set -e && npm install -g corepack@0.31.0 && corepack enable && corepack prepare pnpm@10.0.0 --activate && pnpm build:binding:release --target aarch64-unknown-linux-gnu && aarch64-unknown-linux-gnu-strip crates/native_binding/*.node - host: macos-latest target: aarch64-apple-darwin build: | pnpm build:binding:release --target aarch64-apple-darwin strip -x crates/native_binding/*.node name: stable - ${{ matrix.settings.target }} runs-on: ${{ matrix.settings.host }} steps: - name: Checkout uses: actions/checkout@v5 - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 10.0.0 - name: Setup Node.js ${{ matrix.node-version }} uses: actions/setup-node@v6 if: ${{ !matrix.settings.docker }} with: node-version: ${{ matrix.node-version }} cache: 'pnpm' - name: Setup Rust 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 }} - name: Install dependencies run: pnpm install --filter @tarojs/binding... --frozen-lockfile - 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: crates/native_binding/${{ inputs.name }}.*.node if-no-files-found: error