From 66cd861574ea7387d9662ad9e8350a2e02f3b82d Mon Sep 17 00:00:00 2001 From: Martin Tzvetanov Grigorov Date: Mon, 15 Jan 2024 17:25:55 +0200 Subject: [PATCH] Add CI on Linux ARM64 Signed-off-by: Martin Tzvetanov Grigorov --- .github/workflows/LocusPocus.yml | 53 +++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/.github/workflows/LocusPocus.yml b/.github/workflows/LocusPocus.yml index f7bf976..fdb4e36 100644 --- a/.github/workflows/LocusPocus.yml +++ b/.github/workflows/LocusPocus.yml @@ -1,6 +1,12 @@ name: LocusPocus CI Build -on: [push] +on: + push: + branches: + - master + pull_request: + branches: + - master jobs: build: @@ -33,3 +39,48 @@ jobs: export PATH=$HOME/local/bin:$PATH export LD_LIBRARY_PATH=$HOME/local/lib make test ci-test + + build-aarch64: + name: Build on Linux ARM64 / Python 3.11 + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Build and test on Linux ARM64 + uses: uraimo/run-on-arch-action@v2 + with: + arch: aarch64 + distro: ubuntu22.04 + githubToken: ${{ github.token }} + dockerRunArgs: | + --volume "${PWD}:/AEGeAn" + install: | + set -x + apt-get update -q + apt-get install -y libcurl4-openssl-dev libssl-dev libpango1.0-dev libcairo2-dev libyaml-dev wget make gcc binutils + mkdir -p ~/miniconda3 + wget -q https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh -O ~/miniconda3/miniconda.sh + bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 + rm -rf ~/miniconda3/miniconda.sh + export PATH=~/miniconda3/bin:$PATH + conda create -n aegean python==3.11.0 + conda init bash + run: | + set -x + export PATH=~/miniconda3/bin:$PATH + cat ~/.bashrc + set +u # disable failures due to usage of undeclared env vars in .bashrc + export PS1="\u@\h:\w\$ " # needed to fully source ~/.bashrc + source ~/.bashrc # needed to init/enable conda + conda activate aegean + python --version + conda install --yes pyyaml pycurl pandas setuptools pytest pytest-cov pycodestyle + cd /AEGeAn + # Build + data/scripts/github-actions-prereqs.sh + # Test + export PATH=$HOME/local/bin:$PATH + export LD_LIBRARY_PATH=$HOME/local/lib + make test ci-test