-
Notifications
You must be signed in to change notification settings - Fork 1.6k
129 lines (127 loc) · 4.82 KB
/
examples.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: examples
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 }}
JAVA_VERSION: 21
jobs:
examples:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
api.github.com:443
api.adoptium.net:443
caffeine.gradle-enterprise.cloud:443
download.oracle.com:443
downloads.gradle.org:443
downloads.gradle-dn.com:443
gds.oracle.com:443
github.com:443
jcenter.bintray.com:443
objects.githubusercontent.com:443
plugins.gradle.org:443
plugins-artifacts.gradle.org:443
repo.maven.apache.org:443
repo1.maven.org:443
services.gradle.org:443
www.graalvm.org:443
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up JDK ${{ env.JAVA_VERSION }}
uses: Wandalen/wretry.action@a163f62ae554a8f3cbe27b23db15b60c0ae2e93c # v1.3.0
timeout-minutes: 5
with:
action: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3.11.0
with: |
distribution: temurin
java-version: ${{ env.JAVA_VERSION }}
attempt_limit: 3
attempt_delay: 2000
- name: Setup Gradle
uses: Wandalen/wretry.action@a163f62ae554a8f3cbe27b23db15b60c0ae2e93c # v1.3.0
timeout-minutes: 5
with:
action: gradle/gradle-build-action@749f47bda3e44aa060e82d7b3ef7e40d953bd629 # v2.4.2
with: |
cache-read-only: false
arguments: help --no-scan
generate-job-summary: false
gradle-home-cache-cleanup: true
gradle-home-cache-strict-match: true
attempt_limit: 3
attempt_delay: 2000
- name: Setup Maven
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3.3.3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ env.JAVA_VERSION }}-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Simulator
run: >
./gradlew simulator:run
-Dcaffeine.simulator.report.output=$(pwd)/simulation.md
-Dcaffeine.simulator.files.paths.0="corda:trace_vaultservice.gz"
-Dcaffeine.simulator.files.paths.1="lirs:loop.trace.gz"
-Dcaffeine.simulator.files.paths.2="corda:trace_vaultservice.gz"
- name: Publish Simulator Results
run: |
{
echo '### Adaptivity'
echo '```'
cat $(pwd)/simulation.md
echo '```'
} >> $GITHUB_STEP_SUMMARY
- name: Chart Simulation
run: ./gradlew -q simulator:simulate --maximumSize=100,200,300
- name: Memory Overhead
run: ./gradlew -q caffeine:memoryOverhead
- name: Stresser (read)
run: >
timeout 1m ./gradlew -q caffeine:stress --workload=read
|| ([[ $? -eq 124 ]] && echo "Timeout reached, but that's OK")
- name: Stresser (write)
run: >
timeout 1m ./gradlew -q caffeine:stress --workload=write
|| ([[ $? -eq 124 ]] && echo "Timeout reached, but that's OK")
- name: Stresser (refresh)
run: >
timeout 1m ./gradlew -q caffeine:stress --workload=refresh
|| ([[ $? -eq 124 ]] && echo "Timeout reached, but that's OK")
- name: Write-behind (rxjava)
working-directory: examples/write-behind-rxjava
run: ./gradlew build
- name: Coalescing Bulkloader (reactor)
working-directory: examples/coalescing-bulkloader-reactor
run: ./gradlew build
- name: Hibernate (jcache)
working-directory: examples/hibernate
run: ./gradlew build
- name: Resilience (failsafe)
working-directory: examples/resilience-failsafe
run: ./gradlew build
- name: Prepare for Graal Native Image
uses: ./.github/actions/run-gradle
env:
SNAPSHOT: true
with:
java: GraalVM
token: ${{ secrets.GITHUB_TOKEN }}
arguments: -q caffeine:clean caffeine:jar
- name: Graal Native Image
uses: ./.github/actions/run-gradle
env:
SNAPSHOT: true
with:
java: GraalVM
token: ${{ secrets.GITHUB_TOKEN }}
arguments: >
--project-dir examples/graal-native
-Pagent run
metadataCopy --task run --dir src/main/resources/META-INF/native-image
nativeRun nativeTest