Skip to content

Commit

Permalink
chore: upgrade gradle, increase memory for tests, improve logging if …
Browse files Browse the repository at this point in the history
…tests fail
  • Loading branch information
markwoon committed Jan 12, 2024
1 parent e6d8f86 commit f950862
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 17 deletions.
18 changes: 16 additions & 2 deletions .github/workflows/ci-pharmcat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,14 @@ jobs:
cache: 'gradle'

- name: Run PharmCAT tests
run: ./gradlew test --no-daemon
run: ./gradlew test --no-daemon --info --scan

- uses: actions/upload-artifact@v4
if: failure()
with:
name: ci-pharmcat-tests-jdk17
path: build/reports/tests/test/index.html
if-no-files-found: ignore

- uses: actions/upload-artifact@v4
if: failure()
Expand All @@ -47,7 +54,14 @@ jobs:
if-no-files-found: ignore

- name: Run PharmCAT tests on Java 21
run: ./gradlew testOnJava21 --no-daemon
run: ./gradlew testOnJava21 --no-daemon --info --scan

- uses: actions/upload-artifact@v4
if: failure()
with:
name: ci-pharmcat-tests-jdk21
path: build/reports/tests/test/index.html
if-no-files-found: ignore

- uses: actions/upload-artifact@v4
if: failure()
Expand Down
18 changes: 13 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,8 @@ def getVersionName() {
}


sourceCompatibility = 17
targetCompatibility = 17
project.group = 'org.pharmgkb'
project.version = getVersionName()
archivesBaseName = "pharmcat"
mainClassName = "org.pharmgkb.pharmcat.PharmCAT"

ext {
moduleName = 'org.pharmgkb.pharmcat'
Expand All @@ -39,6 +35,8 @@ ext {
scm = 'scm:[email protected]:PharmGKB/PharmCAT.git'
orgName = 'PharmGKB'
orgUrl = 'https://www.pharmgkb.org'
mainClassName = "org.pharmgkb.pharmcat.PharmCAT"
archiveBaseName = "pharmcat"
}

def dataDir = System.env.PHARMCAT_DATA_DIR == null ? 'build' : System.env.PHARMCAT_DATA_DIR
Expand Down Expand Up @@ -87,6 +85,8 @@ clean.dependsOn(tasks.cleanTestOutput)
test.dependsOn(tasks.cleanTestOutput)

java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
Expand All @@ -96,7 +96,13 @@ tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
}

application {
mainClass = project.ext.mainClassName
}

tasks.withType(Test).configureEach {
minHeapSize = "512m"
maxHeapSize = "1024m"
useJUnitPlatform()
testLogging {
// set options for log level LIFECYCLE
Expand Down Expand Up @@ -131,15 +137,17 @@ jar {
attributes 'Automatic-Module-Name': project.ext.moduleName
attributes 'Implementation-Title': project.name
attributes 'Implementation-Version': project.version
attributes 'Main-Class': mainClassName
attributes 'Main-Class': project.ext.mainClassName
}
archiveBaseName = project.ext.archiveBaseName
}

shadowJar {
manifest {
attributes 'Implementation-Title': project.name
attributes 'Implementation-Version': project.version
}
archiveBaseName = project.ext.archiveBaseName
}

tasks.withType(Javadoc).configureEach {
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
22 changes: 13 additions & 9 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,8 @@ done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down Expand Up @@ -130,26 +131,29 @@ location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi

# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
Expand Down Expand Up @@ -198,11 +202,11 @@ fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.

set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
Expand Down
14 changes: 14 additions & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
@@ -1 +1,15 @@
plugins {
id("com.gradle.enterprise") version("3.16.1")
}

rootProject.name = 'PharmCAT'

gradleEnterprise {
if (System.getenv("CI") != null) {
buildScan {
publishAlways()
termsOfServiceUrl = "https://gradle.com/terms-of-service"
termsOfServiceAgree = "yes"
}
}
}

0 comments on commit f950862

Please sign in to comment.