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 @@
stages:
- tests
- distrib
- compatibility
- release
################################################################################
### DEFAULT JOB PARAMETERS
......@@ -18,22 +20,6 @@ variables:
DEFAULT: "master"
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
......@@ -42,15 +28,18 @@ build-and-test:
script:
- ./nix/ci.sh
################################################################################
### Distrib
check-headers:
stage: tests
stage: distrib
variables:
CI_MODE: "check-headers"
script:
- ./nix/ci.sh
lint:
stage: tests
stage: distrib
variables:
CI_MODE: "lint"
script:
......@@ -59,63 +48,41 @@ lint:
################################################################################
### COMPATIBILITY
.build_template: &opam_pin_template
.build_template: &opam_template
tags: [docker]
image: "ocaml/opam:ubuntu-lts-ocaml-$OCAML"
stage: compatibility
image: 'ocaml/opam:ubuntu-20.04-ocaml-$OCAML'
variables:
CI_MODE: "check-opam"
DEFAULT: "plugin-release-script"
script:
- sudo apt update
- opam pin -n --dev frama-c
- opam pin . -n -k path
- opam depext frama-c-metacsl --with-test
- opam install --jobs 2 frama-c-metacsl --with-test --with-doc
- frama-c -meta-h
timeout: 2h
tags:
- docker
opam-pin:
<<: *opam_pin_template
<<: *manual_when_not_special_pipeline
opam-pin-nightly:
<<: *opam_pin_template
<<: *when_schedules
.build_template: &opam_pin_minimal_template
stage: compatibility
image: 'ocaml/opam:ubuntu-20.04-ocaml-$OCAML'
- ./nix/ci.sh
check-opam:
<<: *opam_template
except:
- schedules
when: manual
check-opam-nightly:
<<: *opam_template
only:
- schedules
################################################################################
### RELEASE
release:
stage: release
needs:
- check-opam
variables:
OPAMDOWNLOADJOBS: "1"
OPAMERRLOGLEN: "0"
OPAMSOLVERTIMEOUT: "500"
OPAMPRECISETRACKING: "1"
CI_MODE: "release"
PLUGIN_FULL_NAME: "MetAcsl"
REPO: "meta"
RELEASE_OPT: "--assume-yes"
DEFAULT: "plugin-release-script"
script:
- sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam
- opam --version
- opam init --reinit -ni
- 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
- ls -la
- ./nix/ci.sh
when: manual
......@@ -36,7 +36,7 @@ build: [
]
name: "frama-c-metacsl"
synopsis: "MetAcsl plugin of Frama-C for writing pervasives properties"
version: "0.6+dev"
version: "0.7"
description:"""
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
......
name: "frama-c-metacsl"
synopsis: "MetAcsl plugin of Frama-C for writing pervasives properties"
version: "0.6+dev"
version: "0.7"
description:"""
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
......
......@@ -34,7 +34,7 @@ trap cleanup EXIT
mkdir -p $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")"
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"
......
......@@ -10,6 +10,13 @@ let
then value.overrideScope ocamlOverlay
else value
) 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 ];
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