|
49 | 49 | buildtype: release, |
50 | 50 | args: '' |
51 | 51 | } |
| 52 | + - name: Ubuntu AppImage |
| 53 | + os: ubuntu-22.04 |
| 54 | + buildtype: release |
| 55 | + appimage: true |
| 56 | + # distro ffms is currently broken |
| 57 | + args: >- |
| 58 | + --prefix=/usr |
| 59 | + -Dbuild_appimage=true |
| 60 | + -Ddefault_library=static |
| 61 | + --force-fallback-for=ffms2 |
| 62 | + -Davisynth=enabled |
| 63 | + -Dbestsource=enabled |
| 64 | + -Dvapoursynth=enabled |
52 | 65 | - { |
53 | 66 | name: macOS Debug, |
54 | 67 | os: macos-latest, |
@@ -102,13 +115,13 @@ jobs: |
102 | 115 | brew install pulseaudio # NO OpenAL in github CI |
103 | 116 |
|
104 | 117 | - name: Install dependencies (Linux) |
105 | | - if: matrix.config.os == 'ubuntu-latest' |
| 118 | + if: startsWith(matrix.config.os, 'ubuntu-') |
106 | 119 | run: | |
107 | 120 | sudo apt-get update |
108 | 121 | sudo apt-get install ninja-build build-essential libx11-dev libwxgtk3.0-gtk3-dev libfreetype6-dev pkg-config libfontconfig1-dev libass-dev libasound2-dev libffms2-dev intltool libboost-all-dev |
109 | 122 |
|
110 | 123 | - name: Configure |
111 | | - run: meson build ${{ matrix.config.args }} -Dbuildtype=${{ matrix.config.buildtype }} |
| 124 | + run: meson setup build ${{ matrix.config.args }} -Dbuildtype=${{ matrix.config.buildtype }} |
112 | 125 |
|
113 | 126 | - name: Build |
114 | 127 | run: meson compile -C build |
@@ -157,3 +170,28 @@ jobs: |
157 | 170 | name: ${{ matrix.config.name }} - installer |
158 | 171 | path: build/Aegisub-*.dmg |
159 | 172 | if-no-files-found: error |
| 173 | + |
| 174 | + # Linux artifacts (AppImage) |
| 175 | + - name: Generate AppImage |
| 176 | + if: matrix.config.appimage |
| 177 | + run: | |
| 178 | + mkdir -p appimage/appdir |
| 179 | + meson install -C build --destdir=../appimage/appdir |
| 180 | +
|
| 181 | + cd appimage |
| 182 | + sudo apt-get install libfuse2 |
| 183 | + curl -L "https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20220822-1/linuxdeploy-x86_64.AppImage" -o linuxdeploy |
| 184 | + curl -L "https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage" -o appimagetool |
| 185 | + chmod +x linuxdeploy appimagetool |
| 186 | +
|
| 187 | + ./linuxdeploy --appdir appdir --desktop-file=appdir/aegisub.desktop |
| 188 | + ./appimagetool appdir |
| 189 | + # ./appimagetool -g -s appdir --comp xz |
| 190 | +
|
| 191 | + - name: Upload artifacts - Linux AppImage |
| 192 | + uses: actions/upload-artifact@v3 |
| 193 | + if: matrix.config.appimage |
| 194 | + with: |
| 195 | + name: ${{ matrix.config.name }} |
| 196 | + path: appimage/*.AppImage |
| 197 | + if-no-files-found: error |
0 commit comments