mirror of
https://github.com/YosysHQ/yosys
synced 2026-07-16 04:05:42 +00:00
Merge upstream yosys
This commit is contained in:
commit
5f5ed1b29e
41 changed files with 920 additions and 237 deletions
7
.github/workflows/extra-builds.yml
vendored
7
.github/workflows/extra-builds.yml
vendored
|
|
@ -25,7 +25,8 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
submodules: true
|
||||
persist-credentials: false
|
||||
- name: Build
|
||||
run: make vcxsrc YOSYS_VER=latest
|
||||
- uses: actions/upload-artifact@v4
|
||||
|
|
@ -59,7 +60,8 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
submodules: true
|
||||
persist-credentials: false
|
||||
- name: Build
|
||||
run: |
|
||||
WASI_SDK=wasi-sdk-19.0
|
||||
|
|
@ -95,6 +97,7 @@ jobs:
|
|||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
persist-credentials: false
|
||||
- uses: cachix/install-nix-action@v26
|
||||
with:
|
||||
install_url: https://releases.nixos.org/nix/nix-2.18.1/install
|
||||
|
|
|
|||
8
.github/workflows/prepare-docs.yml
vendored
8
.github/workflows/prepare-docs.yml
vendored
|
|
@ -20,7 +20,7 @@ jobs:
|
|||
# only run on push *or* pull_request, not both
|
||||
concurrent_skipping: ${{ env.docs_export && 'never' || 'same_content_newer'}}
|
||||
- id: docs_var
|
||||
run: echo "docs_export=${{ env.docs_export }}" >> $GITHUB_OUTPUT
|
||||
run: echo "docs_export=${docs_export}" >> $GITHUB_OUTPUT
|
||||
|
||||
prepare-docs:
|
||||
# docs builds are needed for anything on main, any tagged versions, and any tag
|
||||
|
|
@ -47,12 +47,12 @@ jobs:
|
|||
echo "ENABLE_VERIFIC_LIBERTY := 1" >> Makefile.conf
|
||||
echo "ENABLE_VERIFIC_YOSYSHQ_EXTENSIONS := 1" >> Makefile.conf
|
||||
echo "ENABLE_CCACHE := 1" >> Makefile.conf
|
||||
make -j${{ env.procs }} ENABLE_LTO=1
|
||||
make -j$procs ENABLE_LTO=1
|
||||
|
||||
- name: Prepare docs
|
||||
shell: bash
|
||||
run:
|
||||
make docs/prep -j${{ env.procs }} TARGETS= EXTRA_TARGETS=
|
||||
make docs/prep -j$procs TARGETS= EXTRA_TARGETS=
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
|
|
@ -72,7 +72,7 @@ jobs:
|
|||
- name: Test build docs
|
||||
shell: bash
|
||||
run: |
|
||||
make -C docs html -j${{ env.procs }} TARGETS= EXTRA_TARGETS=
|
||||
make -C docs html -j$procs TARGETS= EXTRA_TARGETS=
|
||||
|
||||
- name: Trigger RTDs build
|
||||
if: ${{ needs.check_docs_rebuild.outputs.docs_export == 'true' }}
|
||||
|
|
|
|||
45
.github/workflows/test-build.yml
vendored
45
.github/workflows/test-build.yml
vendored
|
|
@ -123,7 +123,7 @@ jobs:
|
|||
uses: actions/cache@v4
|
||||
with:
|
||||
path: .local/
|
||||
key: ${{ matrix.os }}-${{ env.IVERILOG_GIT }}
|
||||
key: ${{ matrix.os }}-${IVERILOG_GIT}
|
||||
|
||||
- name: Build iverilog
|
||||
if: steps.cache-iverilog.outputs.cache-hit != 'true'
|
||||
|
|
@ -206,3 +206,46 @@ jobs:
|
|||
shell: bash
|
||||
run: |
|
||||
make -C docs test -j${{ env.procs }} SMALL=0 ENABLE_ABC=1 ENABLE_PLUGINS=1 ENABLE_PYOSYS=0 ENABLE_CCACHE=0 ENABLE_EDITLINE=0
|
||||
|
||||
test-docs-build:
|
||||
name: Try build docs
|
||||
runs-on: [self-hosted, linux, x64, fast]
|
||||
needs: [pre_docs_job]
|
||||
if: needs.pre_docs_job.outputs.should_skip != 'true'
|
||||
strategy:
|
||||
matrix:
|
||||
docs-target: [html, latexpdf]
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: Checkout Yosys
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
|
||||
- name: Runtime environment
|
||||
run: |
|
||||
echo "procs=$(nproc)" >> $GITHUB_ENV
|
||||
|
||||
- name: Build Yosys
|
||||
run: |
|
||||
make config-clang
|
||||
echo "ENABLE_CCACHE := 1" >> Makefile.conf
|
||||
make -j$procs
|
||||
|
||||
- name: Install doc prereqs
|
||||
shell: bash
|
||||
run: |
|
||||
make docs/reqs
|
||||
|
||||
- name: Build docs
|
||||
shell: bash
|
||||
run: |
|
||||
make docs DOC_TARGET=${{ matrix.docs-target }} -j$procs
|
||||
|
||||
- name: Store docs build artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: docs-build-${{ matrix.docs-target }}
|
||||
path: docs/build/
|
||||
retention-days: 7
|
||||
|
|
|
|||
1
.github/workflows/test-compile.yml
vendored
1
.github/workflows/test-compile.yml
vendored
|
|
@ -45,6 +45,7 @@ jobs:
|
|||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup environment
|
||||
uses: ./.github/actions/setup-build-env
|
||||
|
|
|
|||
5
.github/workflows/test-verific.yml
vendored
5
.github/workflows/test-verific.yml
vendored
|
|
@ -40,7 +40,7 @@ jobs:
|
|||
echo "ENABLE_VERIFIC_YOSYSHQ_EXTENSIONS := 1" >> Makefile.conf
|
||||
echo "ENABLE_CCACHE := 1" >> Makefile.conf
|
||||
echo "ENABLE_FUNCTIONAL_TESTS := 1" >> Makefile.conf
|
||||
make -j${{ env.procs }} ENABLE_LTO=1
|
||||
make -j$procs ENABLE_LTO=1
|
||||
|
||||
- name: Install Yosys
|
||||
run: |
|
||||
|
|
@ -51,6 +51,7 @@ jobs:
|
|||
with:
|
||||
repository: 'YosysHQ/sby'
|
||||
path: 'sby'
|
||||
persist-credentials: false
|
||||
|
||||
- name: Build SBY
|
||||
run: |
|
||||
|
|
@ -58,7 +59,7 @@ jobs:
|
|||
|
||||
- name: Run Yosys tests
|
||||
run: |
|
||||
make -j${{ env.procs }} test
|
||||
make -j$procs test
|
||||
|
||||
- name: Run Verific specific Yosys tests
|
||||
run: |
|
||||
|
|
|
|||
2
.github/workflows/update-flake-lock.yml
vendored
2
.github/workflows/update-flake-lock.yml
vendored
|
|
@ -10,6 +10,8 @@ jobs:
|
|||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Install Nix
|
||||
uses: DeterminateSystems/nix-installer-action@main
|
||||
- name: Update flake.lock
|
||||
|
|
|
|||
1
.github/workflows/version.yml
vendored
1
.github/workflows/version.yml
vendored
|
|
@ -14,6 +14,7 @@ jobs:
|
|||
with:
|
||||
fetch-depth: 0
|
||||
submodules: true
|
||||
persist-credentials: false
|
||||
- name: Take last commit
|
||||
id: log
|
||||
run: echo "message=$(git log --no-merges -1 --oneline)" >> $GITHUB_OUTPUT
|
||||
|
|
|
|||
21
.github/workflows/wheels.yml
vendored
21
.github/workflows/wheels.yml
vendored
|
|
@ -1,6 +1,10 @@
|
|||
name: Build Wheels for PyPI
|
||||
|
||||
# run every Sunday at 10 AM
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 10 * * 0'
|
||||
|
||||
jobs:
|
||||
build_wheels:
|
||||
|
|
@ -14,16 +18,12 @@ jobs:
|
|||
runner: "ubuntu-22.04",
|
||||
archs: "x86_64",
|
||||
},
|
||||
## Aarch64 is disabled for now: GitHub is committing to EOY
|
||||
## for free aarch64 runners for open-source projects and
|
||||
## emulation times out:
|
||||
## https://github.com/orgs/community/discussions/19197#discussioncomment-10550689
|
||||
# {
|
||||
# name: "Ubuntu 22.04",
|
||||
# family: "linux",
|
||||
# runner: "ubuntu-22.04",
|
||||
# archs: "aarch64",
|
||||
# },
|
||||
{
|
||||
name: "Ubuntu 22.04",
|
||||
family: "linux",
|
||||
runner: "ubuntu-22.04-arm",
|
||||
archs: "aarch64",
|
||||
},
|
||||
{
|
||||
name: "macOS 13",
|
||||
family: "macos",
|
||||
|
|
@ -53,6 +53,7 @@ jobs:
|
|||
with:
|
||||
fetch-depth: 0
|
||||
submodules: true
|
||||
persist-credentials: false
|
||||
- if: ${{ matrix.os.family == 'linux' }}
|
||||
name: "[Linux] Set up QEMU"
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue