Skip to content

Commit

Permalink
Merge pull request #4213 from chipsalliance/jackkoenig/3.6.x/moderniz…
Browse files Browse the repository at this point in the history
…e-release-flow

[3.6.x] Modernize Release Flow
  • Loading branch information
jackkoenig authored Jun 24, 2024
2 parents 67b1089 + f837869 commit fc5bae9
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 fc5bae9

Please sign in to comment.