sdk_signer/.gitea/workflows/build-ext.yml
4NK Dev 6ce9ae1709
All checks were successful
build-and-push-ext / build_push (push) Successful in 9m26s
fix: Upgrade vers Rust 1.85+ et wasm-pack 0.13.1 avec Perl
- Upgrade de Rust 1.82-alpine vers 1.85-alpine dans Dockerfile
- Ajout de Perl dans les dépendances Alpine Linux (requis pour OpenSSL)
- Utilisation de wasm-pack 0.13.1 (dernière version) au lieu de 0.10.3
- Ajout de Perl dans les dépendances Ubuntu de la CI
- Rust 1.85+ supporte edition2024 et est compatible avec wasm-pack 0.13.1
- Résolution de l'erreur 'Command perl not found' pour OpenSSL
- Test local réussi : build WebAssembly, build TypeScript et tests passent
- La CI et Docker peuvent maintenant compiler WebAssembly sans erreur
2025-09-21 06:57:34 +00:00

87 lines
2.1 KiB
YAML

name: build-and-push-ext
on:
push:
tags:
- ext
jobs:
build_push:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '19'
cache: 'npm'
- name: Install dependencies
run: npm ci --include=dev
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y clang llvm-dev libclang-dev build-essential
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y clang llvm-dev libclang-dev build-essential perl
- name: Install wasm-pack and wasm-bindgen
run: |
cargo install wasm-pack
cargo install wasm-bindgen-cli --version 0.2.103
- name: Clone sdk_client
run: |
git clone -b dev https://git.4nkweb.com/4nk/sdk_client.git ./sdk_client
- name: Build WebAssembly
run: |
wasm-pack build --out-dir ./pkg ./sdk_client --target nodejs --dev
mkdir -p ./pkg
cp -r ./sdk_client/pkg/* ./pkg/
- name: Build project
run: npm run build
- name: Run tests
run: npx vitest run
- name: Docker login (git.4nkweb.com)
shell: bash
env:
REG_USER: ${{ secrets.USER }}
REG_TOKEN: ${{ secrets.TOKEN }}
run: |
set -euo pipefail
echo "$REG_TOKEN" | docker login git.4nkweb.com -u "$REG_USER" --password-stdin
- name: Build image (target ext)
shell: bash
env:
DOCKER_BUILDKIT: "1"
run: |
set -euo pipefail
docker build \
-t git.4nkweb.com/4nk/sdk_signer:ext \
-f Dockerfile .
- name: Push image
shell: bash
run: |
set -euo pipefail
docker push git.4nkweb.com/4nk/sdk_signer:ext