name: CI on: push: branches: [main] pull_request: concurrency: group: release-${{ github.sha }} jobs: flatpak: name: Flatpak runs-on: ubuntu-latest container: image: bilelmoussaoui/flatpak-github-actions:gnome-46 options: --privileged steps: - name: Checkout uses: actions/checkout@v4 - name: Flatpak Builder uses: flatpak/flatpak-github-actions/flatpak-builder@v6.3 with: bundle: page.kramo.Cartridges.Devel.flatpak manifest-path: build-aux/flatpak/page.kramo.Cartridges.Devel.json windows: name: Windows runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup MSYS2 uses: msys2/setup-msys2@v2 with: msystem: UCRT64 update: true install: mingw-w64-ucrt-x86_64-gtk4 mingw-w64-ucrt-x86_64-libadwaita mingw-w64-ucrt-x86_64-python-gobject mingw-w64-ucrt-x86_64-python-yaml mingw-w64-ucrt-x86_64-python-requests mingw-w64-ucrt-x86_64-python-pillow mingw-w64-ucrt-x86_64-desktop-file-utils mingw-w64-ucrt-x86_64-ca-certificates mingw-w64-ucrt-x86_64-meson git - name: Compile shell: msys2 {0} run: | meson setup _build ninja -C _build install pacman --noconfirm -Rs mingw-w64-ucrt-x86_64-desktop-file-utils mingw-w64-ucrt-x86_64-meson git - name: Test shell: msys2 {0} run: | set +e timeout 2 cartridges; [ "$?" -eq "124" ] - name: Inno Setup run: iscc ".\_build\build-aux\windows\Cartridges.iss" - name: Upload Artifact uses: actions/upload-artifact@v4 with: name: Windows Installer path: _build/build-aux/windows/Output/Cartridges Windows.exe macos: name: macOS runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Homebrew id: set-up-homebrew uses: Homebrew/actions/setup-homebrew@master - name: Install Dependencies run: | brew install meson pygobject3 libadwaita adwaita-icon-theme desktop-file-utils pyinstaller pillow pip3 install --break-system-packages requests PyYAML - name: Meson Build run: | meson setup _build ninja install -C _build - name: PyInstaller env: PYTHONPATH: /opt/homebrew/opt/homebrew/lib/python3.12/site-packages run: | cd build-aux/macos pyinstaller ./cartridges.spec - name: Zip run: | cd build-aux/macos/dist zip -yr Cartridges\ macOS.zip Cartridges.app - name: Upload Artifact uses: actions/upload-artifact@v4 with: path: build-aux/macos/dist/Cartridges macOS.zip name: macOS Application