Skip to content

Commit 8ff7637

Browse files
committed
First draft of .deb workflow
1 parent 1df244f commit 8ff7637

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

.github/workflows/build-deb.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Build Debian packages
2+
on: push
3+
4+
jobs:
5+
build-deb:
6+
runs-on: ubuntu-latest
7+
strategy:
8+
fail-fast: false
9+
matrix:
10+
release:
11+
- bullseye
12+
- bookworm
13+
- trixie
14+
container:
15+
image: debian:${{ matrix.release }}
16+
steps:
17+
- name: Install dependencies
18+
run: |
19+
apt-get update
20+
apt-get -y install ca-certificates wget
21+
if [ ${{ matrix.release }} = "bullseye" ]
22+
then wget -O /usr/share/keyrings/macaulay2-archive-key.asc https://macaulay2.com/Repositories/Debian/macaulay2-archive-key.asc
23+
fi
24+
wget -O /etc/apt/sources.list.d/macaulay2.sources https://macaulay2.com/Repositories/Debian/${{ matrix.release }}/macaulay2.sources
25+
apt-get update
26+
apt-get -y install 4ti2 autoconf automake bison ca-certificates cohomcalg coinor-csdp fflas-ffpack flex g++ gfan gfortran git install-info libboost-dev libboost-regex-dev libboost-stacktrace-dev libcdd-dev libeigen3-dev libffi-dev libflint-dev libfplll-dev libfrobby-dev libgc-dev libgdbm-dev libgivaro-dev libglpk-dev libgmp-dev libgtest-dev liblzma-dev libmathic-dev libmathicgb-dev libmemtailor-dev libmpfi-dev libmpfr-dev libmps-dev libnauty-dev libncurses-dev libnormaliz-dev libntl-dev libopenblas-dev libpython3-dev libreadline-dev libsingular-dev libtbb-dev libtool-bin libxml2-dev lrslib make msolve nauty normaliz patch pkgconf python3 singular-data time topcom wget zlib1g-dev devscripts build-essential dh-linktree emacs-nox libboost-math-dev python3-dev r-base dh-sequence-elpa faketime fonts-katex gdbmtool jdupes libjs-d3 libjs-jquery libjs-katex libjs-three node-clipboard node-css-loader node-import-local node-interpret node-prismjs node-rechoir node-style-loader npm pkg-js-tools webpack
27+
if [ ${{ matrix.release }} != "bullseye" ]
28+
then apt-get -y install libjs-bootsidemenu libjs-bootstrap5 libjs-nouislider node-fortawesome-fontawesome-free node-prismjs-bibtex
29+
fi
30+
- name: Clone repository
31+
run: |
32+
git clone https://salsa.debian.org/math-team/macaulay2
33+
cd macaulay2
34+
git checkout debian/${{ matrix.release }}
35+
git submodule update --init M2/Macaulay2/editors/emacs
36+
- name: Fetch tarball
37+
run: |
38+
cd macaulay2
39+
uscan --rename --force-download --verbose
40+
- name: Build package
41+
run: |
42+
cd macaulay2
43+
dpkg-buildpackage
44+
- name: Upload artifacts
45+
uses: actions/upload-artifact@v5
46+
with:
47+
name: ${{ matrix.release }}
48+
path: |
49+
macaulay2*.buildinfo
50+
macaulay2*.changes
51+
*macaulay2*.deb

0 commit comments

Comments
 (0)