Skip to content

Commit 36233dd

Browse files
committed
First draft of .deb workflow
1 parent 1df244f commit 36233dd

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

.github/workflows/build-deb.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Build Debian packages
2+
on: push
3+
4+
jobs:
5+
build-deb:
6+
runs-on: ${{ matrix.os }}
7+
strategy:
8+
fail-fast: false
9+
matrix:
10+
os:
11+
- ubuntu-latest
12+
release:
13+
- bullseye
14+
- bookworm
15+
- trixie
16+
include:
17+
- os: ubuntu-24.04-arm
18+
release: trixie
19+
container:
20+
image: debian:${{ matrix.release }}
21+
steps:
22+
- name: Install dependencies
23+
run: |
24+
apt-get update
25+
apt-get -y install ca-certificates wget
26+
if [ ${{ matrix.release }} = "bullseye" ]
27+
then wget -O /usr/share/keyrings/macaulay2-archive-key.asc https://macaulay2.com/Repositories/Debian/macaulay2-archive-key.asc
28+
fi
29+
wget -O /etc/apt/sources.list.d/macaulay2.sources https://macaulay2.com/Repositories/Debian/${{ matrix.release }}/macaulay2.sources
30+
apt-get update
31+
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
32+
if [ ${{ matrix.release }} != "bullseye" ]
33+
then apt-get -y install libjs-bootsidemenu libjs-bootstrap5 libjs-nouislider node-fortawesome-fontawesome-free node-prismjs-bibtex
34+
fi
35+
- name: Clone repository
36+
run: |
37+
git clone https://salsa.debian.org/math-team/macaulay2
38+
cd macaulay2
39+
git checkout debian/${{ matrix.release }}
40+
git submodule update --init M2/Macaulay2/editors/emacs
41+
- name: Fetch tarball
42+
run: |
43+
cd macaulay2
44+
uscan --rename --force-download --verbose
45+
- name: Build package
46+
run: |
47+
cd macaulay2
48+
if [ ${{ matrix.os }} = "ubuntu-latest" ]
49+
then dpkg-buildpackage -b
50+
else dpkg-buildpackage -B
51+
fi
52+
dpkg-buildpackage
53+
- name: Upload artifacts
54+
uses: actions/upload-artifact@v5
55+
with:
56+
name: ${{ matrix.os }}-${{ matrix.release }}
57+
path: |
58+
macaulay2*.buildinfo
59+
macaulay2*.changes
60+
*macaulay2*.deb

0 commit comments

Comments
 (0)