feat: Initial arm64 support #183
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: | |
- "master" | |
- "dev/**" | |
- "ga" | |
pull_request: | |
branches: | |
- "master" | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, ubuntu-20.04] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Haiku build dependencies | |
run: | | |
sudo apt install -y git nasm bc autoconf automake texinfo flex bison gawk build-essential unzip wget zip less zlib1g-dev libzstd-dev xorriso libtool python3 | |
- name: Install newer GCC version | |
if: ${{ matrix.os == 'ubuntu-20.04' }} | |
run: | | |
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test | |
sudo apt install -y gcc-11 g++-11 | |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 | |
- name: Check latest Haiku hrev | |
id: get_hrev | |
run: | | |
echo "hrev=$(curl -s https://git.haiku-os.org/haiku/refs/tags | sed -n 's/^.*>\(hrev[^<]*\).*$/\1/p' | head -n 1)" >> "$GITHUB_OUTPUT" | |
- name: Fetch cached Haiku build | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: 'haiku-build' | |
key: 'haiku-${{ steps.get_hrev.outputs.hrev }}-build' | |
- name: Build Haiku | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: | | |
export HAIKU_BUILD_ENVIRONMENT_ROOT=$GITHUB_WORKSPACE/haiku-build | |
./copy_objects.sh | |
- name: Install HyClone build dependencies | |
run: | | |
sudo apt install -y cmake libgmp-dev libmpfr-dev zlib1g-dev libzstd-dev | |
- name: Build HyClone | |
run: | | |
export HAIKU_BUILD_ENVIRONMENT_ROOT=$GITHUB_WORKSPACE/haiku-build | |
./copy_objects.sh | |
mkdir build | |
cd build | |
cmake .. -DCMAKE_INSTALL_PREFIX=. | |
make install | |
cd .. | |
- name: Build HPREFIX | |
run: | | |
export HAIKU_BUILD_ENVIRONMENT_ROOT=$GITHUB_WORKSPACE/haiku-build | |
export HPREFIX=$GITHUB_WORKSPACE/hprefix | |
export HYCLONE_INSTALL_PREFIX=build | |
./build_hprefix.sh --system-prefix=build | |
sudo umount -f $HPREFIX/.hyclone.shm || true | |
sudo rm -rf $HPREFIX/.hyclone.* | |
pushd $HPREFIX; tar cvf ../hprefix.tar *; popd | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: hyclone_${{ matrix.os }} | |
path: build | |
- name: Upload HPREFIX | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: hprefix.tar | |
path: hprefix.tar |