Skip to content

Commit

Permalink
Add integrationTests for execution-driven tests (#3061)
Browse files Browse the repository at this point in the history
Move LFSRSpec, QueueSpec, and QueueFlushSpec to integrationTests for
some CI parallelism.
  • Loading branch information
jackkoenig authored Mar 2, 2023
1 parent 91a4f65 commit ba69b4d
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 1 deletion.
24 changes: 23 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
push:
branches:
- main
- 3.6.x
- 3.5.x
- 3.4.x
- 3.3.x
Expand Down Expand Up @@ -65,6 +66,27 @@ jobs:
- name: Check Formatting
run: sbt scalafmtCheckAll

integration:
name: Integration Tests
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Tabby OSS Cad Suite
uses: ./.github/workflows/setup-oss-cad-suite
- name: Install Espresso
uses: ./.github/workflows/install-espresso
- name: Setup Scala
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
cache: 'sbt'
- name: Install CIRCT
uses: ./.github/workflows/install-circt
- name: Integration Tests
run: sbt integrationTests/test

std:
name: Standard Library Tests
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -130,7 +152,7 @@ jobs:
# When adding new jobs, please add them to `needs` below
check-tests:
name: "check tests"
needs: [ci, std, doc, website]
needs: [ci, std, integration, doc, website]
runs-on: ubuntu-20.04
if: success() # only run if all tests have passed
outputs:
Expand Down
11 changes: 11 additions & 0 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,17 @@ lazy val unipublish =
}
)

// End-to-end tests that check the functionality of the emitted design with simulation
lazy val integrationTests = (project in file("integration-tests"))
.dependsOn(chisel % "compile->compile;test->test")
.dependsOn(firrtl) // SBT doesn't seem to be propagating transitive library dependencies...
.dependsOn(standardLibrary)
.settings(commonSettings: _*)
.settings(warningSuppression: _*)
.settings(fatalWarningsSettings: _*)
.settings(chiselSettings: _*)
.settings(usePluginSettings: _*)

// the chisel standard library
lazy val standardLibrary = (project in file("stdlib"))
.dependsOn(chisel)
Expand Down
File renamed without changes.

0 comments on commit ba69b4d

Please sign in to comment.