mirror of
https://github.com/AikidoSec/safe-chain.git
synced 2026-05-26 12:10:49 +00:00
Separate pipeline for binary creation
This commit is contained in:
parent
afbf3d94c2
commit
543f10657c
2 changed files with 86 additions and 19 deletions
86
.github/workflows/create-artifact.yml
vendored
Normal file
86
.github/workflows/create-artifact.yml
vendored
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
name: Create binaries
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
create-binaries:
|
||||||
|
|
||||||
|
name: Create binary for ${{ matrix.os }}-${{ matrix.arch }}
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.runner }}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: macos
|
||||||
|
arch: x64
|
||||||
|
runner: macos-15-intel
|
||||||
|
target: node22-macos-x64
|
||||||
|
extension: ''
|
||||||
|
- os: macos
|
||||||
|
arch: arm64
|
||||||
|
runner: macos-latest
|
||||||
|
target: node22-macos-arm64
|
||||||
|
extension: ''
|
||||||
|
- os: linux
|
||||||
|
arch: x64
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: node22-linux-x64
|
||||||
|
extension: ''
|
||||||
|
- os: linux
|
||||||
|
arch: arm64
|
||||||
|
runner: ubuntu-24.04-arm
|
||||||
|
target: node22-linux-arm64
|
||||||
|
extension: ''
|
||||||
|
- os: win
|
||||||
|
arch: x64
|
||||||
|
runner: windows-latest
|
||||||
|
target: node22-win-x64
|
||||||
|
extension: '.exe'
|
||||||
|
- os: win
|
||||||
|
arch: arm64
|
||||||
|
runner: windows-11-arm
|
||||||
|
target: node22-win-arm64
|
||||||
|
extension: '.exe'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Node.js
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: "lts/*"
|
||||||
|
|
||||||
|
- name: Setup safe-chain
|
||||||
|
run: |
|
||||||
|
npm i -g @aikidosec/safe-chain
|
||||||
|
safe-chain setup-ci
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Create binary (Unix)
|
||||||
|
if: matrix.os != 'win'
|
||||||
|
run: |
|
||||||
|
npm i -g esbuild@0.27.0 @yao-pkg/pkg@6.10.1
|
||||||
|
mkdir -p "dist/${{ matrix.os }}-${{ matrix.arch }}"
|
||||||
|
esbuild "./packages/safe-chain/bin/safe-chain.js" --bundle --platform=node --target=node22 > "./dist/safe-chain.cjs"
|
||||||
|
pkg "./dist/safe-chain.cjs" --targets ${{ matrix.target }} --output "./dist/${{ matrix.os }}-${{ matrix.arch }}/safe-chain${{ matrix.extension }}"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Create binary (Windows)
|
||||||
|
if: matrix.os == 'win'
|
||||||
|
run: |
|
||||||
|
npm i -g esbuild@0.27.0 @yao-pkg/pkg@6.10.1
|
||||||
|
New-Item -ItemType Directory -Force -Path "dist/${{ matrix.os }}-${{ matrix.arch }}"
|
||||||
|
esbuild "./packages/safe-chain/bin/safe-chain.js" --bundle --platform=node --target=node22 | Out-File -FilePath "./dist/safe-chain.cjs" -Encoding utf8
|
||||||
|
pkg "./dist/safe-chain.cjs" --targets ${{ matrix.target }} --output "./dist/${{ matrix.os }}-${{ matrix.arch }}/safe-chain${{ matrix.extension }}"
|
||||||
|
shell: powershell
|
||||||
|
|
||||||
|
- name: Upload binary artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: safe-chain-${{ matrix.os }}-${{ matrix.arch }}
|
||||||
|
path: dist/${{ matrix.os }}-${{ matrix.arch }}/*
|
||||||
19
.github/workflows/test-on-pr.yml
vendored
19
.github/workflows/test-on-pr.yml
vendored
|
|
@ -43,25 +43,6 @@ jobs:
|
||||||
name: safe-chain-package
|
name: safe-chain-package
|
||||||
path: aikidosec-safe-chain-*.tgz
|
path: aikidosec-safe-chain-*.tgz
|
||||||
|
|
||||||
- name: Create binaries
|
|
||||||
run: |
|
|
||||||
npm i -g esbuild@0.27.0 @yao-pkg/pkg@6.10.1
|
|
||||||
mkdir "dist"
|
|
||||||
esbuild "./packages/safe-chain/bin/safe-chain.js" --bundle --platform=node --target=node22 > "./dist/safe-chain.cjs"
|
|
||||||
pkg "./dist/safe-chain.cjs" --targets node22-macos-x64 --output "./dist/macos-x64/safe-chain"
|
|
||||||
pkg "./dist/safe-chain.cjs" --targets node22-macos-arm64 --output "./dist/macos-arm64/safe-chain"
|
|
||||||
pkg "./dist/safe-chain.cjs" --targets node22-linux-x64 --output "./dist/linux-x64/safe-chain"
|
|
||||||
pkg "./dist/safe-chain.cjs" --targets node22-linux-arm64 --output "./dist/linux-arm64/safe-chain"
|
|
||||||
pkg "./dist/safe-chain.cjs" --targets node22-win-x64 --output "./dist/win-x64/safe-chain.exe"
|
|
||||||
pkg "./dist/safe-chain.cjs" --targets node22-win-arm64 --output "./dist/win-arm64/safe-chain.exe"
|
|
||||||
ls -la ./dist
|
|
||||||
|
|
||||||
- name: Upload safe-chain-binaries
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: safe-chain-binaries
|
|
||||||
path: dist/*
|
|
||||||
|
|
||||||
e2e-tests:
|
e2e-tests:
|
||||||
name: Run E2E tests
|
name: Run E2E tests
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue