Skip to content

Commit

Permalink
Jenkins DSL for 20.1 branch
Browse files Browse the repository at this point in the history
  • Loading branch information
Karm committed Dec 21, 2020
1 parent 9ef39a8 commit 5176b0c
Show file tree
Hide file tree
Showing 2 changed files with 118 additions and 0 deletions.
42 changes: 42 additions & 0 deletions jenkins/jobs/scripts/mandrel_linux_build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/bash

pushd "${WORKSPACE}" || exit 1
export MAVEN_REPO=${HOME}/.m2/repository
export MANDREL_REPO=${WORKSPACE}/mandrel
export JAVA_HOME=/usr/java/${OPENJDK}
export MX_HOME=${WORKSPACE}/mx
export PATH=${JAVA_HOME}/bin:${MX_HOME}:${PATH}
pushd mandrel
export MANDREL_VERSION="${MANDREL_VERSION_SUBSTRING} $( git log --pretty=format:%h -n1)"
export MANDREL_VERSION_UNTIL_SPACE="$( echo ${MANDREL_VERSION} | sed -e 's/\([^ ]*\).*/\1/;t' )"
export JAVA_VERSION="$(java --version | sed -e 's/.*build \([^) ]*\)).*/\1/;t;d' )"
export MANDREL_HOME=${WORKSPACE}/mandrel-java11-${MANDREL_VERSION_UNTIL_SPACE}
popd
${JAVA_HOME}/bin/java -ea build.java --maven-local-repository ${MAVEN_REPO} \
--mandrel-repo ${MANDREL_REPO} --mx-home ${MX_HOME} \
--mandrel-version ${MANDREL_VERSION} --mandrel-home ${MANDREL_HOME} \
--archive-suffix tar.gz
TAR_NAME="$( ls mandrel-*.tar.gz )"
sha1sum ${TAR_NAME}>${TAR_NAME}.sha1
sha256sum ${TAR_NAME}>${TAR_NAME}.sha256
cat >./MANDREL.md <<EOL
This is a dev build of Mandrel from https://github.com/graalvm/mandrel.
Mandrel ${MANDREL_VERSION}
OpenJDK used: ${JAVA_VERSION}
EOL
if [[ ! -e "${MANDREL_HOME}/bin/native-image" ]]; then
echo "Cannot find native-image tool. Quitting..."
exit 1
fi
cat >./Hello.java <<EOL
public class Hello {
public static void main(String[] args) {
System.out.println("Hello.");
}
}
EOL
export JAVA_HOME=${MANDREL_HOME}
export PATH=${JAVA_HOME}/bin:${PATH}
javac Hello.java
native-image Hello
if [[ "`./hello`" == "Hello." ]]; then echo Done; else echo Native image fail;exit 1;fi
76 changes: 76 additions & 0 deletions jenkins/jobs/scripts/mandrel_windows_build.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
@echo off

pushd %WORKSPACE%

set PYTHONHTTPSVERIFY=0
set "JAVA_HOME=C:\Program Files\AdoptOpenJDK\%OPENJDK%"
set "PATH=%JAVA_HOME%\bin;%PATH%"
set MAVEN_REPO=C:\tmp\.m2\repository
set "MANDREL_REPO=%WORKSPACE%\mandrel"
set "MX_HOME=%WORKSPACE%\mx"

pushd mandrel
for /F "tokens=*" %%i in ('"git log --pretty=format:%%h -n1"') do set VER=%%i
set "MANDREL_VERSION=%MANDREL_VERSION_SUBSTRING% %VER%"
for /f "tokens=1 delims= " %%a IN ("%MANDREL_VERSION%") do set MANDREL_VERSION_UNTIL_SPACE=%%a
for /f "tokens=6" %%g in ('java --version 2^>^&1 ^| findstr /R "Runtime.*build "') do set JAVA_VERSION=%%g
set JAVA_VERSION=%JAVA_VERSION:~0,-1%
set MANDREL_HOME=%WORKSPACE%\mandrel-java11-%MANDREL_VERSION_UNTIL_SPACE%
popd

echo XXX MANDREL_VERSION_SUBSTRING: %MANDREL_VERSION_SUBSTRING%
echo XXX MANDREL_VERSION: %MANDREL_VERSION%
echo XXX MANDREL_VERSION_UNTIL_SPACE: %MANDREL_VERSION_UNTIL_SPACE%
echo XXX JAVA_VERSION: %JAVA_VERSION%
echo XXX MANDREL_HOME: %MANDREL_HOME%
echo XXX MX_HOME: %MX_HOME%
echo XXX MAVEN_REPO: %MAVEN_REPO%
echo XXX MANDREL_REPO: %MANDREL_REPO%
echo XXX JAVA_HOME: %JAVA_HOME%

call vcvars64
IF NOT %ERRORLEVEL% == 0 ( exit 1 )

"%JAVA_HOME%\bin\java" -ea build.java --maven-local-repository "%MAVEN_REPO%" --mandrel-repo "%MANDREL_REPO%" --mx-home "%MX_HOME%" --mandrel-version "%MANDREL_VERSION%" --mandrel-home "%MANDREL_HOME%" --archive-suffix zip
IF NOT %ERRORLEVEL% == 0 ( exit 1 )

for /f "tokens=5" %%g in ('dir mandrel-*.zip ^| findstr /R mandrel-.*.zip') do set ZIP_NAME=%%g
powershell -c "$hash=(Get-FileHash %ZIP_NAME% -Algorithm SHA1).Hash;echo \"$hash %ZIP_NAME%\"">%ZIP_NAME%.sha1
IF NOT %ERRORLEVEL% == 0 ( exit 1 )

powershell -c "$hash=(Get-FileHash %ZIP_NAME% -Algorithm SHA256).Hash;echo \"$hash %ZIP_NAME%\"">%ZIP_NAME%.sha256
IF NOT %ERRORLEVEL% == 0 ( exit 1 )

(
echo This is a dev build of Mandrel from https://github.com/graalvm/mandrel.
echo Mandrel %MANDREL_VERSION%
echo OpenJDK used: %JAVA_VERSION%
) >MANDREL.md

if not exist "%MANDREL_HOME%\bin\native-image.cmd" (
echo "Cannot find native-image tool. Quitting..."
exit 1
) else (
echo "native-image.cmd is present, good."
)

(
echo|set /p=" public class Hello {"
echo|set /p=" public static void main(String[] args) {"
echo|set /p=" System.out.println("Hello.");"
echo|set /p=" }"
echo|set /p=" }"
) >Hello.java

set "JAVA_HOME=%MANDREL_HOME%"
set "PATH=%JAVA_HOME%\bin;%PATH%"
javac Hello.java
native-image Hello

for /F "tokens=*" %%i in ('hello.exe') do set HELLO_OUT=%%i
if "%HELLO_OUT%" == "Hello." (
echo Done
) else (
echo Native image fail
exit 1
)

0 comments on commit 5176b0c

Please sign in to comment.