diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 180f3f31385a51df5aaae4f02fb79226f72b42a8..a6531980ec1d90b393d1f09c9d2e01855dcebe59 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,13 +3,43 @@ stages: - build - test - deploy + - models-1 + - models-2 + - models-3 + - models-4 + - models-5 + - models-6 + - models-7 + - models-8 variables: MAVEN_CLI_OPTS: "-s ci_settings.xml --batch-mode" MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dmaven.artifact.threads=10" MAIN_BRANCH: "main" RELEASE_BRANCH: "release" - + ALTERNARIA_PROJECT_ID: "173" + APPLESCABM_PROJECT_ID: "20" + BARLEYNETB_PROJECT_ID: "21" + BREMIALACT_PROJECT_ID: "22" + DELIARADIC_PROJECT_ID: "24" + DELIARFOBS_PROJECT_ID: "25" + DOWNCASTMO_PROJECT_ID: "26" + FAWMODEL01_PROJECT_ID: "90" + FINNCEREAL_PROJECT_ID: "66" + GRASSDRYMO_PROJECT_ID: "28" + LEAFBLOTCH_PROJECT_ID: "294" + LYGUSRUGUL_PROJECT_ID: "30" + MAIZEPHENO_PROJECT_ID: "336" + MAMESTRABR_PROJECT_ID: "31" + NAERSTADMO_PROJECT_ID: "32" + NEGPROGMOD_PROJECT_ID: "33" + OATFLOWERM_PROJECT_ID: "34" + PSILARTEMP_PROJECT_ID: "37" + PSILAROBSE_PROJECT_ID: "36" + ROUGHAGENU_PROJECT_ID: "38" + SEPAPIICOL_PROJECT_ID: "39" + SEPTORIAHU_PROJECT_ID: "65" + SEPTREFHUM_PROJECT_ID: "135" cache: paths: - .m2/repository/ @@ -31,12 +61,293 @@ test: deploy-snapshot: stage: deploy script: + - export VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - if ! [[ $VERSION =~ .*SNAPSHOT ]]; then exit 1; fi - ./mvnw $MAVEN_CLI_OPTS $MAVEN_OPTS deploy -DskipTests tags: - vips-java rules: - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' +# Runs after new SNAPSHOT is deployed to package registry. Triggers job on main branch in model repo, +# which builds model with the new version of VIPSCommon. This pipeline fails if model build fails. + +verify_model_ALTERNARIA: + stage: models-1 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_ALTERNARIA" -t $MAIN_BRANCH $ALTERNARIA_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_APPLESCABM: + stage: models-1 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_APPLESCABM" -t $MAIN_BRANCH $APPLESCABM_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_BARLEYNETB: + stage: models-1 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_BARLEYNETB" -t $MAIN_BRANCH $BARLEYNETB_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_BREMIALACT: + stage: models-2 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_BREMIALACT" -t $MAIN_BRANCH $BREMIALACT_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_DELIARADIC: + stage: models-2 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DELIARADIC" -t $MAIN_BRANCH $DELIARADIC_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_DELIARFOBS: + stage: models-2 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DELIARFOBS" -t $MAIN_BRANCH $DELIARFOBS_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_DOWNCASTMO: + stage: models-3 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DOWNCASTMO" -t $MAIN_BRANCH $DOWNCASTMO_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_FAWMODEL01: + stage: models-3 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_FAWMODEL01" -t $MAIN_BRANCH $FAWMODEL01_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_FINNCEREAL: + stage: models-3 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_FINNCEREAL" -t $MAIN_BRANCH $FINNCEREAL_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_GRASSDRYMO: + stage: models-4 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_GRASSDRYMO" -t $MAIN_BRANCH $GRASSDRYMO_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_LEAFBLOTCH: + stage: models-4 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_LEAFBLOTCH" -t $MAIN_BRANCH $LEAFBLOTCH_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_LYGUSRUGUL: + stage: models-4 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_LYGUSRUGUL" -t $MAIN_BRANCH $LYGUSRUGUL_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_MAIZEPHENO: + stage: models-5 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_MAIZEPHENO" -t $MAIN_BRANCH $MAIZEPHENO_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_MAMESTRABR: + stage: models-5 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_MAMESTRABR" -t $MAIN_BRANCH $MAMESTRABR_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_NAERSTADMO: + stage: models-5 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_NAERSTADMO" -t $MAIN_BRANCH $NAERSTADMO_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_NEGPROGMOD: + stage: models-6 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_NEGPROGMOD" -t $MAIN_BRANCH $NEGPROGMOD_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_OATFLOWERM: + stage: models-6 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_OATFLOWERM" -t $MAIN_BRANCH $OATFLOWERM_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_PSILAROBSE: + stage: models-6 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_PSILAROBSE" -t $MAIN_BRANCH $PSILAROBSE_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_PSILARTEMP: + stage: models-7 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_PSILARTEMP" -t $MAIN_BRANCH $PSILARTEMP_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_ROUGHAGENU: + stage: models-7 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_ROUGHAGENU" -t $MAIN_BRANCH $ROUGHAGENU_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_SEPAPIICOL: + stage: models-7 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPAPIICOL" -t $MAIN_BRANCH $SEPAPIICOL_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_SEPTORIAHU: + stage: models-8 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPTORIAHU" -t $MAIN_BRANCH $SEPTORIAHU_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + +verify_model_SEPTREFHUM: + stage: models-8 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPTREFHUM" -t $MAIN_BRANCH $SEPTREFHUM_PROJECT_ID -e VERSION=$PROJECT_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH' + deploy-release: stage: deploy script: @@ -58,6 +369,7 @@ deploy-release: - ./mvnw $MAVEN_CLI_OPTS $MAVEN_OPTS validate -DremoveSnapshot - ./mvnw $MAVEN_CLI_OPTS $MAVEN_OPTS deploy -DskipTests - export RELEASE_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - if [[ $VERSION =~ .*SNAPSHOT ]]; then exit 1; fi - export RELEASE_TAG="v${RELEASE_VERSION}" - git add pom.xml - git commit -m "[ci skip] Set release version ${RELEASE_VERSION}" @@ -75,3 +387,18 @@ deploy-release: - vips-java rules: - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH' + +# Runs after new release is deployed to package registry. Triggers job on main branch in model repo, +# which builds model with the new version of VIPSCommon, and release a new snapshot version of the model. + +update_model_ALTERNARIA: + stage: models-1 + image: registry.gitlab.com/finestructure/pipeline-trigger + script: + - apk add --no-cache openjdk11 + - export RELEASE_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*") + - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_ALTERNARIA" -t $MAIN_BRANCH $ALTERNARIA_PROJECT_ID -e VERSION=$RELEASE_VERSION + tags: + - vips-java + rules: + - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH' diff --git a/README.md b/README.md index 31916e46b0230f8b1d145bc0fc5a5a2114f8e8c8..86cce2925251c12b85604c7c8605914d2d51743f 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,6 @@ This is a jar file that contains the entities and util classes that are used thr ## Requirements * Java >= 14 + +## Development + diff --git a/pom.xml b/pom.xml index e028050eae1707388502cef92efac6e4c58a84b0..04715c9cb1992f00165caabd4f402c9b42bee45a 100755 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ <groupId>no.nibio.vips</groupId> <artifactId>VIPSCommon</artifactId> - <version>2.0.2</version> + <version>2.0.4-SNAPSHOT</version> <packaging>jar</packaging> <name>VIPSCommon</name>