Skip to content

Commit

Permalink
Merge pull request #1992 from silabs-robin/srel_pullsdev
Browse files Browse the repository at this point in the history
Merge - S dev->release
  • Loading branch information
silabs-hfegran authored Jun 21, 2023
2 parents 9a8c3de + 5194e2a commit 26b0c8c
Show file tree
Hide file tree
Showing 2,890 changed files with 198,073 additions and 668,117 deletions.
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
blank_issues_enabled: false
contact_links:
- name: Tasks
url: https://github.com/openhwgroup/core-v-verif/issues/new?template=task.md
Expand Down
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/projectTask.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: core-v-verif Project Task
description: Create a core-v-verif Project Task intended for inclusion on an OpenHW project board
title: "[TASK] title"
labels: ["task"]
body:
- type: checkboxes
attributes:
label: Is there an existing core-v-verif task for this?
description: Please search to see if a task issue already exists for the task you need to create
options:
- label: I have searched the existing task issues
required: true
- type: textarea
attributes:
label: Task Description
description: A concise description of what needs to be done (user story)
validations:
required: true
- type: textarea
attributes:
label: Description of Done
description: What are the criteria for completion of this task?
validations:
required: true
- type: markdown
attributes:
value: |
**Keep task progress up to date by adding comments to the task as it progresses.**
42 changes: 42 additions & 0 deletions .github/workflows/dashboard-done.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Copyright 2023 Thales Silicon Security
#
# Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0
# You may obtain a copy of the License at https://solderpad.org/licenses/
#
# Original Author: Côme ALLART - Thales

on:
workflow_dispatch:
inputs:
pr_number:
description: 'ID of the PR to comment'
required: true
type: string
success:
description: 'Is the workflow successful?'
required: true
type: boolean

permissions:
pull-requests: write

jobs:
welcome:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
with:
script: |
const inputs = context.payload.inputs
const pr = inputs.pr_number
const success = inputs.success == 'true'
const status_text = success ? ":heavy_check_mark: successful" : ":x: failed"
const url = `https://riscv-ci.pages.thales-invia.fr/dashboard/dashboard_core-v-verif_${pr}.html`
await github.rest.issues.createComment({
issue_number: pr,
owner: context.repo.owner,
repo: context.repo.repo,
body: `${status_text} run, report available [here](${url}).`
})
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,15 @@ waves.shm/
stdout.txt
.vscode
cva6/tests/riscv-compliance/
cva6/tests/riscv-arch-test/
cva6/tests/riscv-tests/
cva6/tests/riscv-isa-sim/
cva6/sim/dv/
cva6/sim/vcs_results
cva6/sim/verilator_work
cva6/sim/out_*
cva6/sim/Mem_init.txt
cva6/sim/*.txt
cva6/sim/trace*
cva6/sim/simv*
cva6/sim/ucli.key
Expand All @@ -59,3 +62,6 @@ vsim.dbg
transcript
.lib-rtl
.opt-rtl
tools/spike
tools/verilator*
*_results/
148 changes: 135 additions & 13 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,135 @@
stages:
- test

riscv_tests_cv32:
stage: test
script:
- curl -H 'Private-Token:'$METRICS_CI_SERVICE
-H 'Content-Type:application/json'
-d '{"projectId":"cv32e40p_verif-core-v-verif-cv32", "regressionName":"cv32_sanity_regression",
"branch":"'$CI_COMMIT_REF_NAME'"}'
-X POST 'https://openhwgroup.metrics.ca/api/jobs/v1/runRegression'


# Copyright 2022 Thales Silicon Security
#
# Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0
# You may obtain a copy of the License at https://solderpad.org/licenses/
#
# Original Author: Yannick Casamatta ([email protected])

# Project maintainers must define following variables to adapt this CI to their runtime environment (Settings > CI/CD > Variables)
# - TAGS_RUNNER: shell,debian10
# - RUN_CV32_CI: 'true'/'false'
# - SETUP_CI_CV32_BRANCH: master
# - RUN_CVA6_CI: 'true'/'false'
# - SETUP_CI_CVA6_BRANCH: master
# - RUN_EXTERNAL_CI: 'true'/'false'
# - SETUP_CI_EXTERNALBRANCH: dev/mybranch

# A git repository named "setup-ci" must be created in the same namespace as core-v-verif and must contain the following files:
# - 'cv32/core-v-verif-cv32.yml' (if RUN_CV32_CI == 'true')
# - 'cva6/core-v-verif-cva6.yml' (if RUN_CVA6_CI == 'true')
# - 'common/core-v-verif.yml' (if $RUN_EXTERNAL_CI == 'true')
# Each of these files must at least contain the variables necessary for the execution of the associated downstream 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/"

# Guidelines:
# - Prefer using parent-child pipelines instead of including yml for ease of maintenance.
# - Specific elements should be defined in the triggered yml to avoid conflicts between pipelines.
# - In this file, only generic job/variables should be declared.


variables:
# variables defined here can't be overriden in downstream pipeline when upstream pipeline is triggered manually or by schedule.


workflow:
rules:
- if: '$CI_WEIGHT == "forced" && $CI_COMMIT_REF_NAME =~ /^cvvdev\/.*/' #bypass workflow + cvvdev
variables:
CVA6_BRANCH: $CI_COMMIT_REF_NAME
- if: '$CI_WEIGHT == "forced"' #bypass workflow
- if: '$CI_COMMIT_REF_NAME =~ /^master.*|^hotfix.*|^rc.*|^cva6\/dev.*|^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"
CVA6_BRANCH: $CI_COMMIT_REF_NAME
- if: '$CI_COMMIT_REF_NAME =~ /^cvvdev\/dev.*|^cvvdev\/feature.*/'
variables:
CI_WEIGHT: "lite"
CVA6_BRANCH: $CI_COMMIT_REF_NAME
- when: never


