Skip to content

Commit 6b9e8b0

Browse files
committed
allow customizing jdk we use from the workflow
1 parent 2ac5e47 commit 6b9e8b0

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

.github/workflows/pull_request.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ jobs:
1414
unacceptable_language_check_word_list: "blacklist whitelist slave master sane sanity insane insanity killed killing hang hung hanged hanging" #ignore-unacceptable-language
1515

1616
test-java:
17-
name: Java tests (${{ matrix.swift_version }} - ${{ matrix.os_version }})
17+
name: Java tests (swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} os:${{ matrix.os_version }})
1818
runs-on: ubuntu-latest
1919
strategy:
2020
fail-fast: true
2121
matrix:
2222
swift_version: [ 'nightly-main' ]
2323
os_version: [ 'jammy' ]
24+
jdk_vendor: [ 'Corretto' ]
2425
container:
2526
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
2627
env:
@@ -44,13 +45,14 @@ jobs:
4445
run: ./gradlew build --no-daemon
4546

4647
test-swift:
47-
name: Swift tests (${{ matrix.swift_version }} - ${{ matrix.os_version }})
48+
name: Swift tests (swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} os:${{ matrix.os_version }})
4849
runs-on: ubuntu-latest
4950
strategy:
5051
fail-fast: false
5152
matrix:
5253
swift_version: [ 'nightly-main' ]
5354
os_version: [ 'jammy' ]
55+
jdk_vendor: [ 'Corretto' ]
5456
container:
5557
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
5658
env:
@@ -60,7 +62,7 @@ jobs:
6062
- name: Install Make
6163
run: apt update && apt install -y make
6264
- name: Install JDK
63-
run: "bash -x ./docker/install_jdk.sh"
65+
run: "bash -xc 'JDK_VENDOR=${{ matrix.jdk_vendor }} ./docker/install_jdk.sh'"
6466
- name: Generate sources (make) (Temporary)
6567
# TODO: this should be triggered by the respective builds
6668
run: "make jextract-run"

docker/install_jdk.sh

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
set -euo pipefail
1616

1717
# Supported JDKs: Corretto or OpenJDK
18-
declare -r JDK_VENDOR=Corretto
18+
if [ "$JDK_VENDOR" = "" ]; then
19+
declare -r JDK_VENDOR="Corretto"
20+
fi
1921
echo "Installing $JDK_VENDOR JDK..."
2022

2123
apt-get update && apt-get install -y wget
@@ -51,6 +53,8 @@ elif [ "$JDK_VENDOR" = 'Corretto' ]; then
5153
fi
5254

5355
wget -q -O jdk.tar.gz "$JDK_URL"
56+
57+
5458
declare -r JDK_MD5="$(md5sum jdk.tar.gz | cut -d ' ' -f 1)"
5559
if [ "$JDK_MD5" != "$EXPECT_JDK_MD5" ]; then
5660
echo "Downloaded JDK MD5 does not match expected!"
@@ -60,15 +64,19 @@ elif [ "$JDK_VENDOR" = 'Corretto' ]; then
6064
else
6165
echo "JDK MD5 is correct.";
6266
fi
67+
else
68+
echo "Unsupported JDK vendor: '$JDK_VENDOR'"
69+
exit 1
6370
fi
6471

6572
# Extract and verify the JDK installation
6673

67-
mkdir -p /usr/lib/jvm/ && cd /usr/lib/jvm/
68-
tar xzvf /jdk.tar.gz
74+
mkdir -p /usr/lib/jvm/
75+
mv jdk.tar.gz /usr/lib/jvm/
76+
cd /usr/lib/jvm/
77+
tar xzvf jdk.tar.gz && rm jdk.tar.gz
6978
ls -lah
7079
mv "$(ls | head -n1)" default-jdk
71-
rm /jdk.tar.gz
7280

7381
echo "JAVA_HOME = /usr/lib/jvm/default-jdk"
7482
/usr/lib/jvm/default-jdk/bin/java -version

0 commit comments

Comments
 (0)