AppImage (Development Version) #33
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |