Skip to content

Commit

Permalink
Repository reset
Browse files Browse the repository at this point in the history
  • Loading branch information
gvanuxem committed Dec 16, 2024
1 parent 87b72bf commit d3a0e33
Show file tree
Hide file tree
Showing 80 changed files with 24,759 additions and 862 deletions.
20 changes: 1 addition & 19 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: [push, pull_request]
jobs:
build:

runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
timeout-minutes: 30

steps:
Expand Down Expand Up @@ -35,21 +35,3 @@ jobs:
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
49 changes: 49 additions & 0 deletions .github/workflows/linuxJulia_ccl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: FriCAS CI on x64 Linux (with Julia support - Clozure CL based)

on: [push, pull_request]

jobs:
build:

runs-on: ubuntu-latest
timeout-minutes: 30
env:
JULIA_VERSION: '1.11.2'
steps:
- uses: actions/checkout@v4
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install libgmp-dev libxpm-dev python3 python3-sphinx
- name: download roswell
run: wget -c https://github.com/roswell/roswell/releases/download/v22.12.14.113/roswell_22.12.14.113-1_amd64.deb
- name: install roswell and dependencies
run: sudo dpkg -i roswell_22.12.14.113-1_amd64.deb && ros install ccl-bin && ros install hunchentoot && ros install queues
- name: Download and install Julia
run: |
wget https://julialang-s3.julialang.org/bin/linux/x64/1.11/julia-${JULIA_VERSION}-linux-x86_64.tar.gz
tar zxf julia-${JULIA_VERSION}-linux-x86_64.tar.gz
sudo cp -rf julia-${JULIA_VERSION}/* /usr/local/
sudo ldconfig
- name: install Julia libraries
run: |
julia -e "import Pkg;Pkg.add(\"Nemo\");Pkg.add(\"Suppressor\");Pkg.add(\"SpecialFunctions\")"
- name: configure
run: |
./configure --with-lisp='ros run' --enable-gmp --enable-julia --enable-hunchentoot || cat config.log
- name: make
run: make -j4 --output-sync
- name: make html doc
run: make -j4 --output-sync htmldoc
- name: make check
run: make -j4 check
- name: Create artifact archives
run: |
rm -r target/*/src
mkdir jlfricas && mv target jlfricas/
tar -cjf jlFriCAS-linux-x86_64-${{ github.sha }}.tar.bz2 jlfricas/
- name: Upload Linux binary
uses: actions/upload-artifact@v4
with:
name: jlFriCAS-linux-x86_64-binary
path: jlFriCAS-linux-x86_64-${{ github.sha }}.tar.bz2
43 changes: 43 additions & 0 deletions .github/workflows/linuxJulia_sbcl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: FriCAS CI on x64 Linux (with Julia support - SBCL based)

on: [push, pull_request]

jobs:
build:

runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install build-essential debhelper sbcl libgmp-dev libxpm-dev cl-hunchentoot python3 python3-sphinx fakeroot dpkg-dev
wget https://github.com/gvanuxem/aldor/releases/download/20241216/aldor_1.4.0+20241216_amd64.deb
sudo dpkg -i aldor_1.4.0+20241216_amd64.deb
# - name: Download and install Julia
# run: |
# wget https://julialang-s3.julialang.org/bin/linux/x64/1.11/julia-${JULIA_VERSION}-linux-x86_64.tar.gz
# tar zxf julia-${JULIA_VERSION}-linux-x86_64.tar.gz
# sudo cp -rf julia-${JULIA_VERSION}/* /usr/local/
# sudo ldconfig
- name: install Julia libraries
run: |
julia -e "import Pkg;Pkg.add(\"Nemo\");Pkg.add(\"Suppressor\");Pkg.add(\"SpecialFunctions\")"
- name: make and check packages
run: |
dpkg-buildpackage -b -us -uc
mv ../jlfricas_1.3.12-julia-20241216_amd64.deb .
- name: Create artifact archives
run: |
rm -r target/*/src
mkdir jlfricas && mv target jlfricas/
tar -cjf jlFriCAS-linux-x86_64-${{ github.sha }}.tar.bz2 jlfricas/
- name: Upload Linux binary
uses: actions/upload-artifact@v4
with:
name: jlFriCAS-linux-x86_64-binary
path: |
jlFriCAS-linux-x86_64-${{ github.sha }}.tar.bz2
jlfricas_1.3.12-julia-20241216_amd64.deb
4 changes: 2 additions & 2 deletions .github/workflows/macOS-ccl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
run: |
brew install clozure-cl
mkdir ../build && cd ../build
../fricas/configure --with-lisp=ccl64 --with-gmp=`brew --prefix` || cat config.log
../jlfricas/configure --with-lisp=ccl64 --with-gmp=`brew --prefix` || cat config.log
- name: make
run: cd ../build && make -j4
Expand All @@ -31,7 +31,7 @@ jobs:
cp -v `brew list gmp | grep libgmp.10.dylib` FriCAS.app/Contents/Resources/usr/local/lib/fricas/target/*/lib/
## reduce chance of error caused by "hdiutil: Resource busy"
make dist-macos-dmg || make dist-macos-dmg
mv FriCAS.dmg ../fricas/FriCAS-macOS-CCL-x86_64-${{ github.sha }}.dmg
mv FriCAS.dmg ../jlfricas/FriCAS-macOS-CCL-x86_64-${{ github.sha }}.dmg
- name: Upload macOS binary
uses: actions/upload-artifact@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/macOS-ecl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: configure
run: |
mkdir ../build && cd ../build
../fricas/configure --with-lisp=ecl || cat config.log
../jlfricas/configure --with-lisp=ecl || cat config.log
- name: make
run: cd ../build && make -j4
Expand All @@ -38,7 +38,7 @@ jobs:
cp -v `brew list gmp | grep libgmp.10.dylib` FriCAS.app/Contents/Resources/usr/local/lib/fricas/target/*/lib/
## reduce chance of error caused by "hdiutil: Resource busy"
make dist-macos-dmg || make dist-macos-dmg
mv FriCAS.dmg ../fricas/FriCAS-macOS-ECL-${ARCH}-${{ github.sha }}.dmg
mv FriCAS.dmg ../jlfricas/FriCAS-macOS-ECL-${ARCH}-${{ github.sha }}.dmg
- name: Upload macOS binary
uses: actions/upload-artifact@v4
Expand Down
22 changes: 2 additions & 20 deletions .github/workflows/macOS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- name: configure
run: |
mkdir ../build && cd ../build
../fricas/configure --with-lisp=sbcl --with-gmp=`brew --prefix` || cat config.log
../jlfricas/configure --with-lisp=sbcl --with-gmp=`brew --prefix` || cat config.log
- name: make
run: cd ../build && make -j4
Expand All @@ -42,29 +42,11 @@ jobs:
cp -v `brew list gmp | grep libgmp.10.dylib` FriCAS.app/Contents/Resources/usr/local/lib/fricas/target/*/lib/
## reduce chance of error caused by "hdiutil: Resource busy"
make dist-macos-dmg || make dist-macos-dmg
mv FriCAS.dmg ../fricas/FriCAS-macOS-${ARCH}-${{ github.sha }}.dmg
mv FriCAS.dmg ../jlfricas/FriCAS-macOS-${ARCH}-${{ github.sha }}.dmg
- name: Upload macOS binary
uses: actions/upload-artifact@v4
with:
name: FriCAS-macOS-${{ env.ARCH }}-binary
path: FriCAS-macOS-${{ env.ARCH }}-${{ github.sha }}.dmg

- 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}-macOS-${ARCH}-${SHA}-unsigned.dmg
export FILENAME2=fricas-${GITHUB_REF_NAME}-macOS-${ARCH}-unsigned.dmg
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-macOS-${ARCH}-${{ github.sha }}.dmg" \
-H "Content-Type: application/x-apple-diskimage" || true
57 changes: 57 additions & 0 deletions .github/workflows/macOSJulia_sbcl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: FriCAS CI on macOS (with Julia support - SBCL based)

on: [push, pull_request]

jobs:
build:

strategy:
fail-fast: false
matrix:
os: [macos-13, macos-14]
runs-on: ${{ matrix.os }}
timeout-minutes: 30
env:
SBCL_VER: ${{ matrix.os == 'macos-13' && '2.2.9' || '2.4.0' }}
ARCH: ${{ matrix.os == 'macos-13' && 'x86-64' || 'arm64' }}

steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
- name: download and install prerequities
run: |
wget https://downloads.sourceforge.net/project/sbcl/sbcl/${SBCL_VER}/sbcl-${SBCL_VER}-${ARCH}-darwin-binary.tar.bz2
tar xvf sbcl-${SBCL_VER}-${ARCH}-darwin-binary.tar.bz2
cd sbcl-${SBCL_VER}-${ARCH}-darwin && sudo ./install.sh
- name: install Julia libraries
run: |
julia -e "import Pkg;Pkg.add(\"Nemo\");Pkg.add(\"Suppressor\");Pkg.add(\"SpecialFunctions\")"
- name: configure
run: |
mkdir ../build && cd ../build
../jlfricas/configure --with-lisp=sbcl --with-gmp=`brew --prefix` --enable-julia --enable-mathlink || cat config.log
- name: make
run: cd ../build && make -j4

- name: make check
run: cd ../build && make check -j4

- name: Create artifact archives
run: |
cd ../build
test "$GITHUB_REF_TYPE" != "tag" && rm -r target/*/src
make dist-macos
cp -v `brew list gmp | grep libgmp.10.dylib` FriCAS.app/Contents/Resources/usr/local/lib/fricas/target/*/lib/
## reduce chance of error caused by "hdiutil: Resource busy"
make dist-macos-dmg || make dist-macos-dmg
mv FriCAS.dmg ../jlfricas/FriCAS-macOS-${ARCH}-${{ github.sha }}.dmg
- name: Upload macOS binary
uses: actions/upload-artifact@v4
with:
name: FriCAS-macOS-${{ env.ARCH }}-binary
path: FriCAS-macOS-${{ env.ARCH }}-${{ github.sha }}.dmg

