From 483b5f38022d4cba6d816ddc46764adf9b036e33 Mon Sep 17 00:00:00 2001 From: Qian Yun Date: Tue, 15 Oct 2024 20:51:54 +0800 Subject: [PATCH] [ci] test more Lisps --- .github/workflows/linux-ccl.yml | 57 +++++++++++++++++++++++++++++++ .github/workflows/linux-clisp.yml | 2 +- .github/workflows/linux-ecl.yml | 2 +- .github/workflows/linux-gcl.yml | 4 +-- 4 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/linux-ccl.yml diff --git a/.github/workflows/linux-ccl.yml b/.github/workflows/linux-ccl.yml new file mode 100644 index 000000000..487bad554 --- /dev/null +++ b/.github/workflows/linux-ccl.yml @@ -0,0 +1,57 @@ +name: FriCAS CI on Linux on CCL + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-20.04 + timeout-minutes: 30 + + steps: + - uses: actions/checkout@v4 + - name: install dependencies + run: | + sudo apt-get update + sudo apt-get install libgmp-dev libxpm-dev + wget https://github.com/Clozure/ccl/releases/download/v1.13/ccl-1.13-linuxx86.tar.gz + tar xvf ccl-1.13-linuxx86.tar.gz + + - name: configure + run: ./configure --with-lisp=`pwd ./ccl/lx86cl64` --with-gmp --with-x || cat config.log + + - name: make + run: make -j4 --output-sync + + - name: make check + run: make check -j4 --output-sync + + - name: Create artifact archives + run: | + test "$GITHUB_REF_TYPE" != "tag" && rm -r target/*/src + tar -cjf FriCAS-linux-x86_64-${{ github.sha }}.tar.bz2 target/ + + - name: Upload Linux binary + uses: actions/upload-artifact@v4 + with: + name: FriCAS-linux-x86_64-binary + path: FriCAS-linux-x86_64-${{ github.sha }}.tar.bz2 + + - name: Upload to nightly release + if: ${{ github.event_name == 'push' && ( github.event.ref == 'refs/heads/master' || github.ref_type == 'tag' ) && github.repository == 'fricas/fricas' }} + ## RELEASE_ID is: + ## `curl https://api.github.com/${REPO_URL}/tags/nightly | jq .id` + run: | + export REPO_URL=repos/fricas/fricas-nightly-builds/releases + export RELEASE_ID=74905307 + export TIMESTAMP=$(date +%Y-%m-%dT%H.%M) + export SHA=$(echo ${{ github.sha }} | cut -c 1-8) + export FILENAME1=FriCAS-${TIMESTAMP}-linux-x86_64-${SHA}.tar.bz2 + export FILENAME2=fricas-${GITHUB_REF_NAME}-linux-x86_64.tar.bz2 + export FILENAME=$(test "$GITHUB_REF_TYPE" != "tag" && echo $FILENAME1 || echo $FILENAME2) + export URL=https://uploads.github.com/${REPO_URL}/${RELEASE_ID}/assets + curl -v -X POST -H "Accept: application/vnd.github+json" \ + -H "Authorization: token ${{ secrets.releasetoken }}" \ + "${URL}?name=${FILENAME}" \ + --data-binary "@FriCAS-linux-x86_64-${{ github.sha }}.tar.bz2" \ + -H "Content-Type: application/x-bzip2" || true diff --git a/.github/workflows/linux-clisp.yml b/.github/workflows/linux-clisp.yml index cb5928105..04de7b28b 100644 --- a/.github/workflows/linux-clisp.yml +++ b/.github/workflows/linux-clisp.yml @@ -1,4 +1,4 @@ -name: FriCAS CI on Linux +name: FriCAS CI on Linux on CLISP on: [push, pull_request] diff --git a/.github/workflows/linux-ecl.yml b/.github/workflows/linux-ecl.yml index 8772a91f4..39ff04227 100644 --- a/.github/workflows/linux-ecl.yml +++ b/.github/workflows/linux-ecl.yml @@ -1,4 +1,4 @@ -name: FriCAS CI on Linux +name: FriCAS CI on Linux on ECL on: [push, pull_request] diff --git a/.github/workflows/linux-gcl.yml b/.github/workflows/linux-gcl.yml index 2bf59e36b..9b024c2ed 100644 --- a/.github/workflows/linux-gcl.yml +++ b/.github/workflows/linux-gcl.yml @@ -1,11 +1,11 @@ -name: FriCAS CI on Linux +name: FriCAS CI on Linux on GCL on: [push, pull_request] jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 steps: