diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ec77741b6..bc8e4065b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,20 +7,54 @@ # # Original Author: Yannick Casamatta (yannick.casamatta@thalesgroup.com) -# Guidlines: - -# This pipeline can be also be triggerd underneath by CI of CVA6 repository, this requires to respected some rules: -# - In this pipeline, job artifacts must be only defined in a folder named "artifacts" at the root of the job's workdir. -# - In this pipeline, do not define before_script and after_script in the global section (avoid in job too). -# - Please prefix all jobs in this file with "pub_" which stands for "public" job. - # Please refer to .gitlab-ci/README.md to add jobs +# Project maintainers must define following variables to adapt this CI to their runtime environment (Settings > CI/CD > Variables) +# - SETUP_CI_CVV_BRANCH: master (the main branch of CVA6 repository) + +# A git repository named "setup-ci" must be created in the same namespace as cva6 and must contain the following file: +# - 'cva6/core-v-verif-cva6.yml' +# +# This file must at least contain the variables necessary for the execution of +# this pipeline. +# Other elements such as new jobs can be added to overload the associated +# downstream pipeline included in this repository. +# Example can be found in ".gitlab-ci/setup-ci-example/" + +include: + - project: '$CI_PROJECT_NAMESPACE/setup-ci' + ref: '$SETUP_CI_CVV_BRANCH' + file: 'cva6/core-v-verif-cva6.yml' + +workflow: + rules: + - if: '$CI_WEIGHT == "forced" && $CI_COMMIT_REF_NAME =~ /^cvvdev\/.*/' #bypass workflow + cvvdev + variables: + CORE_V_VERIF_BRANCH: $CI_COMMIT_REF_NAME + - if: '$CI_WEIGHT == "forced"' #bypass workflow + - if: '$CI_COMMIT_REF_NAME =~ /^master.*|^hotfix.*|^rc.*|^github-pr.*/' + variables: + CI_WEIGHT: "full" + - if: '$CI_COMMIT_REF_NAME =~ /^dev.*|^feature.*/' + variables: + CI_WEIGHT: "short" + - if: '$CI_COMMIT_REF_NAME =~ /^cvvdev\/master.*|^cvvdev\/hotfix.*|^cvvdev\/rc.*/' + variables: + CI_WEIGHT: "full" + CORE_V_VERIF_BRANCH: $CI_COMMIT_REF_NAME + - if: '$CI_COMMIT_REF_NAME =~ /^cvvdev\/dev.*|^cvvdev\/feature.*/' + variables: + CI_WEIGHT: "lite" + CORE_V_VERIF_BRANCH: $CI_COMMIT_REF_NAME + - when: never variables: GIT_STRATEGY: fetch GIT_SUBMODULE_STRATEGY: recursive - + TAGS_RUNNER: $TAGS_RUNNER + SCOPE_CVV: "true" + DASHBOARD: "cva6" + WORKFLOW_EVENT: $CI_PIPELINE_SOURCE # macro: job that does not require cloning anythings .template_job_low_footprint: diff --git a/.gitlab-ci/setup-ci-example/core-v-verif-cv32.yml b/.gitlab-ci/setup-ci-example/core-v-verif-cv32.yml deleted file mode 100644 index a43b7c60b..000000000 --- a/.gitlab-ci/setup-ci-example/core-v-verif-cv32.yml +++ /dev/null @@ -1,26 +0,0 @@ - -variables: - RISCV: /opt/common/tools/gcc-10.2.0 - VERILATOR_ROOT: /opt/common/tools/verilator-4.110 - SPIKE_ROOT: /opt/common/tools/spike - BBL_ROOT: /opt/common/tools/Linux-ariane-sdk - SYN_VCS_BASHRC: /opt/synopsys/vcs/XXXX/setup/bashrc.example - SYN_DCSHELL_BASHRC: /opt/synopsys/syn/XXXX/setup/bashrc - QUESTA_BASHRC: /opt/questa/XXXX/setup/bashrc - VIVALDO_SETUP: /opt/xilinx/Vivado/XXXX/settings64.sh - CV32_REPO: to be define - CV32_BRANCH: to be define - COMPLIANCE_REPO: https://github.com/riscv/riscv-compliance.git - COMPLIANCE_BRANCH: master - COMPLIANCE_HASH: 220e78542da4510e40eac31e31fdd4e77cdae437 - COMPLIANCE_PATCH: ../../../cva6/riscv-compliance.patch - TESTS_REPO: https://github.com/riscv/riscv-tests.git - TESTS_BRANCH: master - TESTS_HASH: f92842f91644092960ac7946a61ec2895e543cec - DV_REPO: https://github.com/google/riscv-dv.git - DV_BRANCH: master - NUM_JOBS: 24 - FOUNDRY_PATH: /techno/lib/stdcellXXXX - TECH_NAME: core_XXXX05v25c - SYNTH_PERIOD : 30 - LIB_VERILOG: /techno/lib/verilog_XXXX/XXXX.v