Skip to content
Snippets Groups Projects
Commit 0ada9e4d authored by Thibault Martin's avatar Thibault Martin
Browse files

Merge branch 'stable/copper'

parents 9aec5721 368ff9b4
No related branches found
No related tags found
No related merge requests found
...@@ -3,7 +3,9 @@ ...@@ -3,7 +3,9 @@
stages: stages:
- tests - tests
- distrib
- compatibility - compatibility
- release
################################################################################ ################################################################################
### DEFAULT JOB PARAMETERS ### DEFAULT JOB PARAMETERS
...@@ -18,22 +20,6 @@ variables: ...@@ -18,22 +20,6 @@ variables:
DEFAULT: "master" DEFAULT: "master"
OCAML: "4.14" OCAML: "4.14"
################################################################################
### ONLY/EXCEPT TEMPLATES
.build_template: &manual_when_not_special_pipeline
except:
refs:
- schedules
variables:
- $RELEASE == "yes"
when: manual
.build_template: &when_schedules
only:
refs:
- schedules
################################################################################ ################################################################################
### TESTS ### TESTS
...@@ -42,15 +28,18 @@ build-and-test: ...@@ -42,15 +28,18 @@ build-and-test:
script: script:
- ./nix/ci.sh - ./nix/ci.sh
################################################################################
### Distrib
check-headers: check-headers:
stage: tests stage: distrib
variables: variables:
CI_MODE: "check-headers" CI_MODE: "check-headers"
script: script:
- ./nix/ci.sh - ./nix/ci.sh
lint: lint:
stage: tests stage: distrib
variables: variables:
CI_MODE: "lint" CI_MODE: "lint"
script: script:
...@@ -59,63 +48,41 @@ lint: ...@@ -59,63 +48,41 @@ lint:
################################################################################ ################################################################################
### COMPATIBILITY ### COMPATIBILITY
.build_template: &opam_pin_template .build_template: &opam_template
tags: [docker]
image: "ocaml/opam:ubuntu-lts-ocaml-$OCAML"
stage: compatibility stage: compatibility
image: 'ocaml/opam:ubuntu-20.04-ocaml-$OCAML' variables:
CI_MODE: "check-opam"
DEFAULT: "plugin-release-script"
script: script:
- sudo apt update - ./nix/ci.sh
- opam pin -n --dev frama-c
- opam pin . -n -k path check-opam:
- opam depext frama-c-metacsl --with-test <<: *opam_template
- opam install --jobs 2 frama-c-metacsl --with-test --with-doc except:
- frama-c -meta-h - schedules
timeout: 2h when: manual
tags:
- docker check-opam-nightly:
<<: *opam_template
opam-pin: only:
<<: *opam_pin_template - schedules
<<: *manual_when_not_special_pipeline
################################################################################
opam-pin-nightly: ### RELEASE
<<: *opam_pin_template
<<: *when_schedules release:
stage: release
.build_template: &opam_pin_minimal_template needs:
stage: compatibility - check-opam
image: 'ocaml/opam:ubuntu-20.04-ocaml-$OCAML'
variables: variables:
OPAMDOWNLOADJOBS: "1" CI_MODE: "release"
OPAMERRLOGLEN: "0" PLUGIN_FULL_NAME: "MetAcsl"
OPAMSOLVERTIMEOUT: "500" REPO: "meta"
OPAMPRECISETRACKING: "1" RELEASE_OPT: "--assume-yes"
DEFAULT: "plugin-release-script"
script: script:
- sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam - ls -la
- opam --version - ./nix/ci.sh
- opam init --reinit -ni when: manual
- sudo apt update
- export OPAMCRITERIA="-removed,-count[avoid-version,changed],-count[version-lag,request],-count[version-lag,changed],-count[missing-depexts,changed],-changed"
- export OPAMFIXUPCRITERIA="-removed,-count[avoid-version,changed],-count[version-lag,request],-count[version-lag,changed],-count[missing-depexts,changed],-changed"
- export OPAMUPGRADECRITERIA="-removed,-count[avoid-version,changed],-count[version-lag,request],-count[version-lag,changed],-count[missing-depexts,changed],-changed"
- opam pin -n --dev frama-c
- opam pin . -n -k path
- opam update --depexts
- opam depext --jobs 2 frama-c-metacsl
- export OPAMCRITERIA="+removed,+count[version-lag,solution]"
- export OPAMFIXUPCRITERIA="+removed,+count[version-lag,solution]"
- export OPAMUPGRADECRITERIA="+removed,+count[version-lag,solution]"
- export OPAMEXTERNALSOLVER="builtin-0install"
- opam update --depexts
- opam reinstall --jobs 2 frama-c-metacsl
- frama-c -meta-h
timeout: 2h
tags:
- docker
opam-pin-minimal:
<<: *opam_pin_minimal_template
<<: *manual_when_not_special_pipeline
opam-pin-minimal-nightly:
<<: *opam_pin_minimal_template
<<: *when_schedules
...@@ -36,7 +36,7 @@ build: [ ...@@ -36,7 +36,7 @@ build: [
] ]
name: "frama-c-metacsl" name: "frama-c-metacsl"
synopsis: "MetAcsl plugin of Frama-C for writing pervasives properties" synopsis: "MetAcsl plugin of Frama-C for writing pervasives properties"
version: "0.6+dev" version: "0.7"
description:""" description:"""
MetAcsl let users write properties that need to be checked at particular MetAcsl let users write properties that need to be checked at particular
contexts (e.g. each time a location is written to inside a given set contexts (e.g. each time a location is written to inside a given set
......
name: "frama-c-metacsl" name: "frama-c-metacsl"
synopsis: "MetAcsl plugin of Frama-C for writing pervasives properties" synopsis: "MetAcsl plugin of Frama-C for writing pervasives properties"
version: "0.6+dev" version: "0.7"
description:""" description:"""
MetAcsl let users write properties that need to be checked at particular MetAcsl let users write properties that need to be checked at particular
contexts (e.g. each time a location is written to inside a given set contexts (e.g. each time a location is written to inside a given set
......
...@@ -34,7 +34,7 @@ trap cleanup EXIT ...@@ -34,7 +34,7 @@ trap cleanup EXIT
mkdir -p $TMP_DIR/frama-ci mkdir -p $TMP_DIR/frama-ci
frama_ci_repo="$(readlink -f $TMP_DIR/frama-ci)" frama_ci_repo="$(readlink -f $TMP_DIR/frama-ci)"
frama_ci_url="git@git.frama-c.com:frama-c/Frama-CI.git" frama_ci_url=${FRAMA_CI_LOCAL:-"https://git-token:${TOKEN_FOR_API}@git.frama-c.com/frama-c/Frama-CI.git"}
frama_ci_branch="$(get_matching_branch "$frama_ci_url")" frama_ci_branch="$(get_matching_branch "$frama_ci_url")"
echo "using branch $frama_ci_branch of Frama-CI repo at $frama_ci_repo" echo "using branch $frama_ci_branch of Frama-CI repo at $frama_ci_repo"
git clone --depth=1 --branch="$frama_ci_branch" "$frama_ci_url" "$frama_ci_repo" git clone --depth=1 --branch="$frama_ci_branch" "$frama_ci_url" "$frama_ci_repo"
......
...@@ -10,6 +10,13 @@ let ...@@ -10,6 +10,13 @@ let
then value.overrideScope ocamlOverlay then value.overrideScope ocamlOverlay
else value else value
) super.ocaml-ng; ) super.ocaml-ng;
release = self.callPackage ./release.nix {
git = pkgs.git;
jq = pkgs.jq;
curl = pkgs.curl;
git-lfs = pkgs.git-lfs;
opam = pkgs.opam;
};
}; };
pkgs = (import (frama-c-repo + "/nix/pkgs.nix")).appendOverlays [ overlay ]; pkgs = (import (frama-c-repo + "/nix/pkgs.nix")).appendOverlays [ overlay ];
in in
......
{
stdenv,
curl,
git,
git-lfs,
jq,
opam
}:
stdenv.mkDerivation rec {
name = "release";
buildInputs = [
curl
git
git-lfs
jq
opam
];
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment