Skip to content

Commit 070e4fa

Browse files
authored
Merge 04368f0 into fcb5524
2 parents fcb5524 + 04368f0 commit 070e4fa

File tree

3 files changed

+190
-108
lines changed

3 files changed

+190
-108
lines changed

.github/workflows/java.yml

Lines changed: 97 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,116 +1,105 @@
11

2-
name: Java CI with Gradle
2+
# name: Java CI with Gradle
33

4-
on:
5-
push:
6-
branches: [ master ]
7-
tags:
8-
- '*'
9-
pull_request:
10-
branches: [ master ]
11-
workflow_dispatch:
12-
inputs:
13-
SNAPSHOT:
14-
type: boolean
15-
description: Set SNAPSHOT true to publish
4+
# on:
5+
# push:
6+
# branches: [ master ]
7+
# tags:
8+
# - '*'
9+
# pull_request:
10+
# branches: [ master ]
11+
# workflow_dispatch:
12+
# inputs:
13+
# SNAPSHOT:
14+
# type: boolean
15+
# description: Set SNAPSHOT true to publish
1616

17-
jobs:
18-
lint_markdown_files:
19-
runs-on: ubuntu-latest
20-
steps:
21-
- uses: actions/checkout@v2
22-
- name: Set up Ruby
23-
uses: ruby/setup-ruby@v1
24-
with:
25-
ruby-version: '2.6'
26-
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
27-
- name: Install gem
28-
run: |
29-
gem install awesome_bot
30-
- name: Run tests
31-
run: find . -type f -name '*.md' -exec awesome_bot {} \;
17+
# jobs:
18+
# lint_markdown_files:
19+
# runs-on: ubuntu-latest
20+
# steps:
21+
# - uses: actions/checkout@v2
22+
# - name: Set up Ruby
23+
# uses: ruby/setup-ruby@v1
24+
# with:
25+
# ruby-version: '2.6'
26+
# bundler-cache: true # runs 'bundle install' and caches installed gems automatically
27+
# - name: Install gem
28+
# run: |
29+
# gem install awesome_bot
30+
# - name: Run tests
31+
# run: find . -type f -name '*.md' -exec awesome_bot {} \;
3232

33-
integration_tests:
34-
uses: optimizely/java-sdk/.github/workflows/integration_test.yml@master
35-
secrets:
36-
CI_USER_TOKEN: ${{ secrets.CI_USER_TOKEN }}
37-
TRAVIS_COM_TOKEN: ${{ secrets.TRAVIS_COM_TOKEN }}
33+
# integration_tests:
34+
# uses: optimizely/java-sdk/.github/workflows/integration_test.yml@master
35+
# secrets:
36+
# CI_USER_TOKEN: ${{ secrets.CI_USER_TOKEN }}
37+
# TRAVIS_COM_TOKEN: ${{ secrets.TRAVIS_COM_TOKEN }}
3838

39-
fullstack_production_suite:
40-
uses: optimizely/java-sdk/.github/workflows/integration_test.yml@master
41-
with:
42-
FULLSTACK_TEST_REPO: ProdTesting
43-
secrets:
44-
CI_USER_TOKEN: ${{ secrets.CI_USER_TOKEN }}
45-
TRAVIS_COM_TOKEN: ${{ secrets.TRAVIS_COM_TOKEN }}
39+
# fullstack_production_suite:
40+
# uses: optimizely/java-sdk/.github/workflows/integration_test.yml@master
41+
# with:
42+
# FULLSTACK_TEST_REPO: ProdTesting
43+
# secrets:
44+
# CI_USER_TOKEN: ${{ secrets.CI_USER_TOKEN }}
45+
# TRAVIS_COM_TOKEN: ${{ secrets.TRAVIS_COM_TOKEN }}
4646