check_env:
variables:
GIT_STRATEGY: none
tags: [$TAGS_RUNNER]
before_script:
after_script:
script:
- echo $TAGS_RUNNER
- echo $RUN_CV32_CI
- echo $SETUP_CI_CV32_BRANCH
- echo $RUN_CVA6_CI
- echo $SETUP_CI_CVA6_BRANCH
- echo $RUN_EXTERNAL_CI
- echo $SETUP_CI_EXTERNAL_BRANCH
- echo $CI_COMMIT_REF_NAME
- echo $CI_COMMIT_BRANCH
- echo $CVA6_BRANCH


# cv32 downstream pipeline describes in '.gitlab-ci/cv32.yml' + 'cv32/core-v-verif-cv32.yml' of 'setup-ci' repository
# If enabled by RUN_CV32_CI
cv32:
trigger:
include:
- local: .gitlab-ci/cv32.yml
- project: '$CI_PROJECT_NAMESPACE/setup-ci'
ref: '$SETUP_CI_CV32_BRANCH'
file: 'cv32/core-v-verif-cv32.yml'
strategy: depend
variables:
TAGS_RUNNER: $TAGS_RUNNER
SCOPE_CVV: "true"
rules:
- if: '$RUN_CV32_CI == "true"'
when: always
- when: never


# cva6 downstream pipeline describes in '.gitlab-ci/cva6.yml' + 'cva6/core-v-verif-cva6.yml' of 'setup-ci' repository
# If enabled by RUN_CVA6_CI
cva6:
trigger:
include:
- local: .gitlab-ci/cva6.yml
- project: '$CI_PROJECT_NAMESPACE/setup-ci'
ref: '$SETUP_CI_CVA6_BRANCH'
file: 'cva6/core-v-verif-cva6.yml'
strategy: depend
variables:
TAGS_RUNNER: $TAGS_RUNNER
SCOPE_CVV: "true"
DASHBOARD: "cvv"
WORKFLOW_EVENT: $CI_PIPELINE_SOURCE
rules:
- if: '$RUN_CVA6_CI == "true"'
when: always
- when: never


# If enabled by RUN_EXTERNAL_CI
# Use this entry point to run a pipeline describes in 'common/core-v-verif.yml' of 'setup-ci' repository
external:
trigger:
include:
- project: '$CI_PROJECT_NAMESPACE/setup-ci'
ref: '$SETUP_CI_EXTERNAL_BRANCH'
file: 'common/core-v-verif.yml'
strategy: depend
variables:
TAGS_RUNNER: $TAGS_RUNNER
SCOPE_CVV: "true"
rules:
- if: '$RUN_EXTERNAL_CI == "true"'
when: always
- when: never

119 changes: 119 additions & 0 deletions .gitlab-ci/cv32.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Copyright 2022 Thales Silicon Security
#
# Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0
# You may obtain a copy of the License at https://solderpad.org/licenses/
#
# Original Author: Yannick Casamatta ([email protected])

# Guidlines:

# This pipeline can be also be triggerd underneath by CI of CV32 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.


variables:
GIT_STRATEGY: fetch
GIT_SUBMODULE_STRATEGY: recursive


.template_job_low_footprint:
variables:
GIT_STRATEGY: none
before_script:
- echo 'nothing'
after_script:
- echo 'nothing'

.template_job_init_cva6:
tags: [$TAGS_RUNNER]
rules:
- if: '$SCOPE_CVV == "true"'
when: on_success
- when: never

.template_job_full_ci:
tags: [$TAGS_RUNNER]
rules:
- when: on_success

.template_job_short_ci:
tags: [$TAGS_RUNNER]
rules:
- if: '$CI_WEIGHT == "full"'
when: on_success
- when: manual
allow_failure: true

.template_job_always_manual:
tags: [$TAGS_RUNNER]
rules:
- when: manual
allow_failure: true


stages:
- .pre
- one
- two
- three


pub_check_env:
stage: one
extends:
- .template_job_low_footprint
- .template_job_full_ci
needs: []
script:
- echo $CI_WEIGHT
- echo $RISCV
- echo $VERILATOR_ROOT
- echo $SPIKE_ROOT
- echo $BBL_ROOT
- echo $SYN_VCS_BASHRC
- echo $SYN_DCSHELL_BASHRC
- echo $QUESTA_BASHRC
- echo $VIVALDO_SETUP
- echo $CV32_REPO
- echo $CV32_BRANCH
- echo $CV32_HASH
- echo $CORE_V_VERIF_REPO
- echo $CORE_V_VERIF_BRANCH
- echo $CORE_V_VERIF_HASH
- echo $COMPLIANCE_REPO
- echo $COMPLIANCE_BRANCH
- echo $COMPLIANCE_HASH
- echo $COMPLIANCE_PATCH
- echo $TESTS_REPO
- echo $TESTS_BRANCH
- echo $TESTS_HASH
- echo $DV_REPO
- echo $DV_BRANCH
- echo $DV_HASH
- echo $DV_PATCH
- echo $TAGS_RUNNER
- echo $NUM_JOBS
- echo $FOUNDRY_PATH
- echo $TECH_NAME
- echo $SYNTH_PERIOD
- echo $LIB_VERILOG


# cv32e40p Quick start
pub_quickstart:
stage: one
extends:
- .template_job_full_ci
needs: []
rules:
- if: '$CI_WEIGHT == "full"'
when: on_success
- when: manual
allow_failure: true
script:
- make -C cv32e40p/sim/core

Loading

0 comments on commit 26b0c8c

Please sign in to comment.