Commit Graph

20 Commits

Author SHA1 Message Date
Jack Koenig e9e5a6c7e9
[CI] Drop macos-11 runners, use macos-12 in uploadReleaseArtifacts (#7319) 2024-07-12 15:55:07 -07:00
Andrew Lenharth 6b6855910a [NFC] Add more clang options. From my reading of the docker file, most of them don't actually work since most clang versions are not installed. But regardless, do this in anticipation of different clang versions 2024-06-17 14:35:48 -05:00
Will Dietz 53abd04cac [CI][NFC] Remove duplicate LLVM_PARALLEL_LINK_JOBS 2024-06-06 14:30:52 -05:00
Will Dietz a7bd8da352 Remove LLVM_ENABLE_TERMINFO from cmake invocations.
Harmless to specify but no longer needed as the option has been removed.

852aaf5407
2024-06-06 14:30:40 -05:00
Fabian Schuiki fb58da42cb
[ImportVerilog] Disable Slang frontend in MSVC CI builds
MSVC fails to build the Slang 3 dependency due to issues in Slang's
`MathUtils.h`. (The file is missing an `#include <limits>`.) Since we
are planning to upgrade to Slang 4 or 5 anyway, don't bother setting up
a full workaround for this issue yet and instead just disable Slang in
MSVC CI builds and installs. Once the Verilog frontend integration
matures and we update Slang, we can go back in and enable MSVC builds
again.
2024-01-30 16:16:56 -08:00
Fabian Schuiki 3d8b7d08d9
[ImportVerilog] Add Slang frontend dependency (#6620)
This is the first PR in a longer chain that adds basic SV support to
CIRCT.

Add the Slang Verilog frontend as a CIRCT dependency. This will be the
foundation for CIRCT's Verilog parsing, elaboration, type checking, and
lowering to the core dialects. By default, Slang is built as a static
library from scratch, which is then linked into the new `ImportVerilog`
conversion. Alternatively, CIRCT can also be linked against a local
Slang installation provided by the system.

Add the `ImportVerilog` conversion library. This library statically
links in the Slang dependency and wraps it in an exception-safe,
LLVM-style API. Currently this only consists of the `getSlangVersion`
function and the necessary linking flags to get it to link statically
against Slang.

Add the `circt-verilog` tool, which will provide a fully-flegded
interface to the new `ImportVerilog` library. Later on we'll also add an
MLIR translation library for single-file SV import. But in general, SV
builds take a lot of command line options (macros, search paths, etc.)
and multiple input files, which is why we have a dedicated tool. All the
tool does at the moment is print the linked Slang version. More to come.

Note that this intentionally links against **version 3** of Slang. Newer
versions are available -- 4 and 5 as of this commit -- but they rely on
fairly new C++ compiler features that didn't work out of the box in our
CI images. We'll eventually want to upgrade, but for now Slang 3 is
sufficient to get the ball rolling.

See https://github.com/MikePopoloski/slang for details on Slang.

Co-authored-by: ShiZuoye <albertethon@163.com>
Co-authored-by: hunterzju <hunter_ht@zju.edu.cn>
Co-authored-by: 孙海龙 <hailong.sun@terapines.com>
2024-01-30 13:22:00 -08:00
Will Dietz 0d95605d1e
[CI] Fix release asset upload job permissions, support manual runs. (#6547)
Give write permissions to jobs that upload release assets.
Set the release-tag explicitly so the upload action knows where to upload on manual runs (on a tag). When triggered by a release this isn't needed but doesn't hurt.

Bump the upload-release-assets action v2 -> v3: https://github.com/AButler/upload-release-assets/releases/tag/v3.0
(This is needed for the release-tag support, also fixes a warning about node version).
2024-01-04 10:58:58 -06:00
Schuyler Eldridge 32ee6c94cb
[ci] Change Windows runner to 2022
See if this helps with #6395.  Update the sccache key to use the full
runner name and not rely on the OS.  The runner may be totally different
and having cache hits by OS doesn't make sense.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2023-11-09 16:53:29 -05:00
Hideto Ueno 0518211c34 [CI] Remove a backslash
This fixes a windows build failure
2023-10-11 07:26:37 -07:00
Hideto Ueno 6d37163e7c
[CI] Install LLVM utils (#6279)
The default `install` command doesn't install LLVM utils Filecheck/not/count. Downstream users of CIRCT might want to use FileCheck directly so this PR adds `-DLLVM_INSTALL_UTILS=On` to cmake options. It increase 1MB of release artifacts (85MB->86MB) so I believe that's ok.

Tested by https://github.com/llvm/circt/actions/runs/6483396914.
2023-10-11 23:17:54 +09:00
Schuyler Eldridge 9ba8a93dc1
[ci] Make package_name_prefix optional
Change the workflow_call "package_name_prefix" of the unified
build/test/install GitHub workflow to be optional.  This is only necessary
if an "install" argument is specified (and that is already optional!).

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2023-08-25 11:12:54 -04:00
Schuyler Eldridge ff169cc489
[ci] Fix UBTI erroring on no install target
Fix a bug in the UBTI workflow where this would error if no install target
was given.  This workflow should work for any combination of optional
installation and testing.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2023-08-25 01:59:42 -04:00
Schuyler Eldridge 727a0dd622
[ci] Fix UBTI Workflow runTests boolean
Fix a problem where the runTests input only worked correctly for
workflow_dispatch, but not for workflow_call.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2023-08-25 01:29:07 -04:00
Schuyler Eldridge 54c2efb556
[ci] Add complete list of clangs to UBTI
Add all available clang versions to the Unified Build/Test/Install GitHub
Workflow.  This is done to allow for testing of any version of clang
that is available in the ubuntu-20.04 and ubuntu-22.04 runners.  Not all
versions are compatible with all runners.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2023-08-25 00:29:15 -04:00
Schuyler Eldridge cf61b00344
[ci] Add all runner options to Unified B/T/I, NFC
Add all runner options to Unified B/T/I workflow.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2023-08-24 21:20:11 -04:00
Schuyler Eldridge d245822605
[ci] Cache unified build/test/install
Enable sccache-based caching for the unified build/test/install GitHub
Workflow.  Use sccache as opposed to ccache because the former supports
Windows (as suggested by the hendrikmuhs/ccache-action documentation).

Disable caching for Windows non-release builds as there is a bug involving
cmake and sccache.

This commit is the last piece necessary to begin replacing existing
build/test GitHub workflows used in CIRCT.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2023-08-22 13:37:04 -04:00
Schuyler Eldridge f8d094c3fd
[ci] Revert "firtool" artifact name change
The name of the artifact that include the nightly and published `firtool`
was changed from `firrtl-bin` to `firtool-bin`.  This caused a bunch of
other CI to stop getting the latest version (and will break CI on the
1.52.0 release).  I'm fine with the name change.  I would like to delay
the name change until a later point.  This reverts the name change back to
the original.

CC: @SpriteOvO

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2023-08-22 13:32:52 -04:00
Asuna 10f6d69e9a
[CI] Upload full shared libs installation for Linux and macOS (#5832)
- Upload full shared libs installation for Linux and macOS
- Generate flat matrix
2023-08-16 23:58:30 -04:00
Schuyler Eldridge 87f8d9ae76
[ci] Finish reusable build/test/install workflow
Get the reusable build/test/install GitHub workflow functioning correctly.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2023-08-14 11:50:50 -04:00
Schuyler Eldridge 5340055233
[ci] Add Reusable Build/Test/Install Action, WIP
Add a work-in-progress reusable GitHub Action to do a unified build, test,
and install of CIRCT.  This is intended to be a replacement for pieces of
other GitHub actions which are doing similar, but slightly different
build/test/install.

This is directly landed onto main so that I can test this with a
workflow_dispatch event (manual trigger).  This even can only be used for
workflows that are on the default branch.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2023-08-13 21:04:28 -04:00