Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions .github/workflows/cpack-builder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: cpack-builder

on:
pull_request:
push:
schedule:
- cron: "0 7 * * *" # Run once daily

permissions:
contents: read

defaults:
run:
shell: bash -l {0}

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
COMMIT_ID: ${{ github.sha }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_IAM_S3_UPLOADER }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_IAM_S3_UPLOADER }}

jobs:
cpack-builder:
name: Build CPack
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- arch: aarch64
runner: ubuntu-24.04-arm
- arch: amd64
runner: ubuntu-24.04
steps:
- uses: actions/checkout@v2
with:
submodules: 'true'
- uses: conda-incubator/setup-miniconda@v3
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: dev
environment-file: ops/conda_env/dev.yml
use-mamba: true
- name: Build CPack
run: |
bash ops/build-cpack.sh ${{ matrix.arch }}
21 changes: 0 additions & 21 deletions .github/workflows/linux-wheel-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,24 +59,3 @@ jobs:
- name: Test wheel
run: |
bash ops/test-linux-python-wheel.sh

cpack-builder:
name: Build CPack
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: 'true'
- uses: conda-incubator/setup-miniconda@v3
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: dev
environment-file: ops/conda_env/dev.yml
use-mamba: true
- uses: dbhi/qus/action@main
with:
targets: aarch64
- name: Build CPack
run: |
bash ops/build-cpack.sh
36 changes: 17 additions & 19 deletions ops/build-cpack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,29 @@

set -euo pipefail

echo "##[section] Building Treelite for amd64..."
tests/ci_build/ci_build.sh ubuntu20 tests/ci_build/build_via_cmake.sh
if [[ -z "${COMMIT_ID:-}" ]]
then
echo "Make sure to set environment variable COMMIT_ID"
exit 1
fi

echo "##[section] Packing CPack for amd64..."
tests/ci_build/ci_build.sh ubuntu20 bash -c "cd build/ && cpack -G TGZ"
for tgz in build/treelite-*-Linux.tar.gz
do
mv -v "${tgz}" "${tgz%-Linux.tar.gz}+${COMMIT_ID}-Linux-amd64.tar.gz"
done

echo "##[section]Uploading CPack for amd64..."
python -m awscli s3 cp build/*.tar.gz s3://treelite-cpack/ --acl public-read --region us-west-2 || true
if [[ "$#" -lt 1 ]]
then
echo "Usage: $0 {amd64,aarch64}"
exit 2
fi

rm -rf build/
arch="$1"

echo "##[section] Building Treelite for aarch64..."
export DOCKER_DEFAULT_PLATFORM=linux/arm64/v8
tests/ci_build/ci_build.sh ubuntu20_aarch64 tests/ci_build/build_via_cmake.sh
echo "##[section] Building Treelite for ${arch}..."
tests/ci_build/ci_build.sh ubuntu20_${arch} tests/ci_build/build_via_cmake.sh

echo "##[section] Packing CPack for aarch64..."
tests/ci_build/ci_build.sh ubuntu20_aarch64 bash -c "cd build/ && cpack -G TGZ"
echo "##[section] Packing CPack for ${arch}..."
tests/ci_build/ci_build.sh ubuntu20_${arch} bash -c "cd build/ && cpack -G TGZ"
for tgz in build/treelite-*-Linux.tar.gz
do
mv -v "${tgz}" "${tgz%-Linux.tar.gz}+${COMMIT_ID}-Linux-aarch64.tar.gz"
mv -v "${tgz}" "${tgz%-Linux.tar.gz}+${COMMIT_ID}-Linux-${arch}.tar.gz"
done

echo "##[section]Uploading CPack for aarch64..."
echo "##[section]Uploading CPack for ${arch}..."
python -m awscli s3 cp build/*.tar.gz s3://treelite-cpack/ --acl public-read --region us-west-2 || true
Loading