Skip to content

CI: build with meson #255

CI: build with meson

CI: build with meson #255

Workflow file for this run

---
name: CI
on:
pull_request:
types:
- opened
- reopened
- synchronize
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [stable, unstable, development-target]
container:
image: ghcr.io/elementary/docker:${{ matrix.version }}
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
apt update
apt install -y libchamplain-0.12-dev libchamplain-gtk-0.12-dev libclutter-1.0-dev libecal2.0-dev libedataserver1.2-dev libedataserverui1.2-dev libfolks-dev libgee-0.8-dev libgeoclue-2-dev libgeocode-glib-dev libglib2.0-dev libgranite-dev libgtk-3-dev libhandy-1-dev libical-dev libportal-dev libportal-gtk3-dev meson valac
- name: Build and Test
env:
DESTDIR: out
run: |
meson setup -Dintegration_tests=true build
ninja -C build install
ninja -C build test
- name: Build and Test (Fedora)
env:
DESTDIR: out
run: |
meson configure -Dintegration_tests=true -Dcurated=false -Dpayments=false build
ninja -C build install
ninja -C build test
- name: Build (Flatpak-only)
env:
DESTDIR: out
run: |
meson configure -Dintegration_tests=true -Dpackagekit_backend=false -Dubuntu_drivers_backend=false build
ninja -C build install
flatpak:
name: Flatpak
runs-on: ubuntu-latest
strategy:
matrix:
arch: [x86_64, aarch64]
# Don't fail the whole workflow if one architecture fails
fail-fast: false
container:
image: ghcr.io/elementary/flatpak-platform/runtime:7.1-${{ matrix.arch }}
options: --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up QEMU for aarch64 emulation
if: ${{ matrix.arch != 'x86_64' }}
uses: docker/setup-qemu-action@v3
with:
platforms: arm64
- name: Build
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: Calendar.flatpak
manifest-path: io.elementary.calendar.yml
run-tests: true
repository-name: appcenter
repository-url: https://flatpak.elementary.io/repo.flatpakrepo
cache-key: "flatpak-builder-${{ github.sha }}"
branch: daily
arch: ${{ matrix.arch }}
lint:
name: Lint
runs-on: ubuntu-latest
container:
image: valalang/lint
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Lint
run: io.elementary.vala-lint -d .