Skip to content

Commit abd22be

Browse files
committed
musl
1 parent 9ba17db commit abd22be

File tree

2 files changed

+31
-65
lines changed

2 files changed

+31
-65
lines changed

.github/scripts/java_setup.sh

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,21 @@ function prepareJdk() {
1212

1313
mkdir -p ${target_path}
1414

15-
local suffix="tem"
16-
local versionVar="JAVA_${version}_VERSION"
17-
if [[ "${qualifier}" == "j9" ]]; then
18-
suffix="sem"
19-
versionVar="JAVA_${version}_J9_VERSION"
20-
elif [[ "${qualifier}" == "graal" ]]; then
21-
suffix="graal"
22-
versionVar="JAVA_${version}_GRAAL_VERSION"
15+
if [[ ${qualifier} == "librca" ]] && [[ "${arch}" =~ "-musl" ]]; then
16+
URL_VAR="JAVA_${version}_MUSL_URL"
17+
URL="${!URL_VAR}"
18+
if [[ -z "${URL}" ]]; then
19+
echo "Musl/Liberica JDK URL not found for ${arch}/${variant}"
20+
exit 1
21+
fi
22+
curl -L --fail "${URL}" | sudo tar -xvzf - -C ${target_path} --strip-components 1
23+
return
2324
fi
2425

2526
if [[ ${qualifier} == "orcl" ]]; then
2627
if [[ ${version} == "8" ]]; then
27-
# https://gist.github.com/wavezhang/ba8425f24a968ec9b2a8619d7c2d86a6?permalink_comment_id=4444663#gistcomment-4444663
28-
# jdk1.8.0_361
2928
mkdir -p "${target_path}"
30-
curl -L --fail "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=247926_0ae14417abb444ebb02b9815e2103550" | sudo tar -xvzf - -C ${target_path} --strip-components 1
29+
curl -L --fail "${JAVA_8_ORACLE_URL}" | sudo tar -xvzf - -C ${target_path} --strip-components 1
3130
return
3231
else
3332
echo "Oracle JDK 8 only!"
@@ -52,6 +51,16 @@ function prepareJdk() {
5251
return
5352
fi
5453

54+
local suffix="tem"
55+
local versionVar="JAVA_${version}_VERSION"
56+
if [[ "${qualifier}" == "j9" ]]; then
57+
suffix="sem"
58+
versionVar="JAVA_${version}_J9_VERSION"
59+
elif [[ "${qualifier}" == "graal" ]]; then
60+
suffix="graal"
61+
versionVar="JAVA_${version}_GRAAL_VERSION"
62+
fi
63+
5564
local distro_base
5665
distro_base="${!versionVar}"
5766
local jdk_distro="${distro_base}-${suffix}"

.github/workflows/cache_java.yml

Lines changed: 11 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ env:
2525
JAVA_21_GRAAL_VERSION: 21.0.6
2626
JAVA_23_GRAAL_VERSION: 23.0.2
2727

28+
# https://gist.github.com/wavezhang/ba8425f24a968ec9b2a8619d7c2d86a6?permalink_comment_id=4444663#gistcomment-4444663
29+
# jdk1.8.0_361
30+
JAVA_8_ORACLE_URL: "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=247926_0ae14417abb444ebb02b9815e2103550"
31+
2832
JAVA_8_ZING_URL: "https://cdn.azul.com/zing-zvm/ZVM23.05.0.0/zing23.05.0.0-2-jdk8.0.372-linux_x64.tar.gz"
2933
JAVA_8_ZING_AARCH64_URL: "https://cdn.azul.com/zing-zvm/ZVM24.10.0.0/zing24.10.0.0-4-jdk8.0.431-linux_aarch64.tar.gz"
3034
JAVA_11_ZING_URL: "https://cdn.azul.com/zing-zvm/ZVM23.05.0.0/zing23.05.0.0-2-jdk11.0.19-linux_x64.tar.gz"
@@ -34,6 +38,12 @@ env:
3438
JAVA_21_ZING_URL: "https://cdn.azul.com/zing-zvm/ZVM23.10.0.0/zing23.10.0.0-3-jdk21.0.1-linux_x64.tar.gz"
3539
JAVA_21_ZING_AARCH64_URL: "https://cdn.azul.com/zing-zvm/ZVM24.10.0.0/zing24.10.0.0-4-jdk21.0.4.0.101-linux_aarch64.tar.gz"
3640

41+
JAVA_8_MUSL_URL: "https://download.bell-sw.com/java/8u432+7/bellsoft-jdk8u432+7-linux-x64-musl.tar.gz"
42+
JAVA_11_MUSL_URL: "https://download.bell-sw.com/java/11.0.25+11/bellsoft-jdk11.0.25+11-linux-x64-musl.tar.gz"
43+
JAVA_17_MUSL_URL: "https://download.bell-sw.com/java/17.0.13+12/bellsoft-jdk17.0.13+12-linux-x64-musl.tar.gz"
44+
JAVA_21_MUSL_URL: "https://download.bell-sw.com/java/21.0.5+11/bellsoft-jdk21.0.5+11-linux-x64-musl.tar.gz"
45+
JAVA_23_MUSL_URL: "https://download.bell-sw.com/java/23.0.1+13/bellsoft-jdk23.0.1+13-linux-x64-musl.tar.gz"
46+
3747
permissions:
3848
contents: read
3949
actions: read
@@ -79,48 +89,6 @@ jobs:
7989
name: sdkman-installation-amd64
8090
path: ${{ env.SDKMAN_DIR }}
8191

82-
setup-sdkman-amd64-musl:
83-
runs-on: ubuntu-latest
84-
container:
85-
image: "alpine:3.14"
86-
options: --cpus 2 --workdir /github/workspace -v /home/runner/work/_temp:/home/runner/work/_temp
87-
outputs:
88-
sdkman_path: ${{ steps.export-path.outputs.sdkman_path }}
89-
steps:
90-
- name: Setup OS
91-
run: |
92-
# This needs to be done early because alpine does not have bash and tar is also iffy
93-
apk update && apk add curl zip unzip bash tar
94-
- name: Cache SDKMan! AMD64/MUSL
95-
uses: actions/cache@v4
96-
with:
97-
path: sdkman
98-
key: sdkman-amd64-musl-${{ github.run_id }}
99-
restore-keys: |
100-
sdkman-amd64-musl-
101-
- name: Check if SDKMAN! is Already Installed
102-
id: check-sdkman
103-
run: |
104-
if [ -e "${GITHUB_WORKSPACE}/sdkman/bin/sdkman-init.sh" ]; then
105-
echo "SDKMAN! already installed at ${GITHUB_WORKSPACE}/sdkman."
106-
echo "skip_install=true" >> $GITHUB_ENV
107-
else
108-
echo "SDKMAN! not found, proceeding with installation."
109-
echo "skip_install=false" >> $GITHUB_ENV
110-
fi
111-
echo "SDKMAN_DIR=${GITHUB_WORKSPACE}/sdkman" >> $GITHUB_ENV
112-
- name: Install SDKMAN!
113-
if: env.skip_install == 'false'
114-
run: |
115-
curl -s "https://get.sdkman.io" | bash
116-
mkdir -p ${GITHUB_WORKSPACE}/sdkman
117-
cp -r $HOME/.sdkman/* ${SDKMAN_DIR}
118-
- name: Upload SDKMAN! as Artifact
119-
uses: actions/upload-artifact@v4
120-
with:
121-
name: sdkman-installation-amd64-musl
122-
path: ${{ env.SDKMAN_DIR }}
123-
12492
setup-sdkman-aarch64:
12593
runs-on:
12694
group: ARM LINUX SHARED
@@ -204,11 +172,10 @@ jobs:
204172
prepareJdk ${{ matrix.java_variant }} amd64
205173
206174
cache-amd64-musl:
207-
needs: setup-sdkman-amd64-musl
208175
runs-on: ubuntu-latest
209176
container:
210177
image: "alpine:3.14"
211-
options: --cpus 2 --workdir /github/workspace -v /home/runner/work/_temp:/home/runner/work/_temp
178+
options: --cpus 2
212179
strategy:
213180
fail-fast: true
214181
matrix:
@@ -226,21 +193,11 @@ jobs:
226193
path: |
227194
${{ env.JDKS_DIR }}/jdk${{ matrix.java_variant }}
228195
key: jdk${{matrix.java_variant }}-amd64-musl--${{ hashFiles('.github/workflows/cache_java.yml') }}
229-
- name: Download SDKMAN! from Artifact
230-
if: steps.cache-jdk.outputs.cache-hit != 'true'
231-
uses: actions/download-artifact@v4
232-
with:
233-
name: sdkman-installation-amd64-musl
234-
path: sdkman
235196

236197
- name: Install JDK ${{ matrix.java_variant }}
237198
if: steps.cache-jdk.outputs.cache-hit != 'true'
238199
shell: bash
239200
run: |
240-
mv $GITHUB_WORKSPACE/sdkman ~/.sdkman
241-
mkdir -p ~/.sdkman/ext # Create ext directory; it is empty and not uploaded
242-
mkdir -p ~/.sdkman/tmp # Create tmp directory; it is empty and not uploaded
243-
244201
source .github/scripts/java_setup.sh
245202
246203
prepareJdk ${{ matrix.java_variant }} amd64-musl

0 commit comments

Comments
 (0)