[fractal] Revert "ci: Use template and clean up"



commit 1e62ca56de1b7a4eff31331a360abb4ec11e5b4c
Author: Julian Sparber <julian sparber net>
Date:   Thu Jul 7 16:58:40 2022 +0000

    Revert "ci: Use template and clean up"
    
    This reverts commit b746e593acb488b6634cff9f284f9971a56dd097

 .gitlab-ci.yml | 117 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 92 insertions(+), 25 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a82c4df22..ccf0d5cbe 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,3 @@
-include: 
'https://gitlab.gnome.org/Community/Purism/citemplates/-/raw/add_arch/flatpak/flatpak_ci_initiative.yml'
-
 stages:
   - check
   - test
@@ -10,12 +8,71 @@ stages:
 variables:
   FLATPAK_MODULE: "fractal"
   RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo";
+  CI_IMAGE_X86_64: "registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:42"
+  CI_IMAGE_AARCH64: "registry.gitlab.gnome.org/gnome/gnome-runtime-images/aarch64:gnome-42"
+
+.hack:
+  variables:
+    MANIFEST_PATH: "build-aux/org.gnome.Fractal.Hack.json"
+    APP_ID: "org.gnome.Fractal.Hack"
 
-.vars_nightly:
+.devel:
   variables:
     MANIFEST_PATH: "build-aux/org.gnome.Fractal.Devel.json"
     APP_ID: "org.gnome.Fractal.Devel"  
 
+.build_template:
+  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
+  image: '${CI_IMAGE_X86_64}'
+  tags:
+    - flatpak
+
+.build_aarch64:
+  extends: .build_template
+  image: '${CI_IMAGE_AARCH64}'
+  tags:
+    - flatpak-aarch64
+
+.publish_nightly_template:
+  image: 'registry.gitlab.gnome.org/gnome/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
+  variables:
+    FLAT_MANAGER_URL: https://flat-manager.gnome.org/
+    FLATPAK_REPO: nightly
+  only:
+    refs:
+      - main
+    variables:
+      - $REPO_TOKEN
+
 # Configure and run code checks
 # Exits and fails if an error is encountered
 checks:
@@ -26,47 +83,57 @@ checks:
 
 # Lint the code
 cargo-clippy:
-  image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/x86_64/gnome:master'
+  extends: .hack
+  image: '${CI_IMAGE_X86_64}'
   stage: check
-  variables:
-    MANIFEST_PATH: "build-aux/org.gnome.Fractal.Hack.json"
-    APP_ID: "org.gnome.Fractal.Hack"
   tags:
     - flatpak
   script:
     - flatpak-builder --keep-build-dirs --user --disable-rofiles-fuse --stop-at=${FLATPAK_MODULE} 
flatpak_app --repo=repo ${BRANCH:+--default-branch=$BRANCH} ${MANIFEST_PATH}
     - echo "cargo clippy -- -D warnings" | flatpak-builder --disable-rofiles-fuse 
--build-shell=${FLATPAK_MODULE} flatpak_app ${MANIFEST_PATH}
 
+# Build a debug version of the flatpak
+# Except on main
+flatpak:
+  extends:
+    - .hack
+    - .build_x86_64
+  stage: test
+  variables:
+    BUNDLE: "fractal-hack.flatpak"
+  except:
+    - main
+
+# Build the nightly version of the flatpak
+# Only on main
 build-x86_64:
   extends:
-    - .flatpak
-    - .vars_nightly
+    - .devel
+    - .build_x86_64
   stage: build
   variables:
+    MANIFEST_PATH: "build-aux/org.gnome.Fractal.Devel.json"
+    APP_ID: "org.gnome.Fractal.Devel"
     BUNDLE: "fractal-devel-x86_64.flatpak"
-  rules:
-    - if: $CI_COMMIT_BRANCH != "main"
-      variables:
-         MANIFEST_PATH: "build-aux/org.gnome.Fractal.Hack.json"
-         APP_ID: "org.gnome.Fractal.Hack"
-         BUNDLE: "fractal-hack-x86_64.flatpak"
-
+  only:
+    - main
 build-aarch64:
   extends:
-    - .flatpak
-    - .vars_nightly
+    - .devel
+    - .build_aarch64
   stage: build
   variables:
+    MANIFEST_PATH: "build-aux/org.gnome.Fractal.Devel.json"
+    APP_ID: "org.gnome.Fractal.Devel"
     BUNDLE: "fractal-devel-aarch64.flatpak"
-  rules:
-    - if: $CI_COMMIT_BRANCH != "main"
-      when: manual
+  only:
+    - main
 
 # Build the docs
 # Only on main
 pages:
-  extends: .vars_nightly
-  image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/x86_64/gnome:master'
+  extends: .devel
+  image: '${CI_IMAGE_X86_64}'
   stage: doc
   tags:
     - flatpak
@@ -87,10 +154,10 @@ pages:
 # Publish the nightly version
 # Only on main
 publish_nightly-x86_64:
-  extends: .publish_nightly
+  extends: .publish_nightly_template
   dependencies: ['build-x86_64']
   needs: ['build-x86_64']
 publish_nightly-aarch64:
-  extends: .publish_nightly
+  extends: .publish_nightly_template
   dependencies: ['build-aarch64']
   needs: ['build-aarch64']


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]