diff options
| author | Felix (xq) Queißner <git@mq32.de> | 2020-06-29 19:16:32 +0200 |
|---|---|---|
| committer | Felix (xq) Queißner <git@mq32.de> | 2020-06-29 19:16:32 +0200 |
| commit | ae85907fd307651dc52c3cf7d439c04882c24562 (patch) | |
| tree | a67ce1d81a6e3a80ae80bc02d3a38ac681c8ec32 /ci | |
| parent | 47373829babc4a1e2296efe4c8ae0770cfd47211 (diff) | |
| download | kristall-ae85907fd307651dc52c3cf7d439c04882c24562.tar.gz | |
Makes linux AppImage build reproducible with Docker.
Diffstat (limited to 'ci')
| -rw-r--r-- | ci/.gitignore | 2 | ||||
| -rw-r--r-- | ci/Dockerfile | 16 | ||||
| -rwxr-xr-x | ci/compile.sh | 21 | ||||
| -rw-r--r-- | ci/docker-compose.yml | 6 |
4 files changed, 41 insertions, 4 deletions
diff --git a/ci/.gitignore b/ci/.gitignore new file mode 100644 index 0000000..b97a986 --- /dev/null +++ b/ci/.gitignore @@ -0,0 +1,2 @@ +build/ +output/ diff --git a/ci/Dockerfile b/ci/Dockerfile index 48e2a24..0475622 100644 --- a/ci/Dockerfile +++ b/ci/Dockerfile @@ -5,9 +5,21 @@ RUN apt-get install -y git RUN apt-get install -y qt5-default qt5-qmake qtmultimedia5-dev RUN apt-get install -y libqt5svg5-dev RUN apt-get install -y libssl-dev make g++ +RUN apt-get install -y wget +RUN apt-get install -y fuse -COPY compile.sh /compile.sh +RUN wget -O /usr/local/bin/linuxdeploy https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-$(uname -m).AppImage +RUN chmod +x /usr/local/bin/linuxdeploy +RUN file $(which linuxdeploy) + +RUN wget -O /usr/local/bin/linuxdeployqt https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-$(uname -m).AppImage +RUN chmod +x /usr/local/bin/linuxdeployqt +RUN file $(which linuxdeployqt) VOLUME /artifacts -ENTRYPOINT /compile.sh
\ No newline at end of file +ENTRYPOINT /compile.sh + +RUN apt-get install -y qttools5-dev-tools + +COPY compile.sh /compile.sh diff --git a/ci/compile.sh b/ci/compile.sh index b0392de..a2e7fe0 100755 --- a/ci/compile.sh +++ b/ci/compile.sh @@ -8,6 +8,25 @@ git clone https://github.com/MasterQ32/kristall /kristall cd /kristall -make +make -j$(nproc) + +mkdir -p AppDir/usr/bin +mkdir -p AppDir/usr/share/doc/libc6/ + +make install DESTDIR=AppDir PREFIX=/usr/ + +export VERSION=nightly + +# Create copyright notice that linuxdeployqt wants +cp /usr/share/doc/libc6/copyright AppDir/usr/share/doc/libc6/copyright + +echo "Running linuxdeployqt" +linuxdeployqt AppDir/usr/share/applications/Kristall.desktop -unsupported-allow-new-glibc -appimage + +echo "Running linuxdeploy" +linuxdeploy --appdir AppDir --library=/usr/lib/x86_64-linux-gnu/libssl.so.1.1 --output=appimage cp kristall /artifacts + +cp Kristall-nightly-$(uname -m).AppImage /artifacts/ + diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index 7879b2c..1ccff4a 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -3,4 +3,8 @@ services: builder: image: "kristall-ci:1.0" volumes: - - ./output:/artifacts
\ No newline at end of file + - ./output:/artifacts + devices: + - /dev/fuse:/dev/fuse + cap_add: + - SYS_ADMIN
\ No newline at end of file |
