Bisect paulbutcher/scalamock #74
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
name: "Open CB: bisect" | |
run-name: ${{ inputs.build-name != '' && inputs.build-name || format('Bisect {0}', inputs.project-name) }} | |
on: | |
workflow_dispatch: | |
inputs: | |
build-name: | |
type: string | |
description: "Custom name of the job in GitHub Actions" | |
default: "" | |
project-name: | |
type: string | |
description: "Name of a project to build using GitHub coordinates <org>/<repo> eg. VirtusLab/scala-cli" | |
project-targets: | |
type: string | |
description: "List of project targets to builds (comma deliomited)" | |
default: "" | |
project-revision: | |
type: string | |
description: "Specific version of project to bisect against" | |
default: "" | |
repository-url: | |
type: string | |
description: "GitHub repository URL for compiler to build" | |
default: "scala/scala3" | |
scala-version-start: | |
type: string | |
description: "The first version of Scala versions range to test against" | |
default: "" | |
scala-version-end: | |
type: string | |
description: "The last version of Scala versions range to test against" | |
default: "" | |
extra-scalac-options: | |
type: string | |
description: "List of scalacOptions which should be used when building projects. Multiple entires should be seperated by a single comma character `,`" | |
default: "" | |
disabled-scalac-options: | |
type: string | |
description: "List of scalacOptions which should be filtered out when building projects." | |
default: "" | |
jobs: | |
run-bisect: | |
runs-on: ubuntu-22.04 | |
continue-on-error: false | |
timeout-minutes: 600 | |
steps: | |
- name: "Git Checkout" | |
uses: actions/checkout@v4 | |
with: | |
path: opencb | |
- name: "Git Checkout compiler" | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ inputs.repository-url }} | |
ref: main | |
fetch-depth: 0 | |
path: "compiler" | |
- uses: coursier/cache-action@v6.4 | |
- uses: VirtusLab/scala-cli-setup@v1.0.1 | |
with: | |
jvm: 8 | |
- name: Setup git config | |
run: | | |
git config --global user.name "Scala 3 Open Community Build" | |
git config --global user.email "scala3-community-build@virtuslab.com" | |
- name: "Bisect project" | |
shell: bash | |
run: | | |
cd ${{ github.workspace }}/compiler | |
scala-cli ${{ github.workspace }}/opencb/scripts/bisect.scala -- \ | |
--project-name=${{ inputs.project-name }} \ | |
--project-revision=${{ inputs.project-revision }} \ | |
--targets=${{ inputs.project-targets }} \ | |
--releases=${{ inputs.scala-version-start}}..${{ inputs.scala-version-end}} \ | |
--extra-scalac-options=${{ inputs.extra-scalac-options }} \ | |
--disabled-scalac-options=${{ inputs.disabled-scalac-options }} \ | |
--community-build-dir=${{ github.workspace }}/opencb \ | |
--compiler-dir=${{ github.workspace }}/compiler |