Skip to content

fixup! [feature] Add support for fsspec backends #259

fixup! [feature] Add support for fsspec backends

fixup! [feature] Add support for fsspec backends #259

Workflow file for this run

name: AppImage
on:
push:
branches: '**'
tags: 'v*'
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:
- uses: actions/checkout@v4
- name: Build AppImage
working-directory: AppImage
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/checkout@v4
with:
# We need one tag for testing the git mount.
# This is BROKEN! God damn it. Is anything working at all...
# https://github.com/actions/checkout/issues/1781
fetch-tags: true
- name: Fetch tag for tests
run: git fetch origin refs/tags/v0.15.2:refs/tags/v0.15.2
- 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: Install pip Test Dependencies
run: |
python3 -m pip install -r tests/requirements-tests.txt
# Explicitly install pygit2 even on Python 3.13+ because we have set up libgit2 manually.
python3 -m pip install pygit2
python3 -c 'import pygit2'
- name: Test Simple Startup
run: |
ratarmount --help
ratarmount --version
- name: Test Simple Mount
run: |
ratarmount tests/single-file.tar mimi
ls -la mimi
sleep 1s
ratarmount -u mimi
- name: Install pip Test Dependencies
run: |
python3 -m pip install -r tests/requirements-tests.txt
# Explicitly install pygit2 even on Python 3.13+ because we have set up libgit2 manually.
python3 -m pip install pygit2
python3 -c 'import pygit2'
- 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