From b67cd1e84b924f621cd7e14e29f44d5b40126827 Mon Sep 17 00:00:00 2001 From: "-T.K.-" Date: Tue, 27 Jun 2023 11:01:11 -0700 Subject: [PATCH 1/7] ADD: add documentation for build-setup skip --- docs/Chipyard-Basics/Initial-Repo-Setup.rst | 22 ++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/Chipyard-Basics/Initial-Repo-Setup.rst b/docs/Chipyard-Basics/Initial-Repo-Setup.rst index e288e295..a7a302eb 100644 --- a/docs/Chipyard-Basics/Initial-Repo-Setup.rst +++ b/docs/Chipyard-Basics/Initial-Repo-Setup.rst @@ -71,7 +71,27 @@ Run the following script based off which compiler you would like to use. .. Note:: Prior versions of Chipyard recommended ``esp-tools`` for Gemmini development. Gemmini should now be used with the standard ``riscv-tools``. .. Warning:: The following script will complete a "full" installation of Chipyard which may take a long time depending on the system. - Ensure that this script completes fully (no interruptions) before continuing on. + Ensure that this script completes fully (no interruptions) before continuing on. User can use the ``-s`` flag to skip steps: + + ``-s1`` skips initializing conda environment + + ``-s2`` skips initializing chipyard submodules + + ``-s3`` skips initializing toolchain collateral (Spike, PK, tests, libgloss) + + ``-s4`` skips initializing ctags + + ``-s5`` skips pre-compiling chipyard sources + + ``-s6`` skips initializing FireSim + + ``-s7`` skips pre-compiling FireSim sources + + ``-s8`` skips initializing FireMarshal + + ``-s9`` skips pre-compiling FireMarshal default buildroot Linux sources + + ``-s10`` skips running repository clean-up .. code-block:: shell From 06196ff39b35d8173145e30c6ed4ebeb9557facb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20Milovanovi=C4=87?= Date: Mon, 3 Jul 2023 00:10:41 +0200 Subject: [PATCH 2/7] Add spaces between -s flag and the skip step number --- docs/Chipyard-Basics/Initial-Repo-Setup.rst | 22 ++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/Chipyard-Basics/Initial-Repo-Setup.rst b/docs/Chipyard-Basics/Initial-Repo-Setup.rst index a7a302eb..5128295c 100644 --- a/docs/Chipyard-Basics/Initial-Repo-Setup.rst +++ b/docs/Chipyard-Basics/Initial-Repo-Setup.rst @@ -71,27 +71,27 @@ Run the following script based off which compiler you would like to use. .. Note:: Prior versions of Chipyard recommended ``esp-tools`` for Gemmini development. Gemmini should now be used with the standard ``riscv-tools``. .. Warning:: The following script will complete a "full" installation of Chipyard which may take a long time depending on the system. - Ensure that this script completes fully (no interruptions) before continuing on. User can use the ``-s`` flag to skip steps: + Ensure that this script completes fully (no interruptions) before continuing on. User can use the ``--skip`` or ``-s`` flag to skip steps: - ``-s1`` skips initializing conda environment + ``-s 1`` skips initializing conda environment - ``-s2`` skips initializing chipyard submodules + ``-s 2`` skips initializing chipyard submodules - ``-s3`` skips initializing toolchain collateral (Spike, PK, tests, libgloss) + ``-s 3`` skips initializing toolchain collateral (Spike, PK, tests, libgloss) - ``-s4`` skips initializing ctags + ``-s 4`` skips initializing ctags - ``-s5`` skips pre-compiling chipyard sources + ``-s 5`` skips pre-compiling chipyard Scala sources - ``-s6`` skips initializing FireSim + ``-s 6`` skips initializing FireSim - ``-s7`` skips pre-compiling FireSim sources + ``-s 7`` skips pre-compiling FireSim sources - ``-s8`` skips initializing FireMarshal + ``-s 8`` skips initializing FireMarshal - ``-s9`` skips pre-compiling FireMarshal default buildroot Linux sources + ``-s 9`` skips pre-compiling FireMarshal default buildroot Linux sources - ``-s10`` skips running repository clean-up + ``-s 10`` skips running repository clean-up .. code-block:: shell From e78ac6be32cf227f549ae986d223e0dc3c1e5fca Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 5 Jul 2023 10:37:54 -0700 Subject: [PATCH 3/7] Apply suggestions from code review Co-authored-by: Abraham Gonzalez --- docs/Chipyard-Basics/Initial-Repo-Setup.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Chipyard-Basics/Initial-Repo-Setup.rst b/docs/Chipyard-Basics/Initial-Repo-Setup.rst index 5128295c..bc034a89 100644 --- a/docs/Chipyard-Basics/Initial-Repo-Setup.rst +++ b/docs/Chipyard-Basics/Initial-Repo-Setup.rst @@ -73,15 +73,15 @@ Run the following script based off which compiler you would like to use. .. Warning:: The following script will complete a "full" installation of Chipyard which may take a long time depending on the system. Ensure that this script completes fully (no interruptions) before continuing on. User can use the ``--skip`` or ``-s`` flag to skip steps: - ``-s 1`` skips initializing conda environment + ``-s 1`` skips initializing Conda environment - ``-s 2`` skips initializing chipyard submodules + ``-s 2`` skips initializing Chipyard submodules ``-s 3`` skips initializing toolchain collateral (Spike, PK, tests, libgloss) ``-s 4`` skips initializing ctags - ``-s 5`` skips pre-compiling chipyard Scala sources + ``-s 5`` skips pre-compiling Chipyard Scala sources ``-s 6`` skips initializing FireSim From 568fbc26fe4d7a35963a849296d4cc708bd688d5 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Wed, 5 Jul 2023 11:11:14 -0700 Subject: [PATCH 4/7] Bump mergify to check label --- .mergify.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.mergify.yml b/.mergify.yml index 0615acdc..5025ab18 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -22,3 +22,21 @@ pull_request_rules: actions: label: add: [Backport] + + - name: check PR has changelog label + conditions: + - base=main + actions: + post_check: + success_conditions: + - "label~=^changelog:" + title: | + {% if check_succeed %} + Labeled for changelog + {% else %} + Needs label for changelog + {% endif %} + summary: | + {% if not check_succeed %} + Your pull request must have a changelog label (e.g. `changelog: ...`). + {% endif %} From bc878a1b91f2afabc9f502c1239f8265c7cf029d Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Wed, 5 Jul 2023 11:26:23 -0700 Subject: [PATCH 5/7] Add weekly cron job --- .github/workflows/chipyard-full-flow.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/chipyard-full-flow.yml b/.github/workflows/chipyard-full-flow.yml index 50e219e3..21a97e11 100644 --- a/.github/workflows/chipyard-full-flow.yml +++ b/.github/workflows/chipyard-full-flow.yml @@ -6,6 +6,9 @@ on: branches: - main - '1.[0-9]*.x' + schedule: + # run at 00:00 on sunday + - cron: "0 0 * * 0" defaults: run: From 78a9c00a4b410eecfa468d65293e224b956ff6e5 Mon Sep 17 00:00:00 2001 From: Jordan Lees Date: Wed, 5 Jul 2023 12:06:40 -0700 Subject: [PATCH 6/7] The `lazy val chipyard` bit was out of date in this doc page --- docs/Customization/Custom-Chisel.rst | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/docs/Customization/Custom-Chisel.rst b/docs/Customization/Custom-Chisel.rst index 4ffbafbf..5a60ce4b 100644 --- a/docs/Customization/Custom-Chisel.rst +++ b/docs/Customization/Custom-Chisel.rst @@ -44,7 +44,8 @@ build.sbt. cd generators/ git submodule add https://git-repository.com/yourproject.git -Then add ``yourproject`` to the Chipyard top-level build.sbt file. +Then add ``yourproject`` to the Chipyard top-level build.sbt file. +Make sure it goes above the definition `lazy val chipyard`. .. code-block:: scala @@ -52,8 +53,22 @@ Then add ``yourproject`` to the Chipyard top-level build.sbt file. You can then import the classes defined in the submodule in a new project if you add it as a dependency. For instance, if you want to use this code in -the ``chipyard`` project, change the final line in build.sbt to the following. +the ``chipyard`` project, add your project to the list of sub-projects in the +`.dependsOn()` for `lazy val chipyard`. The original code may change over time, but it +should look something like this: .. code-block:: scala - lazy val chipyard = (project in file(".")).settings(commonSettings).dependsOn(testchipip, yourproject) + lazy val chipyard = (project in file("generators/chipyard")) + .dependsOn(testchipip, rocketchip, boom, hwacha, sifive_blocks, sifive_cache, iocell, + sha3, dsptools, `rocket-dsp-utils`, + gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex, fft_generator, + yourproject, // <- added to the middle of the list for simplicity + constellation, mempress) + .settings(libraryDependencies ++= rocketLibDeps.value) + .settings( + libraryDependencies ++= Seq( + "org.reflections" % "reflections" % "0.10.2" + ) + ) + .settings(commonSettings) From 75ee2cff8c288fcc2cfd30aa827d878992f81ff9 Mon Sep 17 00:00:00 2001 From: Jordan Lees Date: Wed, 5 Jul 2023 12:18:32 -0700 Subject: [PATCH 7/7] Update Custom-Chisel.rst Removed a line which had incorrect info --- docs/Customization/Custom-Chisel.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/Customization/Custom-Chisel.rst b/docs/Customization/Custom-Chisel.rst index 5a60ce4b..d40cfa9a 100644 --- a/docs/Customization/Custom-Chisel.rst +++ b/docs/Customization/Custom-Chisel.rst @@ -44,8 +44,7 @@ build.sbt. cd generators/ git submodule add https://git-repository.com/yourproject.git -Then add ``yourproject`` to the Chipyard top-level build.sbt file. -Make sure it goes above the definition `lazy val chipyard`. +Then add ``yourproject`` to the Chipyard top-level build.sbt file. .. code-block:: scala