-
Notifications
You must be signed in to change notification settings - Fork 7
84 lines (78 loc) · 2.97 KB
/
buildBisect.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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