diff --git a/.github/workflows/linux_amd.yaml b/.github/workflows/linux_amd.yaml index 0a2aab432..f766e4948 100644 --- a/.github/workflows/linux_amd.yaml +++ b/.github/workflows/linux_amd.yaml @@ -63,7 +63,7 @@ jobs: cargo install --locked cargo-zigbuild cargo clean cargo zigbuild --target x86_64-unknown-linux-gnu.2.17 -r -p kcl-lib - cp -f target/x86_64-unknown-linux-gnu/release/libkcl.so _build/dist/linux + cp -f target/x86_64-unknown-linux-gnu/release/libkcl.so _build/dist/linux/core make release - name: Read VERSION file diff --git a/.github/workflows/linux_musl.yml b/.github/workflows/linux_musl_amd.yml similarity index 82% rename from .github/workflows/linux_musl.yml rename to .github/workflows/linux_musl_amd.yml index 81fe001a5..a71ccc60c 100644 --- a/.github/workflows/linux_musl.yml +++ b/.github/workflows/linux_musl_amd.yml @@ -16,12 +16,6 @@ jobs: uses: actions/checkout@v3 with: submodules: "true" - - name: Set up Go - uses: actions/setup-go@v2 - with: - go-version: 1.24 - - # Prerequisite - name: Install Python3 (for Grammar test) shell: bash @@ -41,10 +35,10 @@ jobs: run: | pip3 install ziglang cargo install --locked cargo-zigbuild - rustup target add x86_64-unknown-linux-musl - cargo zigbuild --target x86_64-unknown-linux-musl -r -p kcl-lib + rustup target add aarch64-unknown-linux-musl + cargo zigbuild --target aarch64-unknown-linux-musl -r -p kcl-lib mkdir -p _build/dist/linux - cp -f target/x86_64-unknown-linux-musl/release/libkcl.a _build/dist/linux + cp -f target/aarch64-unknown-linux-musl/release/libkcl.a _build/dist/linux/core make release - name: Read VERSION file diff --git a/.github/workflows/linux_musl_arm.yml b/.github/workflows/linux_musl_arm.yml new file mode 100644 index 000000000..216cf1c42 --- /dev/null +++ b/.github/workflows/linux_musl_arm.yml @@ -0,0 +1,56 @@ +name: Build and Test on Linux MUSL AARCH64 +on: + pull_request: + branches: + - main + push: + branches: + - main +jobs: + build-and-test: + # Ref: https://github.com/actions/runner-images/tree/main/images/linux + name: build and test on Linux MUSL AARCH64 + runs-on: ubuntu-22.04-arm + steps: + - name: Check out code + uses: actions/checkout@v3 + with: + submodules: "true" + + - name: Install Python3 (for Grammar test) + shell: bash + run: | + sudo apt-get update + sudo apt-get install -y git wget curl make + sudo apt-get install python3 python3-pip -y + - name: Install rust nightly toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: 1.91 + override: true + components: clippy, rustfmt + + - name: KCL Lib MUSL Build and Release + shell: bash + run: | + pip3 install ziglang + cargo install --locked cargo-zigbuild + rustup target add x86_64-unknown-linux-musl + cargo zigbuild --target x86_64-unknown-linux-musl -r -p kcl-lib + mkdir -p _build/dist/linux + cp -f target/x86_64-unknown-linux-musl/release/libkcl.a _build/dist/linux/core + make release + + - name: Read VERSION file + run: | + VERSION=$(cargo pkgid -p kcl-api | cut -d'@' -f2) + echo "VERSION=v${VERSION}" >> $GITHUB_ENV + + - name: Rename artifact name with version + run: sudo mv -f _build/dist/linux/kcl-latest-linux-arm64.tar.gz _build/dist/linux/kcl-${{ env.VERSION }}-linux-musl-arm64.tar.gz + + - uses: actions/upload-artifact@v4 + with: + name: kcl-${{ env.VERSION }}-linux-musl-arm64 + if-no-files-found: error + path: _build/dist/linux/kcl-${{ env.VERSION }}-linux-musl-arm64.tar.gz