mirror of
https://github.com/YosysHQ/yosys
synced 2025-07-03 03:15:42 +00:00
CI: Test with ASAN as well
New matrix variable for sanitizer, running `undefined` and `address` separately (because they are mutually exclusive). Probably don't need to run both sanitizers on both os targets, but it's probably fine.
This commit is contained in:
parent
513f0f16dd
commit
e6961d8c9f
1 changed files with 8 additions and 4 deletions
12
.github/workflows/test-build.yml
vendored
12
.github/workflows/test-build.yml
vendored
|
@ -40,6 +40,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest]
|
os: [ubuntu-latest, macos-latest]
|
||||||
|
sanitizer: [undefined, address]
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Yosys
|
- name: Checkout Yosys
|
||||||
|
@ -57,7 +58,7 @@ jobs:
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
make -f ../Makefile config-$CC
|
make -f ../Makefile config-$CC
|
||||||
echo 'SANITIZER = undefined' >> Makefile.conf
|
echo 'SANITIZER = ${{ matrix.sanitizer }}' >> Makefile.conf
|
||||||
make -f ../Makefile -j$procs ENABLE_LTO=1
|
make -f ../Makefile -j$procs ENABLE_LTO=1
|
||||||
|
|
||||||
- name: Log yosys-config output
|
- name: Log yosys-config output
|
||||||
|
@ -73,7 +74,7 @@ jobs:
|
||||||
- name: Store build artifact
|
- name: Store build artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-${{ matrix.os }}
|
name: build-${{ matrix.os }}-${{ matrix.sanitizer }}
|
||||||
path: build.tar
|
path: build.tar
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
|
@ -84,10 +85,12 @@ jobs:
|
||||||
if: needs.pre_job.outputs.should_skip != 'true'
|
if: needs.pre_job.outputs.should_skip != 'true'
|
||||||
env:
|
env:
|
||||||
CC: clang
|
CC: clang
|
||||||
|
ASAN_OPTIONS: halt_on_error=1
|
||||||
UBSAN_OPTIONS: halt_on_error=1
|
UBSAN_OPTIONS: halt_on_error=1
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest]
|
os: [ubuntu-latest, macos-latest]
|
||||||
|
sanitizer: [undefined, address]
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Yosys
|
- name: Checkout Yosys
|
||||||
|
@ -136,7 +139,7 @@ jobs:
|
||||||
- name: Download build artifact
|
- name: Download build artifact
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-${{ matrix.os }}
|
name: build-${{ matrix.os }}-${{ matrix.sanitizer }}
|
||||||
|
|
||||||
- name: Uncompress build
|
- name: Uncompress build
|
||||||
shell: bash
|
shell: bash
|
||||||
|
@ -168,6 +171,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest]
|
os: [ubuntu-latest]
|
||||||
|
sanitizer: [undefined, address]
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Yosys
|
- name: Checkout Yosys
|
||||||
|
@ -181,7 +185,7 @@ jobs:
|
||||||
- name: Download build artifact
|
- name: Download build artifact
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-${{ matrix.os }}
|
name: build-${{ matrix.os }}-${{ matrix.sanitizer }}
|
||||||
|
|
||||||
- name: Uncompress build
|
- name: Uncompress build
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue