CI: build with meson #255
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 . |