Skip to content

Temp for debugging excessive memory usage #66

Temp for debugging excessive memory usage

Temp for debugging excessive memory usage #66

Workflow file for this run

name: build
permissions: read-all
on: [ push, pull_request ]
env:
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }}
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
ALLOWED_ENDPOINTS: >
1k4dacprodeus2file4.blob.core.windows.net:443
api.adoptium.net
api.github.com:443
artifactcache.actions.githubusercontent.com:443
caffeine.gradle-enterprise.cloud:443
cdn.azul.com:443
cloudflare.com:443
downloads.gradle-dn.com:443
ghcr.io:443
github.com:443
objects.githubusercontent.com:443
oss.sonatype.org:443
pipelines.actions.githubusercontent.com:443
plugins.gradle.org:443
plugins-artifacts.gradle.org:443
registry.npmjs.org:443
repo.gradle.org:443
repo.maven.apache.org:443
repo1.maven.org:443
scans-in.gradle.com:443
services.gradle.org:443
MIN_JVM: 11
MAX_JVM: 18
jobs:
compile:
name: Compile
runs-on: ubuntu-latest
strategy:
matrix:
java: [ 11, 18 ]
env:
JAVA_VERSION: ${{ matrix.java }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@dd2c410b088af7c0dc8046f3ac9a8f4148492a95
with:
egress-policy: block
allowed-endpoints: ${{ env.ALLOWED_ENDPOINTS }}
- name: Checkout
uses: actions/checkout@v3
- name: Set up JDK ${{ matrix.java }}
uses: Wandalen/wretry.action@v1.0.20
timeout-minutes: 5
with:
action: actions/setup-java@v3
with: |
distribution: temurin
java-version: ${{ matrix.java }}
attempt_limit: 3
attempt_delay: 2000
- name: Setup Gradle
uses: Wandalen/wretry.action@v1.0.20
timeout-minutes: 5
with:
action: gradle/gradle-build-action@v2
with: |
cache-read-only: false
arguments: help --no-scan
generate-job-summary: false
gradle-home-cache-strict-match: true
attempt_limit: 3
attempt_delay: 2000
- name: Compile
run: |
stopMarker=$(uuidgen)
echo "::stop-commands::$stopMarker"
trap "echo '::$stopMarker::'" EXIT
./gradlew check -x test
- name: Cancel if failed
uses: andymckay/cancel-action@0.2
continue-on-error: true
if: failure()
tests:
name: Tests
runs-on: ubuntu-latest
needs: compile
strategy:
matrix:
suite:
- caffeine:weakKeysAndStrongValuesStatsAsyncCaffeineSlowTest
- caffeine:weakKeysAndStrongValuesStatsSyncCaffeineSlowTest
- caffeine:strongKeysAndWeakValuesStatsSyncCaffeineSlowTest
- caffeine:strongKeysAndSoftValuesStatsSyncCaffeineSlowTest
- caffeine:strongKeysAndStrongValuesStatsAsyncCaffeineTest
- caffeine:weakKeysAndWeakValuesStatsSyncCaffeineSlowTest
- caffeine:weakKeysAndSoftValuesStatsSyncCaffeineSlowTest
- caffeine:strongKeysAndStrongValuesStatsSyncCaffeineTest
- caffeine:weakKeysAndStrongValuesStatsSyncGuavaSlowTest
- caffeine:weakKeysAndStrongValuesStatsAsyncCaffeineTest
- caffeine:strongKeysAndWeakValuesStatsSyncGuavaSlowTest
- caffeine:strongKeysAndSoftValuesStatsSyncGuavaSlowTest
- caffeine:weakKeysAndStrongValuesStatsSyncCaffeineTest
- caffeine:weakKeysAndStrongValuesAsyncCaffeineSlowTest
- caffeine:strongKeysAndWeakValuesStatsSyncCaffeineTest
- caffeine:strongKeysAndSoftValuesStatsSyncCaffeineTest
- caffeine:weakKeysAndWeakValuesStatsSyncGuavaSlowTest
- caffeine:weakKeysAndStrongValuesSyncCaffeineSlowTest
- caffeine:weakKeysAndSoftValuesStatsSyncGuavaSlowTest
- caffeine:strongKeysAndWeakValuesSyncCaffeineSlowTest
- caffeine:strongKeysAndStrongValuesStatsSyncGuavaTest
- caffeine:strongKeysAndSoftValuesSyncCaffeineSlowTest
- caffeine:weakKeysAndWeakValuesStatsSyncCaffeineTest
- caffeine:weakKeysAndSoftValuesStatsSyncCaffeineTest
- caffeine:strongKeysAndStrongValuesAsyncCaffeineTest
- caffeine:weakKeysAndWeakValuesSyncCaffeineSlowTest
- caffeine:weakKeysAndStrongValuesStatsSyncGuavaTest
- caffeine:weakKeysAndSoftValuesSyncCaffeineSlowTest
- caffeine:strongKeysAndWeakValuesStatsSyncGuavaTest
- caffeine:strongKeysAndStrongValuesSyncCaffeineTest
- caffeine:strongKeysAndSoftValuesStatsSyncGuavaTest
- caffeine:weakKeysAndStrongValuesSyncGuavaSlowTest
- caffeine:weakKeysAndStrongValuesAsyncCaffeineTest
- caffeine:strongKeysAndWeakValuesSyncGuavaSlowTest
- caffeine:strongKeysAndSoftValuesSyncGuavaSlowTest
- caffeine:weakKeysAndWeakValuesStatsSyncGuavaTest
- caffeine:weakKeysAndStrongValuesSyncCaffeineTest
- caffeine:weakKeysAndSoftValuesStatsSyncGuavaTest
- caffeine:strongKeysAndWeakValuesSyncCaffeineTest
- caffeine:strongKeysAndSoftValuesSyncCaffeineTest
- caffeine:weakKeysAndWeakValuesSyncGuavaSlowTest
- caffeine:weakKeysAndSoftValuesSyncGuavaSlowTest
- caffeine:strongKeysAndStrongValuesSyncGuavaTest
- caffeine:weakKeysAndWeakValuesSyncCaffeineTest
- caffeine:weakKeysAndSoftValuesSyncCaffeineTest
- caffeine:weakKeysAndStrongValuesSyncGuavaTest
- caffeine:strongKeysAndWeakValuesSyncGuavaTest
- caffeine:strongKeysAndSoftValuesSyncGuavaTest
- caffeine:weakKeysAndWeakValuesSyncGuavaTest
- caffeine:weakKeysAndSoftValuesSyncGuavaTest
- caffeine:lincheckTest
- caffeine:isolatedTest
- caffeine:junitTest
- simulator:check
- jcache:check
- guava:check
java: [ 11, 18 ]
env:
JAVA_VERSION: ${{ matrix.java }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@dd2c410b088af7c0dc8046f3ac9a8f4148492a95
with:
egress-policy: block
allowed-endpoints: ${{ env.ALLOWED_ENDPOINTS }}
- name: Checkout
uses: actions/checkout@v3
- name: Set up JDK ${{ matrix.java }}
uses: Wandalen/wretry.action@v1.0.20
timeout-minutes: 5
with:
action: actions/setup-java@v3
with: |
distribution: temurin
java-version: ${{ matrix.java }}
attempt_limit: 3
attempt_delay: 2000
- name: Setup Gradle
uses: Wandalen/wretry.action@v1.0.20
timeout-minutes: 5
with:
action: gradle/gradle-build-action@v2
with: |
cache-read-only: false
arguments: help --no-scan
generate-job-summary: false
gradle-home-cache-strict-match: true
attempt_limit: 3
attempt_delay: 2000
- name: Run tests (${{ matrix.suite }})
run: |
stopMarker=$(uuidgen)
echo "::stop-commands::$stopMarker"
trap "echo '::$stopMarker::'" EXIT
./gradlew ${{ matrix.suite }}
- name: Format Test Artifact Name
if: always() && (matrix.java == env.MAX_JVM)
run: |
RAW_NAME=${{ matrix.suite }}-${{ matrix.java }}
ARTIFACT_NAME=$(echo $RAW_NAME | sed 's/:/-/g')
echo "ARTIFACT_NAME=$ARTIFACT_NAME" >> $GITHUB_ENV
- name: Compress test results
uses: sibiraj-s/action-archiver@v1
if: always() && (matrix.java == env.MAX_JVM)
with:
path: '**/{jacoco,results}/**/*.{exec,xml}'
output: ${{ env.ARTIFACT_NAME }}.tar.gz
format: tar
gzip: true
- name: Upload test results
uses: actions/upload-artifact@v3
if: always() && (matrix.java == env.MAX_JVM)
with:
retention-days: 1
name: ${{ env.ARTIFACT_NAME }}-results
path: ${{ env.ARTIFACT_NAME }}.tar.gz
- name: Cancel if failed
uses: andymckay/cancel-action@0.2
continue-on-error: true
if: failure()
coverage:
name: Coverage
runs-on: ubuntu-latest
needs: tests
if: github.event_name == 'push'
steps:
- name: Harden Runner
uses: step-security/harden-runner@dd2c410b088af7c0dc8046f3ac9a8f4148492a95
with:
egress-policy: block
allowed-endpoints: >
${{ env.ALLOWED_ENDPOINTS }}
artifacts.codacy.com:443
api.codacy.com:443
codecov.io:443
coveralls.io:443
fastly.com:443
nodejs.org:443
raw.githubusercontent.com
sonarcloud.io:443
scanner.sonarcloud.io:443
storage.googleapis.com:443
uploader.codecov.io:443
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up JDK ${{ env.MAX_JVM }}
uses: Wandalen/wretry.action@v1.0.20
with:
action: actions/setup-java@v3
with: |
distribution: temurin
java-version: ${{ env.MAX_JVM }}
attempt_limit: 3
attempt_delay: 2000
- name: Setup Gradle
uses: Wandalen/wretry.action@v1.0.20
timeout-minutes: 5
with:
action: gradle/gradle-build-action@v2
with: |
cache-read-only: false
generate-job-summary: false
arguments: help --daemon --no-scan
attempt_limit: 3
attempt_delay: 2000
- name: Download Tests Results
uses: actions/download-artifact@v3
- name: Decompress
run: find . -type f -name '*.tar.gz' -exec sh -c 'tar -zxf {} --one-top-level' \;
- name: Combine Jacoco Reports
env:
JAVA_VERSION: ${{ env.MAX_JVM }}
run: |
stopMarker=$(uuidgen)
echo "::stop-commands::$stopMarker"
trap "echo '::$stopMarker::'" EXIT
./gradlew --daemon jacocoFullReport
- name: Publish to Coveralls
env:
JAVA_VERSION: ${{ env.MAX_JVM }}
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
run: |
stopMarker=$(uuidgen)
echo "::stop-commands::$stopMarker"
trap "echo '::$stopMarker::'" EXIT
./gradlew --daemon coveralls
continue-on-error: true
- name: Publish to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Publish to Codacy
uses: codacy/codacy-coverage-reporter-action@v1
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
continue-on-error: true
- name: Publish to SonarQube
env:
JAVA_VERSION: ${{ env.MAX_JVM }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
stopMarker=$(uuidgen)
echo "::stop-commands::$stopMarker"
trap "echo '::$stopMarker::'" EXIT
./gradlew --daemon sonarqube -Dsonar.branch.name=${GITHUB_REF##*/}
continue-on-error: true
test-results:
name: Test Results
runs-on: ubuntu-latest
needs: tests
permissions:
checks: write
steps:
- name: Harden Runner
uses: step-security/harden-runner@dd2c410b088af7c0dc8046f3ac9a8f4148492a95
with:
egress-policy: block
allowed-endpoints: ${{ env.ALLOWED_ENDPOINTS }}
- name: Download Tests
uses: actions/download-artifact@v3
- name: Decompress
run: find . -type f -name '*.tar.gz' -exec sh -c 'tar -zxf {} --one-top-level' \;
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
continue-on-error: true
id: test-results
with:
json_thousands_separator: ','
junit_files: '**/TEST-*.xml'
comment_mode: off
ignore_runs: true
job_summary: true
- name: Create badge
uses: emibcn/badge-action@d6f51ff11b5c3382b3b88689ae2d6db22d9737d1
with:
label: tests
color: 31c653
path: badge.svg
status: ${{ fromJSON(steps.test-results.outputs.json).formatted.stats.runs }}
- name: Upload badge to Gist
uses: andymckay/append-gist-action@88823092589111fc0683e670da60e941b29f94e9
if: >
github.event_name == 'push'
&& endsWith(github.ref, github.event.repository.default_branch)
with:
gistURL: https://gist.githubusercontent.com/ben-manes/c20eb418f0e0bd6dfe1c25beb35faae4
token: ${{ secrets.GIST_TOKEN }}
file: badge.svg
publish-snapshot:
name: Publish Snapshot
runs-on: ubuntu-latest
needs: tests
if: >
github.event_name == 'push'
&& endsWith(github.ref, github.event.repository.default_branch)
steps:
- name: Harden Runner
uses: step-security/harden-runner@dd2c410b088af7c0dc8046f3ac9a8f4148492a95
with:
egress-policy: block
allowed-endpoints: >
${{ env.ALLOWED_ENDPOINTS }}
checkerframework.org:443
docs.oracle.com:443
lightbend.github.io:443
guava.dev:443
- uses: actions/checkout@v3
- name: Set up JDK ${{ env.MIN_JVM }}
uses: Wandalen/wretry.action@v1.0.20
with:
action: actions/setup-java@v3
with: |
distribution: temurin
java-version: ${{ env.MIN_JVM }}
attempt_limit: 3
attempt_delay: 2000
- name: Setup Gradle
uses: Wandalen/wretry.action@v1.0.20
timeout-minutes: 5
with:
action: gradle/gradle-build-action@v2
with: |
cache-read-only: false
arguments: help --no-scan
generate-job-summary: false
attempt_limit: 3
attempt_delay: 2000
- name: Publish Snapshot
env:
JAVA_VERSION: ${{ env.MIN_JVM }}
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
ORG_GRADLE_PROJECT_signingKeyId: 20BCF6B1
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
run: |
stopMarker=$(uuidgen)
echo "::stop-commands::$stopMarker"
trap "echo '::$stopMarker::'" EXIT
./gradlew publishToSonatype