Update to CentOS 7, Add AppImage CI

This commit is contained in:
Donn 2022-04-30 17:37:25 +02:00 committed by Tim Edwards
parent b9f1ebd439
commit 98cd88f12c
3 changed files with 39 additions and 8 deletions

28
.github/workflows/appimage.yml vendored Normal file
View File

@ -0,0 +1,28 @@
on:
push:
tags:
- "*"
name: CI
jobs:
build_appimage:
name: Build AppImage
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Get the version
id: get_version
run: |
export VERSION_NUM=$(ruby -e "print '$GITHUB_REF'.split('/')[2]")
echo ::set-output name=value::${VERSION_NUM}
- name: Build project
run: |
cd appimage
make
cp Magic-x86_64.AppImage /tmp/Magic-${{ steps.get_version.outputs.value }}-x86_64.AppImage
- name: Upload Release Asset
uses: softprops/action-gh-release@v1
with:
files: /tmp/Magic-${{ steps.get_version.outputs.value }}-x86_64.AppImage

View File

@ -1,11 +1,16 @@
FROM donnio/python3:centos6
FROM centos/python-38-centos7:20210726-fad62e9
USER root
# Build Dependencies
RUN yum install -y cairo-devel freeglut-devel gcc make tcsh
# Tcl/Tk
WORKDIR /tcl
RUN curl -L https://prdownloads.sourceforge.net/tcl/tcl8.6.12-src.tar.gz | tar --strip-components=1 -xzC . \
&& cd unix \
&& ./configure --prefix=/prefix \
&& make -j$(nproc) \
&& make \
&& make install
WORKDIR /tk
@ -19,9 +24,6 @@ WORKDIR /prefix/bin
RUN cp ./wish8.6 ./wish
RUN cp ./tclsh8.6 ./tclsh
# Cairo
RUN yum install -y cairo-devel
# Magic
WORKDIR /magic
COPY . .
@ -30,6 +32,7 @@ RUN ./configure \
--prefix=/prefix \
--with-tcl=/prefix/lib \
--with-tk=/prefix/lib \
--without-opengl \
&& make clean \
&& make database/database.h \
&& make -j$(nproc) \

View File

@ -2,13 +2,13 @@ This is an AppImage that runs on all GNU/Linux platforms with:
* FUSE
* This excludes non-privileged Docker containers unfortunately, unless pre-extracted.
* GLIBC 2.3+
* GLIBC 2.17+
* Cairo 1.8+
That's most Linux distributions released in 2012 or later.
That's most Linux distributions released in 2016 or later.
# Build Info
A Dockerfile on CentOS 6 (needed for older glibc) image builds Tcl, Tk and Magic.
A Dockerfile on CentOS 7 (needed for older glibc) image builds Tcl, Tk and Magic.
The final build is then packaged into an AppImage using AppImageTool on the host machine.