Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to using Github Actions CI (bp #1690) #1699

Merged
merged 3 commits into from
Dec 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Continuous Integration

on: [pull_request]

jobs:
ci:
name: ci
runs-on: ubuntu-latest
strategy:
matrix:
scala: [2.12.12, 2.11.12]
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: Test
run: sbt ++${{ matrix.scala }} test
- name: Binary compatibility
run: sbt ++${{ matrix.scala }} mimaReportBinaryIssues


# 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: [ci]
runs-on: ubuntu-latest
steps:
- run: echo Success!
172 changes: 105 additions & 67 deletions .mergify.yml
Original file line number Diff line number Diff line change
@@ -1,69 +1,107 @@
pull_request_rules:
- name: remove outdated reviews
conditions:
- base=master
actions:
dismiss_reviews:
- name: automatic squash-and-merge on CI success and review
conditions:
- status-success=all tests passed
- '#approved-reviews-by>=1'
- '#changes-requested-reviews-by=0'
- base=master
- label="Please Merge"
- label!="DO NOT MERGE"
- label!="bp-conflict"
actions:
merge:
method: squash
strict: smart
strict_method: merge
- name: backport to 3.4.x
conditions:
- merged
- base=master
- milestone=3.4.x
actions:
backport:
branches:
- 3.4.x
ignore_conflicts: true
label_conflicts: bp-conflict
label:
add:
- Backported
- name: backport to 3.3.x, 3.4.x
conditions:
- merged
- base=master
- milestone=3.3.x
actions:
backport:
branches:
- 3.3.x
- 3.4.x
ignore_conflicts: true
label_conflicts: bp-conflict
label:
add:
- Backported
- name: backport to 3.2.x, 3.3.x, 3.4.x
conditions:
- merged
- base=master
- milestone=3.2.x
actions:
backport:
branches:
- 3.2.x
- 3.3.x
- 3.4.x
ignore_conflicts: true
label_conflicts: bp-conflict
label:
add:
- Backported
- name: label Mergify backport PR
conditions:
- body~=This is an automated backport of pull request \#\d+ done by Mergify
actions:
label:
add:
- Backport
- name: automatic squash-and-mege of 3.2.x backport PRs
conditions:
- status-success=all tests passed
- '#changes-requested-reviews-by=0'
- base=3.2.x
- label="Backport"
- label!="DO NOT MERGE"
- label!="bp-conflict"
actions:
merge:
method: squash
strict: smart
strict_method: merge
- name: automatic squash-and-mege of 3.3.x backport PRs
conditions:
- status-success=all tests passed
- '#changes-requested-reviews-by=0'
- base=3.3.x
- label="Backport"
- label!="DO NOT MERGE"
- label!="bp-conflict"
actions:
merge:
method: squash
strict: smart
strict_method: merge
- name: automatic squash-and-mege of 3.4.x backport PRs
conditions:
- status-success=all tests passed
- '#changes-requested-reviews-by=0'
- base=3.4.x
- label="Backport"
- label!="DO NOT MERGE"
- label!="bp-conflict"
actions:
merge:
method: squash
strict: smart
strict_method: merge

pull_request_rules:
- name: automatic squash-and-merge on CI success and review
conditions:
- "status-success=ci/circleci: build-firrtl"
- "status-success=ci/circleci: build-prep"
- "status-success=ci/circleci: checkstyle-chisel"
- "status-success=ci/circleci: test-chisel-2_11"
- "status-success=ci/circleci: test-chisel-2_12"
- status-success=license/cla
- "#approved-reviews-by>=1"
- "#changes-requested-reviews-by=0"
- base=master
- label="Please Merge"
- label!="DO NOT MERGE"
- label!="bp-conflict"
actions:
merge:
method: squash
strict: smart
strict_method: merge

- name: backport to 3.2.x
conditions:
- merged
- base=master
- milestone=3.2.X
actions:
backport:
branches:
- 3.2.x
ignore_conflicts: True
label_conflicts: "bp-conflict"
label:
add: [Backported]

- name: label Mergify backport PR
conditions:
- base=3.2.x
- body~=This is an automated backport of pull request \#\d+ done by Mergify
actions:
label:
add: [Backport]

- name: automatic squash-and-merge of backport PRs
conditions:
- "status-success=ci/circleci: build-firrtl"
- "status-success=ci/circleci: build-prep"
- "status-success=ci/circleci: checkstyle-chisel"
- "status-success=ci/circleci: test-chisel-2_11"
- "status-success=ci/circleci: test-chisel-2_12"
- "status-success=ci/circleci: check-binary-compatibility"
- status-success=license/cla
- "#changes-requested-reviews-by=0"
- base=3.2.x
- label="Backport"
- label!="DO NOT MERGE"
- label!="bp-conflict"
actions:
merge:
method: squash
strict: smart
strict_method: merge
2 changes: 1 addition & 1 deletion project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ resolvers += Resolver.url("scalasbt", new URL("https://scalasbt.artifactoryonlin

resolvers += Classpaths.sbtPluginReleases

addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.7.0")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.8.1")

resolvers += "jgit-repo" at "https://download.eclipse.org/jgit/maven"

Expand Down