3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-08-20 02:00:23 +00:00

Merge pull request #5299 from YosysHQ/revert-5280-krys/ci_changes

Revert "Workflow adjustments"
This commit is contained in:
Jannis Harder 2025-08-18 21:50:19 +02:00 committed by GitHub
commit 6b94376daf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 28 additions and 161 deletions

View file

@ -1,14 +1,6 @@
name: Test extra build flows name: Test extra build flows
on: on: [push, pull_request]
# always test main
push:
branches:
- main
# test PRs
pull_request:
# allow triggering tests, ignores skip check
workflow_dispatch:
jobs: jobs:
pre_job: pre_job:
@ -19,11 +11,11 @@ jobs:
- id: skip_check - id: skip_check
uses: fkirc/skip-duplicate-actions@v5 uses: fkirc/skip-duplicate-actions@v5
with: with:
# don't run on documentation changes
paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]' paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]'
# cancel previous builds if a new commit is pushed # cancel previous builds if a new commit is pushed
# but never cancel main cancel_others: 'true'
cancel_others: ${{ github.ref != 'refs/heads/main' }} # only run on push *or* pull_request, not both
concurrent_skipping: 'same_content_newer'
vs-prep: vs-prep:
name: Prepare Visual Studio build name: Prepare Visual Studio build

View file

@ -1,14 +1,6 @@
name: Build and run tests name: Build and run tests
on: on: [push, pull_request]
# always test main
push:
branches:
- main
# test PRs
pull_request:
# allow triggering tests, ignores skip check
workflow_dispatch:
jobs: jobs:
pre_job: pre_job:
@ -19,12 +11,11 @@ jobs:
- id: skip_check - id: skip_check
uses: fkirc/skip-duplicate-actions@v5 uses: fkirc/skip-duplicate-actions@v5
with: with:
# don't run on documentation changes
paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]' paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]'
# cancel previous builds if a new commit is pushed # cancel previous builds if a new commit is pushed
# but never cancel main cancel_others: 'true'
cancel_others: ${{ github.ref != 'refs/heads/main' }} # only run on push *or* pull_request, not both
concurrent_skipping: 'same_content_newer'
pre_docs_job: pre_docs_job:
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
@ -33,16 +24,15 @@ jobs:
- id: skip_check - id: skip_check
uses: fkirc/skip-duplicate-actions@v5 uses: fkirc/skip-duplicate-actions@v5
with: with:
# don't run on readme changes
paths_ignore: '["**/README.md"]' paths_ignore: '["**/README.md"]'
# cancel previous builds if a new commit is pushed # cancel previous builds if a new commit is pushed
# but never cancel main cancel_others: 'true'
cancel_others: ${{ github.ref != 'refs/heads/main' }} # only run on push *or* pull_request, not both
concurrent_skipping: 'same_content_newer'
build-yosys: build-yosys:
name: Reusable build name: Reusable build
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
# pre_job is a subset of pre_docs_job, so we can always build for pre_docs_job
needs: pre_docs_job needs: pre_docs_job
if: needs.pre_docs_job.outputs.should_skip != 'true' if: needs.pre_docs_job.outputs.should_skip != 'true'
env: env:
@ -50,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
@ -67,6 +58,7 @@ jobs:
mkdir build mkdir build
cd build cd build
make -f ../Makefile config-$CC make -f ../Makefile config-$CC
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
@ -82,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
@ -93,9 +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
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
@ -144,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
@ -214,6 +209,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
@ -227,7 +223,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

View file

@ -1,14 +1,6 @@
name: Compiler testing name: Compiler testing
on: on: [push, pull_request]
# always test main
push:
branches:
- main
# test PRs
pull_request:
# allow triggering tests, ignores skip check
workflow_dispatch:
jobs: jobs:
pre_job: pre_job:
@ -19,11 +11,11 @@ jobs:
- id: skip_check - id: skip_check
uses: fkirc/skip-duplicate-actions@v5 uses: fkirc/skip-duplicate-actions@v5
with: with:
# don't run on documentation changes
paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]' paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]'
# cancel previous builds if a new commit is pushed # cancel previous builds if a new commit is pushed
# but never cancel main cancel_others: 'true'
cancel_others: ${{ github.ref != 'refs/heads/main' }} # only run on push *or* pull_request, not both
concurrent_skipping: 'same_content_newer'
test-compile: test-compile:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}

View file

@ -1,105 +0,0 @@
name: Check clang sanitizers
on:
# always test main
push:
branches:
- main
# ignore PRs due to time needed
# allow triggering tests, ignores skip check
workflow_dispatch:
jobs:
pre_job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
# don't run on documentation changes
paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]'
run_san:
name: Build and run tests
runs-on: ${{ matrix.os }}
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
env:
CC: clang
ASAN_OPTIONS: halt_on_error=1
UBSAN_OPTIONS: halt_on_error=1
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
sanitizer: ['undefined,address']
fail-fast: false
steps:
- name: Checkout Yosys
uses: actions/checkout@v4
with:
submodules: true
persist-credentials: false
- name: Setup environment
uses: ./.github/actions/setup-build-env
- name: Build
shell: bash
run: |
mkdir build
cd build
make -f ../Makefile config-$CC
echo 'SANITIZER = ${{ matrix.sanitizer }}' >> Makefile.conf
make -f ../Makefile -j$procs ENABLE_LTO=1
- name: Log yosys-config output
run: |
./yosys-config || true
- name: Get iverilog
shell: bash
run: |
git clone https://github.com/steveicarus/iverilog.git
cd iverilog
echo "IVERILOG_GIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
- name: Get vcd2fst
shell: bash
run: |
git clone https://github.com/mmicko/libwave.git
mkdir -p ${{ github.workspace }}/.local/
cd libwave
cmake . -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/.local
make -j$procs
make install
- name: Cache iverilog
id: cache-iverilog
uses: actions/cache@v4
with:
path: .local/
key: ${{ matrix.os }}-${IVERILOG_GIT}
- name: Build iverilog
if: steps.cache-iverilog.outputs.cache-hit != 'true'
shell: bash
run: |
mkdir -p ${{ github.workspace }}/.local/
cd iverilog
autoconf
CC=gcc CXX=g++ ./configure --prefix=${{ github.workspace }}/.local
make -j$procs
make install
- name: Run tests
shell: bash
run: |
make -j$procs test TARGETS= EXTRA_TARGETS= CONFIG=$CC
- name: Report errors
if: ${{ failure() }}
shell: bash
run: |
find tests/**/*.err -print -exec cat {} \;

View file

@ -1,14 +1,6 @@
name: Build and run tests with Verific (Linux) name: Build and run tests with Verific (Linux)
on: on: [push, pull_request]
# always test main
push:
branches:
- main
# test PRs
pull_request:
# allow triggering tests, ignores skip check
workflow_dispatch:
jobs: jobs:
pre-job: pre-job:
@ -19,11 +11,11 @@ jobs:
- id: skip_check - id: skip_check
uses: fkirc/skip-duplicate-actions@v5 uses: fkirc/skip-duplicate-actions@v5
with: with:
# don't run on documentation changes
paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]' paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]'
# cancel previous builds if a new commit is pushed # cancel previous builds if a new commit is pushed
# but never cancel main cancel_others: 'true'
cancel_others: ${{ github.ref != 'refs/heads/main' }} # only run on push *or* pull_request, not both
concurrent_skipping: 'same_content_newer'
test-verific: test-verific:
needs: pre-job needs: pre-job