ci: Rework CI to run in flatpak

This commit is contained in:
Tom A. Wagner
2023-08-21 12:40:11 +02:00
parent 189288bb56
commit 6fd3691733

View File

@@ -1,75 +1,53 @@
include:
- project: 'freedesktop/ci-templates' # the project to include from
ref: '34f4ade99434043f88e164933f570301fd18b125' # git ref of that project
file: '/templates/fedora.yml' # the actual file to include
stages: stages:
- prepare - build
- lint - lint
- test
- extras
variables: .flatpak:
FDO_UPSTREAM_REPO: 'pipewire/helvum' image: 'quay.io/gnome_infrastructure/gnome-runtime-images:gnome-44@sha256:c8da8f160a9c536c60a160964bddaa6472add3f3f41d32764d2f21afff74146b'
# Version and tag for our current container
.fedora:
variables: variables:
FDO_DISTRIBUTION_VERSION: '38' FLATPAK_BUILD_DIR: _build
# Update this to trigger a container rebuild MANIFEST_PATH: build-aux/org.pipewire.Helvum.json
FDO_DISTRIBUTION_TAG: '2023-08-17.0' APP_FLATPAK_MODULE: Helvum
before_script:
- flatpak --version
- flatpak info org.gnome.Platform
- flatpak info org.gnome.Sdk
- flatpak info org.freedesktop.Sdk.Extension.llvm15
- flatpak info org.freedesktop.Sdk.Extension.rust-stable
- flatpak-builder --version
build-fedora-container: build:
extends: stage: build
- .fedora # our template job above extends: .flatpak
- .fdo.container-build@fedora@x86_64 # the CI template
stage: prepare
variables:
# clang-devel: required by rust bindgen
FDO_DISTRIBUTION_PACKAGES: >-
rust
cargo
rustfmt
clippy
pipewire-devel
gtk4-devel
clang-devel
rustfmt:
extends:
- .fedora
- .fdo.distribution-image@fedora
stage: lint
script: script:
- cargo fmt --version - flatpak-builder --keep-build-dirs --user --disable-rofiles-fuse ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH}
- cargo fmt -- --color=always --check
test-stable: # TODO: Run meson test
extends:
- .fedora
- .fdo.distribution-image@fedora
stage: test
script:
- rustc --version
- cargo build --color=always --all-targets
- cargo test --color=always
rustdoc:
extends:
- .fedora
- .fdo.distribution-image@fedora
stage: extras
variables:
RUSTDOCFLAGS: '-Dwarnings'
script:
- rustdoc --version
- cargo doc --no-deps
clippy: clippy:
extends: stage: lint
- .fedora extends: .flatpak
- .fdo.distribution-image@fedora
stage: extras
script: script:
- cargo clippy --version - flatpak-builder --keep-build-dirs --user --disable-rofiles-fuse --stop-at=${APP_FLATPAK_MODULE} ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH}
- cargo clippy --color=always --all-targets -- -D warnings - >-
flatpak-builder --run ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH}
cargo clippy --color=always --all-targets -- -D warnings
rustfmt:
stage: lint
image: "rust:slim" # TODO: Check image
script:
- rustup component add rustfmt
- rustc -Vv && cargo -Vv
- cargo fmt --version
- cargo fmt --all -- --color=always --check
rustdoc:
stage: lint
extends: .flatpak
script:
- flatpak-builder --keep-build-dirs --user --disable-rofiles-fuse --stop-at=${APP_FLATPAK_MODULE} ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH}
- >-
flatpak-builder --run ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH}
env RUSTDOCFLAGS=-Dwarnings cargo doc --no-deps