1522 add test substitutions api #3711
Workflow file for this run
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: Test Guides | |
on: | |
push: | |
branches: | |
- master | |
- '[1-9]+.[0-9]+.x' | |
pull_request: | |
branches: | |
- master | |
- '[1-9]+.[0-9]+.x' | |
jobs: | |
test_matrix: | |
name: Generate Guide Test Matrix | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.test_matrix_step.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'adopt' | |
java-version: '17' | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.gradle/caches | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Generate Guide Test Matrix | |
id: test_matrix_step | |
run: | | |
echo "Searching for groups..." | |
gradleTasks=$(./gradlew tasks | grep "Run group of guide tests" | sed 's/\(.*\) - Run group of guide tests/\"\1\"/' | tr '\n' ',' | sed 's/.$//') | |
tasksEntry="\"group_test_tasks\":[$(echo $gradleTasks)]" | |
matrixValue="{$(echo $tasksEntry)}" | |
echo "Created matrix: $matrixValue" | |
echo "matrix=$matrixValue" >> $GITHUB_OUTPUT | |
alltests: | |
name: Running ${{ matrix.group }} with Java ${{ matrix.java }} | |
needs: test_matrix | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
java: ["17", "21"] | |
group: ${{ fromJson(needs.test_matrix.outputs.matrix).group_test_tasks }} | |
env: | |
JDK_VERSION: ${{ matrix.java }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.gradle/caches | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'adopt' | |
java-version: ${{ matrix.java }} | |
- name: Run All Guide Tests | |
run: './gradlew ${{ matrix.group }}' | |
env: | |
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} | |
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} | |
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} |