| # Copyright lowRISC contributors. | 
 | # Licensed under the Apache License, Version 2.0, see LICENSE for details. | 
 | # SPDX-License-Identifier: Apache-2.0 | 
 | # | 
 | # Azure Release Pipeline configuration | 
 | # Documentation at https://aka.ms/yaml | 
 |  | 
 | schedules: | 
 | # Run this pipeline every day at 07:21 UTC. | 
 | # Use an arbitrary minute value to avoid congestion on the hour. | 
 | - cron: "21 7 * * *" | 
 |   displayName: "OpenTitan Nightly Tests" | 
 |   branches: | 
 |     include: | 
 |     - "master" | 
 |   always: True | 
 |  | 
 | trigger: none | 
 | pr: none | 
 |  | 
 | variables: | 
 |   # If updating VERILATOR_VERSION, TOOLCHAIN_VERSION or RUST_VERSION, update | 
 |   # the definitions in util/container/Dockerfile as well. | 
 |   VERILATOR_VERSION: 4.210 | 
 |   TOOLCHAIN_PATH: /opt/buildcache/riscv | 
 |   VERIBLE_VERSION: v0.0-2135-gb534c1fe | 
 |   RUST_VERSION: 1.60.0 | 
 |     # Release tag from https://github.com/lowRISC/lowrisc-toolchains/releases | 
 |   TOOLCHAIN_VERSION: 20220210-1 | 
 |     # This controls where builds happen, and gets picked up by build_consts.sh. | 
 |   BUILD_ROOT: $(Build.ArtifactStagingDirectory) | 
 |   VIVADO_VERSION: "2020.2" | 
 |  | 
 | jobs: | 
 | - job: checkout | 
 |   displayName: "Checkout repository" | 
 |   pool: | 
 |     vmImage: ubuntu-20.04 | 
 |   steps: | 
 |   - checkout: self | 
 |     # Set fetchDepth to 0 to pull the entire git tree for the bitstream cache to work | 
 |     # https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/steps-checkout#shallow-fetch | 
 |     fetchDepth: 0 | 
 |     path: opentitan-repo | 
 |   - bash: | | 
 |       tar -C $(Pipeline.Workspace)/opentitan-repo -czf $(Pipeline.Workspace)/opentitan-repo.tar.gz . | 
 |     displayName: "Pack up repository" | 
 |   - publish: $(Pipeline.Workspace)/opentitan-repo.tar.gz | 
 |     artifact: opentitan-repo | 
 |     displayName: "Upload repository" | 
 |  | 
 | - job: rom_e2e | 
 |   displayName: "ROM E2E Tests" | 
 |   timeoutInMinutes: 180 | 
 |   dependsOn: checkout | 
 |   pool: FPGA | 
 |   steps: | 
 |   - template: ../ci/checkout-template.yml | 
 |   - template: ../ci/install-package-dependencies.yml | 
 |   - bash: | | 
 |       set -x | 
 |       module load "xilinx/vivado/$(VIVADO_VERSION)" | 
 |       ci/bazelisk.sh test \ | 
 |         --define DISABLE_VERILATOR_BUILD=true \ | 
 |         --define bitstream=gcp_splice \ | 
 |         --test_tag_filters=-verilator,-dv,-broken \ | 
 |         --build_tests_only \ | 
 |         --test_output=errors \ | 
 |         //sw/device/silicon_creator/rom/e2e/... | 
 |     displayName: "Run all ROM E2E tests" |