WARNING! Access to this system is limited to authorised users only.
Unauthorised users may be subject to prosecution.
Unauthorised access to this system is a criminal offence under Australian law (Federal Crimes Act 1914 Part VIA)
It is a criminal offence to:
(1) Obtain access to data without authority. -Penalty 2 years imprisonment.
(2) Damage, delete, alter or insert data without authority. -Penalty 10 years imprisonment.
User activity is monitored and recorded. Anyone using this system expressly consents to such monitoring and recording.

Commit 2526c613 authored by John Zhang's avatar John Zhang
Browse files

fixes; improve CI; git source support; warning msg

- fix: eclipse benchmark had the wrong (old) MD5s
- fix: missing and old MD5s for Jython downloads
- fix: broken link for NSIS 3
- remove Maven memory restriction, which caused build to fail on weasel.moma
- add CI caching
- use small size when testing runnability on CI
- add ability to clone and checkout from git repo
- display warning message if build is not a release build
parent 3867b267
Pipeline #2941 passed with stage
in 61 minutes and 7 seconds
......@@ -10,72 +10,107 @@ before_script:
- echo "jdk9home=/usr/lib/jvm/java-9-openjdk-amd64" >> local.properties
- cat local.properties
cache:
key: anu-gitlab-local
untracked: true
avrora:
script:
- ant -Dbuild.target-jar=dacapo.jar avrora
- java -jar dacapo.jar avrora
- java -jar dacapo.jar avrora -s small
after_script:
- git clean -df -e "downloads"
batik:
script:
- ant -Dbuild.target-jar=dacapo.jar batik
- java -jar dacapo.jar batik
- java -jar dacapo.jar batik -s small
after_script:
- git clean -df -e "downloads"
eclipse:
script:
- ant -Dbuild.target-jar=dacapo.jar eclipse
- java -jar dacapo.jar eclipse
- java -jar dacapo.jar eclipse -s small
after_script:
- git clean -df -e "downloads"
fop:
script:
- ant -Dbuild.target-jar=dacapo.jar fop
- java -jar dacapo.jar fop
- java -jar dacapo.jar fop -s small
after_script:
- git clean -df -e "downloads"
h2:
script:
- ant -Dbuild.target-jar=dacapo.jar h2
- java -jar dacapo.jar h2
- java -jar dacapo.jar h2 -s small
after_script:
- git clean -df -e "downloads"
jython:
script:
- ant -Dbuild.target-jar=dacapo.jar jython
- java -jar dacapo.jar jython
- java -jar dacapo.jar jython -s small
after_script:
- git clean -df -e "downloads"
luindex:
script:
- ant -Dbuild.target-jar=dacapo.jar luindex
- java -jar dacapo.jar luindex
- java -jar dacapo.jar luindex -s small
after_script:
- git clean -df -e "downloads"
lusearch:
script:
- ant -Dbuild.target-jar=dacapo.jar lusearch
- java -jar dacapo.jar lusearch
- java -jar dacapo.jar lusearch -s small
after_script:
- git clean -df -e "downloads"
pmd:
script:
- ant -Dbuild.target-jar=dacapo.jar pmd
- java -jar dacapo.jar pmd
- java -jar dacapo.jar pmd -s small
after_script:
- git clean -df -e "downloads"
sunflow:
script:
- ant -Dbuild.target-jar=dacapo.jar sunflow
- java -jar dacapo.jar sunflow
- java -jar dacapo.jar sunflow -s small
after_script:
- git clean -df -e "downloads"
tomcat:
script:
- ant -Dbuild.target-jar=dacapo.jar tomcat
- java -jar dacapo.jar tomcat
- java -jar dacapo.jar tomcat -s small
after_script:
- git clean -df -e "downloads"
- git clean -df -e "downloads"
tradebeans:
script:
- script -q -c "ant -Dbuild.target-jar=dacapo.jar tradebeans" script.out
- sleep 120 | script -q -c "java -jar dacapo.jar tradebeans" script.out
- sleep 120 | script -q -c "java -jar dacapo.jar tradebeans -s small" script.out
after_script:
- git clean -df -e "downloads"
- git clean -df -e "downloads"
tradesoap:
script:
- script -q -c "ant -Dbuild.target-jar=dacapo.jar tradesoap" script.out
- sleep 120 | script -q -c "java -jar dacapo.jar tradesoap" script.out
- sleep 120 | script -q -c "java -jar dacapo.jar tradesoap -s small" script.out
after_script:
- git clean -df -e "downloads"
- git clean -df -e "downloads"
xalan:
script:
- ant -Dbuild.target-jar=dacapo.jar xalan
- java -jar dacapo.jar xalan
- java -jar dacapo.jar xalan -s small
after_script:
- git clean -df -e "downloads"
......@@ -39,7 +39,7 @@
<property name="harness-classpath" value="harness/dist/"/>
<target name="all" depends="source,svn-source,cvs-source,hg-source,pre-build,build,complete"/>
<target name="all" depends="source,svn-source,cvs-source,hg-source,git-source,pre-build,build,complete"/>
<target name="incremental">
<property name="incremental-build" value="true"/>
......@@ -93,6 +93,19 @@
</antcall>
</target>
<target name="git-source" if="bm-git-url">
<condition property="fail-on-error" value="no" else="yes">
<isset property="bm-ignore-failure"/>
</condition>
<antcall target="check-git-source">
<param name="target-dir" value="${bm-downloads}"/>
<param name="git-url" value="${bm-git-url}"/>
<param name="git-commit" value="${bm-git-commit}"/>
<param name="target-file" value="${bm-src}"/>
<param name="fail-on-error" value="${bm-fail-on-error}"/>
</antcall>
</target>
<target name="pre-build" depends="clean, init, unpack"/>
<target name="clean">
......
--- apache-tomcat-9.0.2-src/build.properties.default.orig 2018-03-27 11:56:29.000000000 +1100
+++ apache-tomcat-9.0.2-src/build.properties.default 2018-03-27 11:56:36.000000000 +1100
@@ -96,9 +96,9 @@
base-tomcat.loc.1=${base-apache.loc.1}/tomcat
base-tomcat.loc.2=${base-apache.loc.2}/tomcat
--- apache-tomcat-9.0.2-src/build.properties.default.orig 2018-06-26 12:32:27.000000000 +1000
+++ apache-tomcat-9.0.2-src/build.properties.default 2018-06-26 12:32:33.000000000 +1000
@@ -144,7 +144,7 @@
nsis.nsisdl.dll=${nsis.home}/Plugins/${nsis.arch.dir}NSISdl.dll
nsis.system.dll=${nsis.home}/Plugins/${nsis.arch.dir}System.dll
nsis.nsdialogs.dll=${nsis.home}/Plugins/${nsis.arch.dir}nsDialogs.dll
-nsis.loc=${base-sf.loc}/nsis/nsis-${nsis.version}.zip
+nsis.loc=https://jaist.dl.sourceforge.net/project/nsis/NSIS%203/${nsis.version}/nsis-${nsis.version}.zip
-base-sf.loc=http://downloads.sourceforge.net
+base-sf.loc=https://downloads.sourceforge.net
# repo.maven.apache.org is the same as repo2.maven.org
-base-maven.loc=http://repo.maven.apache.org/maven2
+base-maven.loc=https://repo.maven.apache.org/maven2
# Mirror, was used when there were problems with the main SF downloads site
# base-sf.loc=http://sunet.dl.sourceforge.net
# ----- Commons Daemon, version 1.1.0 or later -----
commons-daemon.version=1.1.0
......@@ -82,6 +82,15 @@ public class TestHarness {
System.setProperty("java.awt.headless", "true");
setBuildInfo(); // set BuildVersion and BuildNickName.
if (BuildVersion.contains("git")) {
System.err.println(
"----------------------------------------------------------------\n" +
"WARNING: This is NOT a release build of the DaCapo suite.\n" +
"It has not been calibrated and must be used with great care.\n" +
"If you do use this build, be sure to cite the relevant git hash.\n" +
"----------------------------------------------------------------\n"
);
}
try {
commandLineArgs = new CommandLineArgs(args);
......
......@@ -18,7 +18,7 @@
<property name="lib-src-dir" location="libs/${lib-name}/src"/>
<property name="lib-data" location="libs/${lib-name}/data"/>
<target name="all" depends="url-source, svn-source, pre-build, build, jar, complete"/>
<target name="all" depends="url-source, svn-source, hg-source, git-source, pre-build, build, jar, complete"/>
<target name="url-source" if="lib-url">
<antcall target="check-source">
......@@ -37,6 +37,24 @@
</antcall>
</target>
<target name="hg-source" if="lib-hg-url">
<antcall target="check-hg-source">
<param name="target-dir" value="${lib-downloads}"/>
<param name="hg-url" value="${lib-hg-url}"/>
<param name="hg-revision" value="${lib-hg-revision}"/>
<param name="target-file" value="${lib-src}"/>
</antcall>
</target>
<target name="git-source" if="lib-git-url">
<antcall target="check-git-source">
<param name="target-dir" value="${lib-downloads}"/>
<param name="git-url" value="${lib-git-url}"/>
<param name="git-commit" value="${lib-git-commit}"/>
<param name="target-file" value="${lib-src}"/>
</antcall>
</target>
<target name="pre-build" depends="clean, init, unpack"/>
<target name="clean">
......
......@@ -30,7 +30,6 @@
<target name="build">
<exec executable="${mvn-exe}" dir="${lib-build-top}">
<env key="MAVEN_OPTS" value="-Xms256m -Xmx512m"/>
<arg value="clean"/>
<arg value="install"/>
</exec>
......
......@@ -318,6 +318,65 @@
</antcall>
</target>
<!-- get source from git repository -->
<target name="check-git-source" if="target-filename" depends="scm-init">
<antcall target="check-git-source.checkandupdate">
<param name="git-url" value="${git-url}"/>
<param name="git-commit" value="${git-commit}"/>
<param name="target-filename" value="${target-filename}"/>
<param name="fail-on-error" value="${fail-on-error}"/>
</antcall>
<antcall target="check-git-source.update">
<param name="git-url" value="${git-url}"/>
<param name="git-commit" value="${git-commit}"/>
<param name="target-filename" value="${target-filename}"/>
<param name="fail-on-error" value="${fail-on-error}"/>
</antcall>
<antcall target="check-source.checksum.update">
<param name="target-filename" value="${target-filename}"/>
</antcall>
<antcall target="check-source.checksum.verify">
<param name="target-filename" value="${target-filename}"/>
</antcall>
</target>
<!-- get the source from git and tar up if necessary -->
<target name="get-git-source" unless="target-valid-md5">
<property name="git-tmp" value="git-${build.time}"/>
<!-- set the input string to "p" to get around a bug where git asks about unknown certificates -->
<exec executable="git" failonerror="${fail-on-error}">
<arg line="clone ${git-url} ${git-tmp}"/>
</exec>
<exec executable="git" failonerror="${fail-on-error}" dir="${git-tmp}">
<arg line="checkout ${git-commit}"/>
</exec>
<!-- since timestamps are kept in tar balls we force to a date before the dacapo project start -->
<tar destfile="${target-filename}" basedir="${git-tmp}" compression="gzip" excludes=".git/**,**/.git/**"/>
<delete dir="${git-tmp}"/>
</target>
<target name="check-git-source.checkandupdate" if="target-available-for-verify">
<checksum-verify file="${target-filename}" property="target-valid-md5"/>
<antcall target="get-git-source">
<param name="git-url" value="${git-url}"/>
<param name="git-commit" value="${git-commit}"/>
<param name="target-filename" value="${target-filename}"/>
<param name="fail-on-error" value="${fail-on-error}"/>
</antcall>
</target>
<target name="check-git-source.update" unless="target-available">
<antcall target="get-git-source">
<param name="git-url" value="${git-url}"/>
<param name="git-commit" value="${git-commit}"/>
<param name="target-filename" value="${target-filename}"/>
<param name="fail-on-error" value="${fail-on-error}"/>
</antcall>
</target>
<!-- utility targets -->
<target name="check-source.checksum.update" unless="target-available-checksum">
<checksum-write file="${target-filename}"/>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment