Skip to content

Commit 26b827d

Browse files
ci: test each MPS version separately to conserve disk space
1 parent 7c030bf commit 26b827d

File tree

2 files changed

+31
-6
lines changed

2 files changed

+31
-6
lines changed

.github/workflows/build.yml

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,45 @@ name: Java CI with Gradle
55

66
on:
77
push:
8-
branches: [ "main" ]
8+
branches: main
99
pull_request:
10-
branches: [ "main" ]
1110

1211
jobs:
13-
build:
12+
assemble:
1413
runs-on: ubuntu-latest
14+
outputs:
15+
mps_versions: ${{ steps.mps_versions.outputs.mps_versions }}
1516
steps:
1617
- uses: actions/checkout@v4
1718
- name: Set up JDK
1819
uses: actions/setup-java@v4
1920
with:
2021
distribution: 'temurin'
2122
java-version: '21'
22-
- name: Setup Gradle
23+
- name: Set up Gradle
2324
uses: gradle/actions/setup-gradle@v4
24-
- name: Build with Gradle
25-
run: ./gradlew build
25+
- name: Assemble
26+
run: ./gradlew assemble
27+
- name: Output MPS versions
28+
id: mps_versions
29+
run: |
30+
mps_versions=$(jq <gradle.properties --compact-output --raw-input 'select(startswith("supportedMpsVersions=")) | split("=") | .[1] | split(",")')
31+
echo "mps_versions=$mps_versions" >> "$GITHUB_OUTPUT"
32+
33+
test:
34+
needs: assemble
35+
runs-on: ubuntu-latest
36+
strategy:
37+
matrix:
38+
mps_version: ${{ fromJSON(needs.assemble.outputs.mps_versions) }}
39+
steps:
40+
- uses: actions/checkout@v4
41+
- name: Set up JDK
42+
uses: actions/setup-java@v4
43+
with:
44+
distribution: 'temurin'
45+
java-version: '21'
46+
- name: Set up Gradle
47+
uses: gradle/actions/setup-gradle@v4
48+
- name: Test
49+
run: ./gradlew testMps${{ matrix.mps_version }}

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ version.backend=1.24.3
44
version.project-loader=5.0.0
55

66
# A comma-separated list of MPS releases or prereleases to test against.
7+
# Also used in .github/build.yml to test each version in parallel
78
supportedMpsVersions=2023.2.2,2024.1.2,2025.1.1,253.28294.219

0 commit comments

Comments
 (0)