47-
test:
48-
if: startsWith(github.ref, 'refs/tags/') != true
49-
runs-on: ubuntu-latest
50-
strategy:
51-
fail-fast: false
52-
matrix:
53-
jdk: [8, 9]
54-
optimizely_default_parser: [GSON_CONFIG_PARSER, JACKSON_CONFIG_PARSER, JSON_CONFIG_PARSER, JSON_SIMPLE_CONFIG_PARSER]
55-
steps:
56-
- name: checkout
57-
uses: actions/checkout@v2
58-
59-
- name: set up JDK ${{ matrix.jdk }}
60-
uses: AdoptOpenJDK/install-jdk@v1
61-
with:
62-
version: ${{ matrix.jdk }}
63-
architecture: x64
64-
65-
- name: Grant execute permission for gradlew
66-
run: chmod +x gradlew
67-
68-
- name: Gradle cache
69-
uses: actions/cache@v2
70-
with:
71-
path: |
72-
~/.gradle/caches
73-
~/.gradle/wrapper
74-
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }}
75-
76-
- name: run tests
77-
id: unit_tests
78-
env:
79-
optimizely_default_parser: ${{ matrix.optimizely_default_parser }}
80-
run: |
81-
./gradlew clean
82-
./gradlew exhaustiveTest
83-
./gradlew build
84-
- name: Check on failures
85-
if: steps.unit_tests.outcome != 'success'
86-
run: |
87-
cat /home/runner/java-sdk/core-api/build/reports/findbugs/main.html
88-
cat /home/runner/java-sdk/core-api/build/reports/findbugs/test.html
89-
- name: Check on success
90-
if: steps.unit_tests.outcome == 'success'
91-
run: |
92-
./gradlew coveralls uploadArchives --console plain
47+
# test:
48+
# if: startsWith(github.ref, 'refs/tags/') != true
49+
# runs-on: ubuntu-latest
50+
# strategy:
51+
# fail-fast: false
52+
# matrix:
53+
# jdk: [8, 11, 17]
54+
# optimizely_default_parser: [GSON_CONFIG_PARSER, JACKSON_CONFIG_PARSER, JSON_CONFIG_PARSER, JSON_SIMPLE_CONFIG_PARSER]
55+
# steps:
56+
# - name: checkout
57+
# uses: actions/checkout@v2
58+
# - uses: actions/setup-java@v3
59+
# with:
60+
# distribution: 'temurin'
61+
# java-version: '11'
62+
# cache: 'gradle'
63+
# - name: Grant execute permission for gradlew
64+
# run: chmod +x gradlew
65+
# - name: run tests
66+
# id: unit_tests
67+
# env:
68+
# optimizely_default_parser: ${{ matrix.optimizely_default_parser }}
69+
# run: |
70+
# ./gradlew clean
71+
# ./gradlew test
72+
# ./gradlew build
73+
# - name: Check on failures
74+
# if: steps.unit_tests.outcome != 'success'
75+
# run: |
76+
# cat /home/runner/java-sdk/core-api/build/reports/findbugs/main.html
77+
# cat /home/runner/java-sdk/core-api/build/reports/findbugs/test.html
78+
# - name: Check on success
79+
# if: steps.unit_tests.outcome == 'success'
80+
# run: |
81+
# ./gradlew coveralls uploadArchives --console plain
9382

94-
publish:
95-
if: startsWith(github.ref, 'refs/tags/')
96-
uses: optimizely/java-sdk/.github/workflows/build.yml@master
97-
with:
98-
action: ship
99-
travis_tag: ${GITHUB_REF#refs/*/}
100-
secrets:
101-
MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }}
102-
MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }}
103-
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
104-
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
83+
# publish:
84+
# if: startsWith(github.ref, 'refs/tags/')
85+
# uses: optimizely/java-sdk/.github/workflows/build.yml@master
86+
# with:
87+
# action: ship
88+
# travis_tag: ${GITHUB_REF#refs/*/}
89+
# secrets:
90+
# MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }}
91+
# MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }}
92+
# MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
93+
# MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
10594

106-
snapshot:
107-
if: ${{ github.event.inputs.SNAPSHOT == 'true' && github.event_name == 'workflow_dispatch' }}
108-
uses: optimizely/java-sdk/.github/workflows/build.yml@master
109-
with:
110-
action: ship
111-
travis_tag: BB-SNAPSHOT
112-
secrets:
113-
MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }}
114-
MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }}
115-
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
116-
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
95+
# snapshot:
96+
# if: ${{ github.event.inputs.SNAPSHOT == 'true' && github.event_name == 'workflow_dispatch' }}
97+
# uses: optimizely/java-sdk/.github/workflows/build.yml@master
98+
# with:
99+
# action: ship
100+
# travis_tag: BB-SNAPSHOT
101+
# secrets:
102+
# MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }}
103+
# MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }}
104+
# MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
105+
# MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}

