From 88b880f707ac640c285e0973e73ac23db1a51846 Mon Sep 17 00:00:00 2001 From: Julian Sparber Date: Fri, 5 May 2023 08:04:06 +0000 Subject: [PATCH] ci: Use template and clean up --- .gitlab-ci.yml | 143 ++++++++----------------- build-aux/org.gnome.Fractal.Devel.json | 8 +- build-aux/org.gnome.Fractal.Hack.json | 8 +- 3 files changed, 52 insertions(+), 107 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c9bf5e9d..a4d36979 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,5 @@ +include: 'https://gitlab.gnome.org/GNOME/citemplates/-/raw/master/flatpak/flatpak_ci_initiative.yml' + stages: - check - test @@ -7,70 +9,25 @@ stages: - release variables: - FLATPAK_MODULE: "fractal" RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo" - CI_IMAGE: "quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master" - -.hack: - variables: - MANIFEST_PATH: "build-aux/org.gnome.Fractal.Hack.json" - APP_ID: "org.gnome.Fractal.Hack" + FLATPAK_MODULE: "fractal" + # We currently don't have any tests, remove "RUN_TESTS" to run tests + RUN_TESTS: "0" + BUNDLE: "${APP_ID}.flatpak" -.devel: +.vars_nightly: variables: MANIFEST_PATH: "build-aux/org.gnome.Fractal.Devel.json" - APP_ID: "org.gnome.Fractal.Devel" - -.build_template: - image: '${CI_IMAGE}' - script: - - > - xvfb-run -a -s "-screen 0 1024x768x24" - flatpak-builder --keep-build-dirs --user --disable-rofiles-fuse flatpak_app --repo=repo ${BRANCH:+--default-branch=$BRANCH} ${MANIFEST_PATH} - - flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APP_ID} ${BRANCH} - - mkdir logs - - mv .flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/meson-log.txt logs/ - - mv .flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/testlog.txt logs/ - - tar cf repo.tar repo/ - artifacts: - name: 'Flatpak artifacts' - expose_as: 'Get Flatpak bundle here' - when: 'always' - paths: - - "${BUNDLE}" - - 'repo.tar' - - 'logs' - expire_in: 14 days - -.build_x86_64: - extends: .build_template - tags: - - flatpak - -.build_aarch64: - extends: .build_template - tags: - - flatpak-aarch64 + APP_ID: "org.gnome.Fractal.Devel" + only: + - main -.publish_nightly_template: - image: 'quay.io/gnome_infrastructure/gnome-runtime-images:flat-manager-client' - stage: 'deploy' - timeout: '100m' - script: - - tar xf repo.tar - - flatpak build-update-repo --generate-static-deltas repo/ - - BUILD_ID=$(flat-manager-client create ${FLAT_MANAGER_URL} ${FLATPAK_REPO}) - - flat-manager-client push --commit --publish --wait ${BUILD_ID} repo/ || result=$? - - flat-manager-client purge ${BUILD_ID} - - exit $result +.vars_hack: variables: - FLAT_MANAGER_URL: https://flat-manager.gnome.org/ - FLATPAK_REPO: nightly - only: - refs: - - main - variables: - - $REPO_TOKEN + MANIFEST_PATH: "build-aux/org.gnome.Fractal.Hack.json" + APP_ID: "org.gnome.Fractal.Hack" + except: + - main # Configure and run code checks # Exits and fails if an error is encountered @@ -82,9 +39,10 @@ checks: # Lint the code cargo-clippy: - extends: .hack - image: '${CI_IMAGE}' stage: check + image: 'quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master' + extends: + - .vars_hack tags: - flatpak script: @@ -93,46 +51,37 @@ cargo-clippy: # Build a debug version of the flatpak # Except on main -flatpak: +build-hack@x86_64: extends: - - .hack - - .build_x86_64 - stage: test - variables: - BUNDLE: "fractal-hack.flatpak" - except: - - main + - .flatpak@x86_64 + - .vars_hack + stage: build + +build-hack@aarch64: + extends: + - .flatpak@aarch64 + - .vars_hack + stage: build # Build the nightly version of the flatpak # Only on main -build-x86_64: +build@x86_64: extends: - - .devel - - .build_x86_64 + - .flatpak@x86_64 + - .vars_nightly stage: build - variables: - MANIFEST_PATH: "build-aux/org.gnome.Fractal.Devel.json" - APP_ID: "org.gnome.Fractal.Devel" - BUNDLE: "fractal-devel-x86_64.flatpak" - only: - - main -build-aarch64: + +build@aarch64: extends: - - .devel - - .build_aarch64 + - .flatpak@aarch64 + - .vars_nightly stage: build - variables: - MANIFEST_PATH: "build-aux/org.gnome.Fractal.Devel.json" - APP_ID: "org.gnome.Fractal.Devel" - BUNDLE: "fractal-devel-aarch64.flatpak" - only: - - main # Build the docs # Only on main pages: - extends: .devel - image: '${CI_IMAGE}' + image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master' + extends: .vars_nightly stage: doc tags: - flatpak @@ -146,20 +95,16 @@ pages: artifacts: paths: - 'public' - only: - refs: - - main # Publish the nightly version # Only on main -publish_nightly-x86_64: - extends: .publish_nightly_template - dependencies: ['build-x86_64'] - needs: ['build-x86_64'] -publish_nightly-aarch64: - extends: .publish_nightly_template - dependencies: ['build-aarch64'] - needs: ['build-aarch64'] +publish_nightly@x86_64: + extends: .publish_nightly + needs: ['build@x86_64'] + +publish_nightly@aarch64: + extends: .publish_nightly + needs: ['build@aarch64'] .vars_release: variables: diff --git a/build-aux/org.gnome.Fractal.Devel.json b/build-aux/org.gnome.Fractal.Devel.json index 57febb5d..dc8005ea 100644 --- a/build-aux/org.gnome.Fractal.Devel.json +++ b/build-aux/org.gnome.Fractal.Devel.json @@ -5,7 +5,7 @@ "sdk": "org.gnome.Sdk", "sdk-extensions": [ "org.freedesktop.Sdk.Extension.rust-stable", - "org.freedesktop.Sdk.Extension.llvm14" + "org.freedesktop.Sdk.Extension.llvm15" ], "command": "fractal", "finish-args": [ @@ -20,8 +20,8 @@ "--env=RUST_BACKTRACE=1" ], "build-options": { - "append-ld-library-path": "/usr/lib/sdk/llvm14/lib", - "append-path": "/usr/lib/sdk/llvm14/bin:/usr/lib/sdk/rust-stable/bin", + "append-ld-library-path": "/usr/lib/sdk/llvm15/lib", + "append-path": "/usr/lib/sdk/llvm15/bin:/usr/lib/sdk/rust-stable/bin", "build-args": [ "--share=network" ], @@ -62,4 +62,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/build-aux/org.gnome.Fractal.Hack.json b/build-aux/org.gnome.Fractal.Hack.json index 3776c3d3..4bb515bc 100644 --- a/build-aux/org.gnome.Fractal.Hack.json +++ b/build-aux/org.gnome.Fractal.Hack.json @@ -5,7 +5,7 @@ "sdk": "org.gnome.Sdk", "sdk-extensions": [ "org.freedesktop.Sdk.Extension.rust-stable", - "org.freedesktop.Sdk.Extension.llvm14" + "org.freedesktop.Sdk.Extension.llvm15" ], "command": "fractal", "finish-args": [ @@ -20,8 +20,8 @@ "--env=RUST_BACKTRACE=1" ], "build-options": { - "append-ld-library-path": "/usr/lib/sdk/llvm14/lib", - "append-path": "/usr/lib/sdk/llvm14/bin:/usr/lib/sdk/rust-stable/bin", + "append-ld-library-path": "/usr/lib/sdk/llvm15/lib", + "append-path": "/usr/lib/sdk/llvm15/bin:/usr/lib/sdk/rust-stable/bin", "env": { "CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER": "clang", "CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS": "-C link-arg=-fuse-ld=/usr/lib/sdk/rust-stable/bin/mold --cfg=ruma_identifiers_storage=\"Arc\"", @@ -68,4 +68,4 @@ ] } ] -} \ No newline at end of file +}