Skip to content

AppImage (Development Version) #33

AppImage (Development Version)

AppImage (Development Version) #33

name: AppImage (Development Version)
on:
workflow_dispatch:
jobs:
Manylinux-Appimage:
runs-on: ubuntu-latest
container: quay.io/pypa/manylinux_2_28_x86_64
env:
APP_PYTHON_VERSION: "3.12"
steps:
- name: Checkout
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
yum install -y https://github.com/cli/cli/releases/download/v2.55.0/gh_2.55.0_linux_amd64.rpm
git config --global --add safe.directory "$PWD"
gh repo clone ${{ github.repositoryUrl }} .
git checkout ${{ github.sha }}
- name: Build AppImage
working-directory: AppImage
env:
USE_CUTTING_EDGE_BACKENDS: 1
run: bash build-ratarmount-appimage.sh
# This action also does not work with manylinux2014 (CentOS 7) anymore,
# probably because CentOS 7 was EOL on 2024-06-30.
- uses: actions/upload-artifact@v3
with:
name: ratarmount-x86_64.AppImage
path: "AppImage/ratarmount*-x86_64.AppImage"
AppImage-Tests:
runs-on: ${{ matrix.os }}
needs: [Manylinux-Appimage]
strategy:
matrix:
os: [ubuntu-latest]
parallelization: [0, 1, 2]
steps:
- uses: actions/download-artifact@v3
with:
name: ratarmount-x86_64.AppImage
- name: Install AppImage
run: |
chmod u+x ratarmount*-x86_64.AppImage
mv ratarmount*-x86_64.AppImage /usr/local/bin/ratarmount
echo "/usr/local/bin" >> $GITHUB_PATH
- name: Install Dependencies
run: |
# These are required for creating test files on the fly not for ratarmount!
sudo apt-get -y install bzip2 pixz zstd unar fuse
- name: Test Simple Startup
run: |
ratarmount --help
ratarmount --version
- uses: actions/checkout@v4
- name: Test Simple Mount
run: |
ratarmount tests/single-file.tar mimi
ls -la mimi
sleep 1s
ratarmount -u mimi
- name: Regression Tests
run: |
# Starting up ratarmount for each very short test is quite slow, especially on the CI machine (3-5s).
# On my local machine, it's around 1s, which is not good, but also not bad.
# The AppImage extraction script is already tested in the simple tests above, so it should be fine
# to extract it once and then test the AppRun script, which still modifies the LD_LIBRARY_PATH and
# still uses the bundled libraries, i.e., it still is a good integrity test for the AppImage.
time /usr/local/bin/ratarmount --appimage-extract
export RATARMOUNT_CMD=$PWD/squashfs-root/AppRun
export PARALLELIZATIONS=${{ matrix.parallelization }}
bash tests/runtests.sh