Skip to content

OsvvmRegressionOnGHDL #924

OsvvmRegressionOnGHDL

OsvvmRegressionOnGHDL #924

Workflow file for this run

name: OsvvmRegressionOnGHDL
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 15 * * *'
jobs:
lin:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
backend:
- mcode
- llvm
name: '🐧 Ubuntu · ${{ matrix.backend }}'
steps:
- name: '🧰 Checkout'
uses: actions/checkout@v4
with:
path: OsvvmLibraries
submodules: recursive
- name: '⚙️ Setup GHDL'
uses: ghdl/setup-ghdl-ci@master
with:
backend: ${{ matrix.backend }}
- name: '🛠️ Install tcl'
run: |
sudo apt update -qq
sudo apt install -y tcl tcllib
- name: '🚧 Run tests'
run: tclsh ./OsvvmLibraries/.github/test.tcl
- name: '📤 Upload artifact: logs'
uses: actions/upload-artifact@v4
with:
name: log-ubuntu-ghdl-${{ matrix.backend }}
include-hidden-files: true
path: |
*.log
*.yml
*.html
*.xml
reports/*.html
reports/**/*.html
logs/**/*.*
if-no-files-found: error
win:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
# - {icon: '🟦', msys: 'MINGW64', pkg: 'llvm' }
- {icon: '🟨', msys: 'UCRT64', pkg: 'llvm' }
# - {icon: '🟦', msys: 'MINGW64', pkg: 'mcode' }
- {icon: '🟨', msys: 'UCRT64', pkg: 'mcode' }
name: '${{ matrix.icon }} ${{ matrix.msys }} · ${{ matrix.pkg }}'
defaults:
run:
shell: msys2 {0}
steps:
- name: '${{ matrix.icon }} Setup MSYS2'
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.msys }}
update: true
install: git
pacboy: tcl:p tcllib:p make:p python3:p
- name: '🧰 Checkout'
uses: actions/checkout@v4
with:
path: OsvvmLibraries
submodules: recursive
- name: '⚙️ Setup GHDL'
uses: ghdl/setup-ghdl-ci@master
with:
backend: ${{ matrix.pkg }}
- name: '🚧 Run tests'
run: tclsh ./OsvvmLibraries/.github/test.tcl
- name: '📤 Upload artifact: logs'
uses: actions/upload-artifact@v4
with:
name: log-msys2-ghdl-${{ matrix.pkg }}-${{ matrix.msys }}
include-hidden-files: true
path: |
*.log
*.yml
*.html
*.xml
reports/*.html
reports/**/*.html
logs/**/*.*
reports/*.css
reports/osvvm.png
if-no-files-found: error
publish-test-results:
if: always()
needs: [lin, win]
runs-on: ubuntu-latest
name: 📊 Publish Unit Tests Results
steps:
- name: ⏬ Checkout repository
uses: actions/checkout@v4
- name: '📥 Download artifact: package'
uses: actions/download-artifact@v4
with:
path: artifacts
pattern: log-*
- run: ls artifacts
- name: 📊 Publish Unit Test Results
uses: dorny/test-reporter@v1
with:
name: OSVVM VC Regression Results
path: artifacts/**/*.xml
reporter: java-junit
list-suites: all
list-tests: failed