2 changes: 1 addition & 1 deletion .github/workflows/windows-ccl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
mkdir ../build && cd ../build
wget https://github.com/Clozure/ccl/releases/download/v1.13/ccl-1.13-windowsx86.zip
unzip ccl-1.13-windowsx86.zip
../fricas/configure --with-lisp=`pwd`/ccl/wx86cl64.exe --enable-gmp || cat config.log
../jlfricas/configure --with-lisp=`pwd`/ccl/wx86cl64.exe --enable-gmp || cat config.log
make -j4 --output-sync
- name: make check
Expand Down
22 changes: 2 additions & 20 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
export SBCL_HOME="/c/Program Files/Steel Bank Common Lisp/"
export PATH="$SBCL_HOME":$PATH
mkdir ../build && cd ../build
../fricas/configure --with-lisp=sbcl --enable-gmp || cat config.log
../jlfricas/configure --with-lisp=sbcl --enable-gmp || cat config.log
make -j4 --output-sync
- name: make check
Expand All @@ -38,7 +38,7 @@ jobs:
- name: Create artifact archives
run: |
test "$GITHUB_REF_TYPE" != "tag" && rm -r ../build/target/*/src
rm ../build/target/x86_64-w64-mingw32/bin/{fricas,fricas-readline}
rm ../build/target/x86_64-w64-mingw32/bin/fricas
mv ../build/target/x86_64-w64-mingw32 FriCAS-windows-x86_64
cp /ucrt64/bin/libgmp-10.dll FriCAS-windows-x86_64/lib/
zip -r FriCAS-windows-x86_64-${{ github.sha }}.zip FriCAS-windows-x86_64
Expand All @@ -49,21 +49,3 @@ jobs:
name: FriCAS-windows-x86_64-binary
path: FriCAS-windows-x86_64-${{ github.sha }}.zip

- 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}-windows-x86_64-${SHA}.zip
export FILENAME2=fricas-${GITHUB_REF_NAME}-windows-x64.zip
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-windows-x86_64-${{ github.sha }}.zip" \
-H "Content-Type: application/zip" || true
53 changes: 53 additions & 0 deletions .github/workflows/windowsJulia_sbcl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: FriCAS CI on x64 Windows (with Julia support - SBCL based)

on: [push, pull_request]

jobs:
build:

runs-on: windows-latest
timeout-minutes: 30
env:
SBCL_VER: 2.4.9
defaults:
run:
shell: msys2 {0}

steps:
- uses: msys2/setup-msys2@v2
with:
install: make mingw-w64-x86_64-gcc mingw-w64-x86_64-gmp gmp-devel unzip zip
- name: download and install SBCL
run: |
wget https://downloads.sourceforge.net/project/sbcl/sbcl/${SBCL_VER}/sbcl-${SBCL_VER}-x86-64-windows-binary.msi
msiexec -i sbcl-${SBCL_VER}-x86-64-windows-binary.msi -passive
- name: download and install Julia
run: |
wget https://julialang-s3.julialang.org/bin/winnt/x64/1.11/julia-1.11.2-win64.zip
unzip julia-1.11.2-win64.zip
cp -rf julia-1.11.2/* /usr/local/
- name: install Julia libraries
run: julia -e "import Pkg;Pkg.add(\"Nemo\");Pkg.add(\"Suppressor\");Pkg.add(\"SpecialFunctions\")"
- uses: actions/checkout@v4
- name: configure and make
run: |
cp -R "/c/Program Files/Steel Bank Common Lisp" /usr/local/share/sbcl
export SBCL_HOME=/usr/local/share/sbcl
export PATH=$SBCL_HOME:$PATH
mkdir ../build && cd ../build
../jlfricas/configure --enable-gmp --enable-julia --enable-mathlink || cat config.log
make -j2 --output-sync
- name: make check
run: cd ../build && make check -j2 --output-sync
- name: Create artifact archives
run: |
test "$GITHUB_REF_TYPE" != "tag" && rm -r ../build/target/*/src
rm ../build/target/x86_64-w64-mingw32/bin/fricas
mv ../build/target/x86_64-w64-mingw32 jlFriCAS-windows-x86_64
cp /mingw64/bin/libgmp-10.dll jlFriCAS-windows-x86_64/lib/
zip -r jlFriCAS-windows-x86_64-${{ github.sha }}.zip jlFriCAS-windows-x86_64
- name: Upload Windows binary
uses: actions/upload-artifact@v4
with:
name: jlFriCAS-windows-x86_64-binary
path: jlFriCAS-windows-x86_64-${{ github.sha }}.zip
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,14 @@
*.DAASE/
*.erlib/
*.fasl
*.lx64fsl
*.NRLIB/
*.o
*.output
*.data
*.fn
*.dat
*.KAF

build/

Expand Down Expand Up @@ -123,4 +129,8 @@ src/lisp/num_gmpx.lisp
stamp
stamp-*

src/input/*.asy
src/input/*.lsp

target/
.vscode/
Loading

0 comments on commit d3a0e33

Please sign in to comment.