Skip to content

Commit

Permalink
ci: build and upload cli binary
Browse files Browse the repository at this point in the history
  • Loading branch information
huancheng-trili committed Jan 21, 2025
1 parent 9fa6758 commit 05fd7da
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 2 deletions.
1 change: 1 addition & 0 deletions .github/actions/build-cli/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ runs:
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_name: huancheng-trili/test-cli
repo_token: ${{ inputs.repo_token }}
file: result/bin/jstz
asset_name: jstz_${{ inputs.platform }}_${{ inputs.arch }}
Expand Down
45 changes: 43 additions & 2 deletions .github/workflows/cli-npm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: Build npm package for jstz CLI

on:
push:
branches: [huanchengchang-jstz-275-1]
tags:
- "*"

Expand All @@ -14,7 +15,7 @@ jobs:
with:
platform: macos
arch: arm64
repo_token: ${{ secrets.GITHUB_TOKEN }}
repo_token: ${{ secrets.TEST_RELEASE }}
linux-amd64:
name: Build CLI for Linux AMD64
runs-on: [x86_64, linux, nix]
Expand All @@ -23,4 +24,44 @@ jobs:
with:
platform: linux
arch: amd64
repo_token: ${{ secrets.GITHUB_TOKEN }}
repo_token: ${{ secrets.TEST_RELEASE }}
linux-arm64:
# cannot easily build with nix on arm64 because mozjs does not have prebuilds for linux arm64
# so we need to use make build-cli here
name: Build CLI for Linux Arm64
runs-on: ubuntu-24.04-arm
container:
image: alpine
volumes:
- /:/host
steps:
# hack for github actions to work with arm64
# https://github.com/actions/runner/issues/801#issuecomment-2394425757
- name: Patch native Alpine NodeJS into Runner environment
run: |
apk add nodejs
sed -i "s:ID=alpine:ID=NotpineForGHA:" /etc/os-release
cd /host/home/runner/runners/*/externals/
rm -rf node20/*
mkdir node20/bin
ln -s /usr/bin/node node20/bin/node
shell: sh
- name: Install dependencies
shell: sh
run: apk add make musl-dev libcrypto3 openssl-dev clang gcc musl-dev libstdc++ libffi-dev g++ openssl-libs-static bash curl
# curl and bash are required by dtolnay/rust-toolchain
- uses: actions/checkout@v4
- uses: dtolnay/[email protected]
with:
targets: wasm32-unknown-unknown
- name: Build
shell: sh
run: make build-cli
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_name: huancheng-trili/test-cli
repo_token: ${{ secrets.TEST_RELEASE }}
file: target/release/jstz
asset_name: jstz_linux_arm64
tag: ${{ github.ref_name }}

0 comments on commit 05fd7da

Please sign in to comment.