aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2025-10-17 18:59:49 +0200
committerMarvin W <git@larma.de>2025-10-17 21:20:17 +0200
commit1742cbd80980fbe1b0b29f2d2f123d75c4346200 (patch)
treef4245dda03a22dc42fe9b32bf1baafd7d9ca38e1 /.github/workflows
parent89637bae3ccacc3712cc35cdbe6f63953e8c4c51 (diff)
CI: Add build with Vala nightly compiler
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml53
1 files changed, 49 insertions, 4 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9e55908f..eab33a0e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -5,6 +5,11 @@ jobs:
name: "Build"
runs-on: ubuntu-24.04
steps:
+ - name: "Setup dependencies"
+ run: |
+ sudo apt-get update
+ sudo apt-get remove libunwind-14-dev
+ sudo apt-get install -y build-essential gettext libadwaita-1-dev libcanberra-dev libgcrypt20-dev libgee-0.8-dev libgpgme-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgtk-4-dev libnice-dev libnotify-dev libqrencode-dev libomemo-c-dev libsoup-3.0-dev libsqlite3-dev libsrtp2-dev libwebrtc-audio-processing-dev meson valac
- name: "Checkout sources"
uses: actions/checkout@v4
with:
@@ -14,11 +19,42 @@ jobs:
echo '::add-matcher::${{ github.workspace }}/.github/matchers/gcc-problem-matcher.json'
echo '::add-matcher::${{ github.workspace }}/.github/matchers/vala-problem-matcher.json'
echo '::add-matcher::${{ github.workspace }}/.github/matchers/meson-problem-matcher.json'
+ - name: "Configure"
+ run: meson setup build
+ - name: "Build"
+ run: meson compile -C build
+ - name: "Test"
+ run: meson test -C build
+ build-vala-nightly:
+ name: "Build with Vala Nightly"
+ runs-on: ubuntu-24.04
+ steps:
- name: "Setup dependencies"
run: |
sudo apt-get update
sudo apt-get remove libunwind-14-dev
sudo apt-get install -y build-essential gettext libadwaita-1-dev libcanberra-dev libgcrypt20-dev libgee-0.8-dev libgpgme-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgtk-4-dev libnice-dev libnotify-dev libqrencode-dev libomemo-c-dev libsoup-3.0-dev libsqlite3-dev libsrtp2-dev libwebrtc-audio-processing-dev meson valac
+ - name: "Install Vala Nightly"
+ run: |
+ sudo apt-get install -y autoconf-archive gobject-introspection libgraphviz-dev
+ git clone https://gitlab.gnome.org/GNOME/vala.git/ vala-nightly
+ pushd vala-nightly
+ ./autogen.sh --prefix=/usr
+ make -j5
+ sudo apt-get remove valac
+ sudo apt-get autoremove
+ sudo make install
+ popd
+ rm -rf vala-nightly
+ - name: "Checkout sources"
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - name: "Setup matchers"
+ run: |
+ echo '::add-matcher::${{ github.workspace }}/.github/matchers/gcc-problem-matcher.json'
+ echo '::add-matcher::${{ github.workspace }}/.github/matchers/vala-problem-matcher.json'
+ echo '::add-matcher::${{ github.workspace }}/.github/matchers/meson-problem-matcher.json'
- name: "Configure"
run: meson setup build
- name: "Build"
@@ -26,18 +62,27 @@ jobs:
- name: "Test"
run: meson test -C build
build-flatpak:
- name: "Build flatpak"
- runs-on: ubuntu-24.04
+ needs: build
+ name: "Build Flatpak"
container:
- image: bilelmoussaoui/flatpak-github-actions:gnome-46
+ image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-49
options: --privileged
+ strategy:
+ matrix:
+ variant:
+ - arch: x86_64
+ runner: ubuntu-24.04
+ - arch: aarch64
+ runner: ubuntu-24.04-arm
+ runs-on: ${{ matrix.variant.runner }}
steps:
- name: "Checkout sources"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Build"
- uses: flathub-infra/flatpak-github-actions/flatpak-builder@master
+ uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
manifest-path: im.dino.Dino.json
bundle: im.dino.Dino.flatpak
+ arch: ${{ matrix.variant.arch }}