Skip to content

Commit

Permalink
Modernize release flow based on 5.x
Browse files Browse the repository at this point in the history
* Pin firrtl version to 1.6.0
* Pin chiseltest version used in testing to 0.6.2
* Switch to unipublish
* Remove 3.6.0 as MiMa previous version as unipublish won't work with it
  Will restore checks with 3.6.1 release, this is mitigated by the fact
  that every backport to this point has been checked.
* Update Github Actions versions
* Remove CI for documentation and website (handled by main branch)
  • Loading branch information
jackkoenig committed Jun 24, 2024
1 parent 392f415 commit f837869
Show file tree
Hide file tree
Showing 10 changed files with 145 additions and 158 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/backport-fixup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
original_pr: ${{ steps.original.outputs.pr }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Figure out backport PR number
id: backport
run: |
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
if: ${{ needs.resolve_prs.outputs.original_pr }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Copy over labels
env:
GH_TOKEN: ${{ github.token }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-scala-cli-example/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ runs:
# Need to publishLocal to test the example
- name: Publish Local
shell: bash
run: sbt publishLocal
run: sbt "unipublish / publishLocal"
- name: Test Scala CLI Example
shell: bash
run: scala-cli chisel-example.scala
6 changes: 3 additions & 3 deletions .github/workflows/enable-bincompat-checking.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
branches: ${{ steps.determine-branches.outputs.branches }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check Valid
Expand Down Expand Up @@ -70,14 +70,14 @@ jobs:
branch: ${{ fromJson(needs.determine_branches.outputs.branches) }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Create file
run: |
VERSION=${{ needs.determine_version.outputs.version }}
VERSION_NO_V=${VERSION#v}
echo $VERSION_NO_V >> project/previous-versions.txt
- name: Open PR
uses: peter-evans/create-pull-request@v5
uses: peter-evans/create-pull-request@v6
with:
base: ${{ matrix.branch }}
branch: bincompat/${{ matrix.branch }}/${{ needs.determine_version.outputs.version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/install-espresso/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ runs:
using: composite
steps:
- id: cache-espresso
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: /usr/local/bin/espresso
key: espresso-${{ runner.os }}-${{ inputs.version }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-notes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ on:
jobs:
generate_release_notes:
name: Generate Release Notes
runs-on: ubuntu-22.04
runs-on: ubuntu-latest

steps:
- name: Checkout
Expand All @@ -41,7 +41,7 @@ jobs:
run: echo "$CHANGELOG" >> $GITHUB_STEP_SUMMARY
- name: Upload Release Notes (on release)
if: github.event_name == 'release'
uses: softprops/action-gh-release@v0.1.15
uses: softprops/action-gh-release@v2.0.5
with:
body: ${{ steps.release-notes.outputs.changelog }}
- name: Error on uncategorized PRs
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/scala-cli-example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,21 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
# Need to fetch full history for deriving version
with:
fetch-depth: 0
- name: Build and Test Scala-CLI Example
uses: ./.github/workflows/build-scala-cli-example
- name: Upload Example
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: chisel-example.scala
path: chisel-example.scala
retention-days: 7
- name: Upload To Release Page
if: github.event_name == 'release'
uses: softprops/action-gh-release@v0.1.15
uses: softprops/action-gh-release@v2.0.5
with:
files: chisel-example.scala

2 changes: 1 addition & 1 deletion .github/workflows/setup-oss-cad-suite/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ runs:
using: composite
steps:
- id: cache-oss-cad-suite
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: oss-cad-suite
key: oss-cad-suite-${{ runner.os }}-${{ inputs.version }}
Expand Down
79 changes: 23 additions & 56 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
name: Continuous Integration

on:
workflow_dispatch:
pull_request:
push:
tags:
- '*'
branches:
- master
- 3.6.x
- 3.5.x
- 3.4.x
- 3.3.x
- 3.2.x
- main
- '*.x'

jobs:
ci:
Expand All @@ -25,15 +24,15 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Tabby OSS Cad Suite
uses: ./.github/workflows/setup-oss-cad-suite
- name: Install Espresso
uses: ./.github/workflows/install-espresso
with:
version: ${{ matrix.espresso }}
- name: Setup Scala
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: ${{ matrix.jvm }}
Expand All @@ -45,16 +44,16 @@ jobs:
- name: Test
run: sbt ++${{ matrix.scala }} test
- name: Binary compatibility
run: sbt ++${{ matrix.scala }} mimaReportBinaryIssues
run: sbt ++${{ matrix.scala }} unipublish/mimaReportBinaryIssues

doc:
name: Formatting
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Scala
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '11'
Expand All @@ -66,18 +65,18 @@ jobs:

integration:
name: Integration Tests (w/ chiseltest)
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Tabby OSS Cad Suite
uses: ./.github/workflows/setup-oss-cad-suite
- name: Install Espresso
uses: ./.github/workflows/install-espresso
- name: Install CIRCT
uses: ./.github/workflows/install-circt
- name: Setup Scala
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '11'
Expand All @@ -98,11 +97,11 @@ jobs:
scala: [ "2.13.10", "2.12.17" ]
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Tabby OSS Cad Suite
uses: ./.github/workflows/setup-oss-cad-suite
- name: Setup Scala
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '11'
Expand All @@ -113,48 +112,12 @@ jobs:
- name: Unit Tests
run: sbt ++${{ matrix.scala }} standardLibrary/test

website:
name: Build Mdoc & Website
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Scala
uses: olafurpg/setup-scala@v10
with:
java-version: adopt@1.8
- name: Cache Scala
uses: coursier/cache-action@v5
- name: Setup Ruby
uses: actions/setup-ruby@v1
- name: Setup Jekyll
run: |
gem install jekyll -v 4.2.0
gem install jekyll-redirect-from
- name: Install CIRCT
uses: ./.github/workflows/install-circt
#TODO: make the microsite building include building ScalaDoc
- name: Build the docs
run: sbt doc
- name: Build the microsite
run: make -C website
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Tar built website
run: tar zcf website.tar.gz website/docs/target/site
- name: Share Built Website
uses: actions/upload-artifact@v3
with:
name: website
path: website.tar.gz

scala-cli-example:
name: Test Chisel Scala-CLI Example
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
# Need to fetch full history for deriving version
with:
fetch-depth: 0
Expand All @@ -167,7 +130,7 @@ jobs:
# When adding new jobs, please add them to `needs` below
check-tests:
name: "check tests"
needs: [ci, integration, std, doc, website, scala-cli-example]
needs: [ci, integration, std, doc, scala-cli-example]
runs-on: ubuntu-20.04
if: success() # only run if all tests have passed
outputs:
Expand Down Expand Up @@ -208,11 +171,13 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install CIRCT
uses: ./.github/workflows/install-circt
- name: Setup Scala
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '8'
Expand All @@ -222,6 +187,8 @@ jobs:
- name: Publish
run: sbt -DdisableFatalWarnings ci-release
env:
CI_SNAPSHOT_RELEASE: "+unipublish/publish"
CI_SONATYPE_RELEASE: "+unipublish/publishSigned"
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
PGP_SECRET: ${{ secrets.PGP_SECRET }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
Expand Down
Loading

0 comments on commit f837869

Please sign in to comment.