From 6c8524d26f8e44ebec1a4bf87a0b5d912df560ef Mon Sep 17 00:00:00 2001 From: Thibault Martin <thi.martin.pro@pm.me> Date: Thu, 3 Oct 2024 11:21:31 +0200 Subject: [PATCH] [ci] Update ci targets, add linting target and opam nightly --- .gitlab-ci.yml | 69 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 52 insertions(+), 17 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ef672cef..49e71fe8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,8 @@ stages: - tests + - distrib + - compatibility - prepare-release - release @@ -20,14 +22,26 @@ variables: OCAML: "4.14" ################################################################################ -### TESTS +### ONLY/EXCEPT TEMPLATES -check-headers: - stage: prepare-release - variables: - CI_MODE: "check-headers" - script: - - ./nix/ci.sh +.build_template: &manual_template + except: + refs: + - schedules + when: manual + +.build_template: &when_schedules + only: + refs: + - schedules + +.build_template: &when_release + only: + variables: + - $RELEASE == "yes" + +################################################################################ +### TESTS .build_template: &tests_template stage: tests @@ -42,26 +56,51 @@ tests-auto: tests-manual: <<: *tests_template + <<: *manual_template parallel: matrix: - LLVM_VERSION: [ "13", "14", "15", "16", "17" ] - when: manual + +################################################################################ +### DISTRIB + +check-headers: + stage: distrib + variables: + CI_MODE: "check-headers" + script: + - ./nix/ci.sh ################################################################################ ### CHECK OPAM PACKAGE STATUS -check-opam: +.build_template: &opam_template tags: [docker] image: "ocaml/opam:ubuntu-lts-ocaml-$OCAML" - stage: prepare-release + stage: compatibility variables: CI_MODE: "check-opam" EXTRA_PACKAGES: "clang libclang-dev libclang-cpp-dev llvm-dev" script: - ./nix/ci.sh - when: manual + +check-opam: + <<: *opam_template + <<: *manual_template + +check-opam-nightly: + <<: *opam_template + <<: *when_schedules + +check-opam-release: + <<: *opam_template + <<: *when_release + +################################################################################ +### PRE-RELEASE make-manual: + <<: *when_release stage: prepare-release variables: OUT: "manual" @@ -73,6 +112,7 @@ make-manual: - ./nix/ci.sh check-versions: + <<: *when_release stage: prepare-release variables: CI_MODE: "check-versions" @@ -83,12 +123,8 @@ check-versions: ### RELEASE release: + <<: *when_release stage: release - needs: - - check-opam - - make-manual - dependencies: - - make-manual variables: CI_MODE: "release" PLUGIN_FULL_NAME: "Frama-Clang" @@ -99,4 +135,3 @@ release: - ls -la - ls manual - ./nix/ci.sh - when: manual -- GitLab