From 83d4da5a967a163dc8cea5899fc3caae6d219714 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Tue, 2 Sep 2025 03:26:34 +0300 Subject: nightly workflow: don't build Ubuntu packages and AppImages are now based on OBS builds * There are nightly OBS builds, so there is no need to build and distribute them via CI. * On the upside we can download the packages for the AppImages from a proper (OBS) repository. * AppImages are now built on Ubuntu 20.04 (instead of 22.04 which was the oldest Github runner). --- .github/workflows/nightly.yml | 45 +++++++------------------------------------ AppImage/curses.yml | 15 ++++++--------- AppImage/gtk.yml | 15 ++++++--------- 3 files changed, 19 insertions(+), 56 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 3081414..86f02d0 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -7,49 +7,18 @@ on: - cron: '14 3 * * *' jobs: - debian-packages: - strategy: - matrix: - os: [ubuntu-22.04, ubuntu-24.04] - - runs-on: ${{ matrix.os }} + # FIXME: AppImages can theoretically also be built on OBS. + # Unfortunately it only works with packages from openSUSE 15.6. + # Also, it's not trivial to build multiple AppImages on OBS. + appimages: + runs-on: ubuntu-latest steps: - name: Git Clone uses: actions/checkout@v4.1.6 - with: - submodules: true - - - name: Update Repositories - run: sudo apt-get update - - name: Install Build Dependencies - run: > - sudo apt-get install -y - devscripts build-essential lintian debhelper dh-exec - autoconf automake libtool - libglib2.0-dev libncurses-dev libgtk-3-dev xvfb - groff - - # NOTE: We need to configure the build directory only to generate distribute.mk. - - name: Configure Build - run: | - autoreconf -i - ./configure - - # NOTE: The debian package build rules already use xvfb-run to emulate an XServer - # when necessary since the PPA build servers might also be headless. - # NOTE: Packages are left in debian-temp/. - - name: Build Debian/Ubuntu Packages - run: | - ./distribute.mk debian-binary - cp debian-temp/sciteco-curses_*.deb sciteco-curses_nightly_${{matrix.os}}_amd64.deb - cp debian-temp/sciteco-gtk_*.deb sciteco-gtk_nightly_${{matrix.os}}_amd64.deb - cp debian-temp/sciteco-common_*.deb sciteco-common_nightly_${{matrix.os}}_all.deb - name: Build AppImages - # Should always be on the oldest supported Ubuntu - if: matrix.os == 'ubuntu-22.04' env: GH_TOKEN: ${{ github.token }} run: | @@ -64,12 +33,12 @@ jobs: mv out/*.AppImage ../sciteco-gtk_nightly_x86_64.AppImage chmod a+x *.AppImage - - name: Archive Debian/Ubuntu Packages and AppImages + - name: Archive AppImages uses: pyTooling/Actions/releaser@v1.0.5 with: token: ${{ secrets.GITHUB_TOKEN }} tag: nightly - files: ./*.deb ./*.AppImage + files: ./*.AppImage macos: runs-on: macos-13 diff --git a/AppImage/curses.yml b/AppImage/curses.yml index 675b66c..b87101f 100755 --- a/AppImage/curses.yml +++ b/AppImage/curses.yml @@ -1,18 +1,15 @@ app: sciteco-curses ingredients: - packages: - - sciteco-curses dist: focal sources: - - deb http://archive.ubuntu.com/ubuntu/ jammy main universe -# ppas: -# - robin-haberkorn/sciteco - script: - - wget -c "https://github.com/rhaberkorn/sciteco/releases/download/nightly/sciteco-common_nightly_ubuntu-22.04_all.deb" - - wget -c "https://github.com/rhaberkorn/sciteco/releases/download/nightly/sciteco-curses_nightly_ubuntu-22.04_amd64.deb" + # should always build on the oldest supported version + - deb http://archive.ubuntu.com/ubuntu/ focal main universe + - deb http://download.opensuse.org/repositories/home:/rhaberkorn:/sciteco:/UNSTABLE/xUbuntu_20.04/ / + packages: + - sciteco-curses post_script: - - dpkg -I sciteco-curses*.deb | grep "Version:" | cut -d':' -f2 | cut -d'+' -f1 | sed 's/^[ ]*//g' >VERSION + - dpkg -I sciteco-curses*.deb | sed -En 's/ *Version: *(.*)/\1/p' >VERSION script: # This is currently not installed by sciteco-curses. diff --git a/AppImage/gtk.yml b/AppImage/gtk.yml index 0ead771..c15ee9a 100755 --- a/AppImage/gtk.yml +++ b/AppImage/gtk.yml @@ -1,22 +1,19 @@ app: sciteco-gtk ingredients: + dist: focal + sources: + # should always build on the oldest supported version + - deb http://archive.ubuntu.com/ubuntu/ focal main universe + - deb http://download.opensuse.org/repositories/home:/rhaberkorn:/sciteco:/UNSTABLE/xUbuntu_20.04/ / packages: - sciteco-gtk exclude: # pkg2appimage blacklists Gtk, Pango and other libs from the GNOME stack, # so excluding glib as well should actually improve portability. - libglib2.0-0 - dist: focal - sources: - - deb http://archive.ubuntu.com/ubuntu/ jammy main universe -# ppas: -# - robin-haberkorn/sciteco - script: - - wget -c "https://github.com/rhaberkorn/sciteco/releases/download/nightly/sciteco-common_nightly_ubuntu-22.04_all.deb" - - wget -c "https://github.com/rhaberkorn/sciteco/releases/download/nightly/sciteco-gtk_nightly_ubuntu-22.04_amd64.deb" post_script: - - dpkg -I sciteco-gtk*.deb | grep "Version:" | cut -d':' -f2 | cut -d'+' -f1 | sed 's/^[ ]*//g' >VERSION + - dpkg -I sciteco-gtk*.deb | sed -En 's/ *Version: *(.*)/\1/p' >VERSION script: # FIXME: There should perhaps be a unique name in the desktop file, so it does not conflict with the Curses version. -- cgit v1.2.3