.travis.yml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
language: java
2+
dist: trusty
3+
jdk:
4+
- openjdk8
5+
- oraclejdk8
6+
- oraclejdk9
7+
install: true
8+
env:
9+
- optimizely_default_parser=GSON_CONFIG_PARSER
10+
- optimizely_default_parser=JACKSON_CONFIG_PARSER
11+
- optimizely_default_parser=JSON_CONFIG_PARSER
12+
- optimizely_default_parser=JSON_SIMPLE_CONFIG_PARSER
13+
script:
14+
- "./gradlew clean"
15+
- "./gradlew exhaustiveTest"
16+
- "./gradlew build"
17+
18+
cache:
19+
gradle: true
20+
directories:
21+
- "$HOME/.gradle/caches"
22+
- "$HOME/.gradle/wrapper"
23+
branches:
24+
only:
25+
- master
26+
- /^\d+\.\d+\.(\d|[x])+(-SNAPSHOT|-alpha|-beta)?\d*$/ # trigger builds on tags which are semantically versioned to ship the SDK.
27+
after_success:
28+
- ./gradlew coveralls uploadArchives --console plain
29+
after_failure:
30+
- cat /home/travis/build/optimizely/java-sdk/core-api/build/reports/findbugs/main.html
31+
- cat /home/travis/build/optimizely/java-sdk/core-api/build/reports/findbugs/test.html
32+
33+
# Integration tests need to run first to reset the PR build status to pending
34+
stages:
35+
- 'Source Clear'
36+
- 'Lint markdown files'
37+
- 'Integration tests'
38+
- 'Full stack production tests'
39+
- 'Test'
40+
- 'Publish'
41+
- 'Snapshot'
42+
43+
jobs:
44+
include:
45+
- stage: 'Lint markdown files'
46+
os: linux
47+
language: generic
48+
install: gem install awesome_bot
49+
script:
50+
- find . -type f -name '*.md' -exec awesome_bot {} \;
51+
notifications:
52+
email: false
53+
54+
- &integrationtest
55+
stage: 'Integration tests'
56+
merge_mode: replace
57+
env: SDK=java SDK_BRANCH=$TRAVIS_PULL_REQUEST_BRANCH
58+
cache: false
59+
language: minimal
60+
before_install: skip
61+
install: skip
62+
before_script:
63+
- mkdir $HOME/travisci-tools && pushd $HOME/travisci-tools && git init && git pull https://$CI_USER_TOKEN@github.com/optimizely/travisci-tools.git && popd
64+
script:
65+
- $HOME/travisci-tools/trigger-script-with-status-update.sh
66+
after_success: travis_terminate 0
67+
68+
- <<: *integrationtest
69+
stage: 'Full stack production tests'
70+
env:
71+
SDK=java
72+
SDK_BRANCH=$TRAVIS_PULL_REQUEST_BRANCH
73+
FULLSTACK_TEST_REPO=ProdTesting
74+
75+
- stage: 'Source Clear'
76+
if: type = cron
77+
install: skip
78+
before_script: skip
79+
script: skip
80+
after_success: skip
81+
82+
- stage: 'Publish'
83+
if: tag IS present
84+
script:
85+
- ./gradlew ship
86+
after_success: skip
87+
88+
- stage: 'Snapshot'
89+
if: env(SNAPSHOT) = true and type = api
90+
script:
91+
- TRAVIS_TAG=BB-SNAPSHOT ./gradlew ship
92+
after_success: skip

core-api/src/main/java/com/optimizely/ab/Optimizely.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
***************************************************************************/
1616
package com.optimizely.ab;
1717

18+
1819
import com.optimizely.ab.annotations.VisibleForTesting;
1920
import com.optimizely.ab.bucketing.Bucketer;
2021
import com.optimizely.ab.bucketing.DecisionService;

0 commit comments

Comments
 (0)