Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jenkins DSL scripts for 20.1 branch, see #81 #82

Merged
merged 1 commit into from
Dec 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
)