This repository has been archived by the owner on Aug 20, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 177
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into update/sbt-site-1.4.1
- Loading branch information
Showing
155 changed files
with
5,501 additions
and
1,320 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# Configuration for generating .mergify.yml | ||
conditions: | ||
- status-success=all tests passed | ||
branches: | ||
- 1.2.x | ||
- 1.3.x | ||
- 1.4.x |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
name: Continuous Integration | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- master | ||
- 1.4.x | ||
- 1.3.x | ||
- 1.2.x | ||
|
||
jobs: | ||
test: | ||
name: sbt test | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
scala: [2.13.4, 2.12.13] | ||
container: | ||
image: ucbbar/chisel3-tools | ||
options: --user github --entrypoint /bin/bash | ||
env: | ||
CONTAINER_HOME: /home/github | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Setup Scala | ||
uses: olafurpg/setup-scala@v10 | ||
with: | ||
java-version: [email protected] | ||
- name: Cache Scala | ||
uses: coursier/cache-action@v6 | ||
- name: Check Formatting (Scala 2.12 only) | ||
if: startsWith(matrix.scala, '2.12') | ||
run: sbt ++${{ matrix.scala }} scalafmtCheckAll | ||
- name: Unidoc | ||
run: sbt ++${{ matrix.scala }} unidoc | ||
- name: Sanity check benchmarking scripts (Scala 2.13 only) | ||
if: startsWith(matrix.scala, '2.13') | ||
run: | | ||
benchmark/scripts/benchmark_cold_compile.py -N 2 --designs regress/ICache.fir --versions HEAD | ||
benchmark/scripts/find_heap_bound.py -- -cp firrtl*jar firrtl.stage.FirrtlMain -i regress/ICache.fir -o out -X verilog | ||
- name: Test | ||
run: sbt ++${{ matrix.scala }} test | ||
- name: Binary compatibility | ||
run: sbt ++${{ matrix.scala }} mimaReportBinaryIssues | ||
|
||
mill: | ||
name: Mill Sanity Check | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
scala: [2.13.4, 2.12.13] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Setup Scala | ||
uses: olafurpg/setup-scala@v10 | ||
- name: Cache | ||
uses: coursier/cache-action@v5 | ||
- name: Setup Mill | ||
uses: jodersky/[email protected] | ||
- name: Mill sanity check | ||
run: mill _[${{ matrix.scala }}].compile | ||
|
||
# TODO find better way to express Ops and AddNot as single test | ||
equiv: | ||
name: formal equivalence | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
design: [RocketCore, FPU, ICache, Ops, AddNot] | ||
container: | ||
image: ucbbar/chisel3-tools | ||
options: --user github --entrypoint /bin/bash | ||
env: | ||
CONTAINER_HOME: /home/github | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Setup Scala | ||
uses: olafurpg/setup-scala@v10 | ||
with: | ||
java-version: [email protected] | ||
- name: Cache Scala | ||
uses: coursier/cache-action@v5 | ||
- name: Run Formal Equivalence | ||
run: ./.run_formal_checks.sh ${{ matrix.design }} | ||
|
||
# Sentinel job to simplify how we specify which checks need to pass in branch | ||
# protection and in Mergify | ||
# | ||
# When adding new jobs, please add them to `needs` below | ||
all_tests_passed: | ||
name: "all tests passed" | ||
needs: [test, mill, equiv] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: echo Success! | ||
|
||
# sbt ci-release publishes all cross versions so this job needs to be | ||
# separate from a Scala versions build matrix to avoid duplicate publishing | ||
publish: | ||
needs: [all_tests_passed] | ||
runs-on: ubuntu-latest | ||
if: github.event_name == 'push' | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Setup Scala | ||
uses: olafurpg/setup-scala@v10 | ||
with: | ||
java-version: [email protected] | ||
- name: Cache Scala | ||
uses: coursier/cache-action@v5 | ||
- name: Setup GPG (for Publish) | ||
uses: olafurpg/setup-gpg@v3 | ||
- name: Publish | ||
run: sbt ci-release | ||
env: | ||
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} | ||
PGP_SECRET: ${{ secrets.PGP_SECRET }} | ||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | ||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Update .mergify.yml | ||
on: | ||
schedule: | ||
# Runs once an hour | ||
- cron: "0 * * * *" | ||
|
||
jobs: | ||
update-mergify: | ||
name: Update .mergify.yml | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
ref: master | ||
- name: Checkout Chisel Repo Tools | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: ucb-bar/chisel-repo-tools | ||
path: tools | ||
- name: Setup Scala | ||
uses: olafurpg/setup-scala@v10 | ||
- name: Install Ammonite | ||
run: sudo sh -c '(echo "#!/usr/bin/env sh" && curl -L https://github.com/com-lihaoyi/Ammonite/releases/download/2.3.8/2.13-2.3.8) > /usr/local/bin/amm && chmod +x /usr/local/bin/amm' | ||
- name: Cache Scala | ||
uses: coursier/cache-action@v6 | ||
- name: Generate .mergify.yml | ||
run: | | ||
./tools/scripts/mergify.sc .github/configs/mergify_config.yml > .mergify.yml | ||
# Delete tools so they don't get included in commit | ||
rm -rf tools/ | ||
- name: Create Pull Request | ||
uses: peter-evans/[email protected] | ||
with: | ||
# TODO Default GITHUB_TOKEN cannot trigger PR CI | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
commit-message: Update .mergify.yml | ||
branch: actions/workflows/update-mergify | ||
delete-branch: true | ||
title: Update .mergify.yml | ||
body: | | ||
This is an automated pull request by "Update .mergify.yml" workflow created with [create-pull-request][1]. | ||
[1]: https://github.com/peter-evans/create-pull-request | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -66,3 +66,4 @@ project/metals.sbt | |
|
||
*~ | ||
*#*# | ||
.vscode |
Oops, something went wrong.