CI: build with meson #254
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
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 . |