Skip to content

ci: fix artifact upload #8

ci: fix artifact upload

ci: fix artifact upload #8

Workflow file for this run

##
# Copyright 2023,2024 Cesar Fuguet
#
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
#
# Licensed under the Solderpad Hardware License v 2.1 (the “License”); you
# may not use this file except in compliance with the License, or, at your
# option, the Apache License version 2.0. You may obtain a copy of the
# License at
#
# https://solderpad.org/licenses/SHL-2.1/
#
# Unless required by applicable law or agreed to in writing, any work
# distributed under the License is distributed on an “AS IS” BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
##
##
# Author : Cesar Fuguet
# Date : October, 2024
# Description: GitHub Action to run tests on pull requests and pushes
##
name: HPDcache Test CI
on: [push, pull_request]
jobs:
build-and-run:
name: build-and-run
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
# Install Dependencies
- name: Install Dependencies
shell: bash
run: |
./.github/scripts/install_deps_ubuntu.sh
# Install SystemC
- name: Cache SystemC
id: cache-systemc
uses: actions/cache@v3
with:
path: build/systemc-3.0.1
key: ${{ runner.os }}-build-systemc-${{ hashFiles('.github/scripts/install_systemc.sh') }}
- name: Install SystemC
shell: bash
run: |
. .github/scripts/env.sh
./.github/scripts/install_systemc.sh
# Install Verilator
- name: Cache Verilator
id: cache-verilator
uses: actions/cache@v3
with:
path: build/verilator-v5.028
key: ${{ runner.os }}-build-verilator-${{ hashFiles('.github/scripts/install_verilator.sh') }}
- name: Install Verilator
shell: bash
run: |
. .github/scripts/env.sh
./.github/scripts/install_verilator.sh
# Verilate the HPDcache RTL sources and build the testbench
- name: Verilate the HPDcache RTL
shell: bash
run: |
. .github/scripts/env.sh
cd rtl/tb
make verilate
- name: Archive Verilate log
uses: actions/upload-artifact@v4
with:
name: verilate-log
path: rtl/tb/build/verilate.log
- name: Build SystemC testbench
shell: bash
run: |
. .github/scripts/env.sh
cd rtl/tb
make build -j${PARALLEL_JOBS}
- name: Archive SystemC build log
uses: actions/upload-artifact@v4
with:
name: build-log
path: rtl/tb/build/build.log
# Run the tests
- name: Run the random test sequence (short)
shell: bash
run: |
. .github/scripts/env.sh
cd rtl/tb
make nonregression SEQUENCE=random NTESTS=128 NTRANSACTIONS=5000
- name: Run the random test sequence (long)
shell: bash
run: |
. .github/scripts/env.sh
cd rtl/tb
make nonregression SEQUENCE=random NTESTS=32 NTRANSACTIONS=100000
- name: Run the single addr test sequence
shell: bash
run: |
. .github/scripts/env.sh
cd rtl/tb
make nonregression SEQUENCE=single_addr NTESTS=64 NTRANSACTIONS=5000