Skip to content
This repository has been archived by the owner on Jun 7, 2024. It is now read-only.

[EN-20691] Update fork with latest upstream changes #12

Merged
merged 23 commits into from
May 9, 2024

Conversation

simondale00
Copy link

My second attempt! All this work was merged in this PR. But out of habit I squash-merged the PR, when I should've just merged the changes to better retain the upstream commit history.

Re-opening to properly merge to retain this history.


https://glossgenius.atlassian.net/browse/EN-20691

  • Reverted a number of our forked commits
    • 4f7b91a (fault tolerant task fetcher) was already merged upstream, albeit with a different sha1
    • a6607bb (add variation name) was no longer needed
    • 1ffb62a0 (add value to assignment log data) was no longer needed
    • e9c45fc (add method to get assignment log data) was no longer needed
  • Merged all upstream commits since we forked

NOTE: This PR effectively introduces a breaking change to the forked contract. Once merged, we'll need to open a subsequent PR to introduce a new contract. Then update core-features.

However, I'm kinda OK with this? The new contract heavily leverages their existing SDK changes. And I'm hoping to open a PR against their SDK that includes my proposed getAssignmentVariation() method; if they approve and publish that change, we'll no longer need a forked SDK! 🍴

dependabot bot and others added 23 commits January 3, 2024 20:36
…-exp#28)

Bumps [com.github.tomakehurst:wiremock-jre8](https://github.com/wiremock/wiremock) from 2.33.2 to 2.35.1.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](wiremock/wiremock@2.33.2...2.35.1)

---
updated-dependencies:
- dependency-name: com.github.tomakehurst:wiremock-jre8
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* java8 compatibility using apache httpclient

* cleanup

* added timeouts

* add maven-gpg-plugin

* test across java 8, 11, 17

* pom

* remove List.of

* fix test

* eppo value

* fix plugin

* profile

---------

Co-authored-by: Gaurav Arora <[email protected]>
…-exp#36)

Bumps org.apache.httpcomponents:httpclient from 4.5.10 to 4.5.13.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…exp#32)

* [EN-17858] FetchConfigurationsTask is more fault tolerant

* revert change to pom.xml, thereby having a single, clean commit that can be merged back to the Eppo main repo
* add support for semver rule evaluation (FF-1569)

* azul builds

* adjust unit tests for semver comparison

* numeric first
* update gitignore for modern IntelliJ

* change artificat ID for beta

* Bandit random action placeholder (#1)

* ability to pass in assignment options and attributes

* simple test case

* placeholder bandit algorithm in place

* small changes from self-review

* more helpful RAC read failure message

* WIP wiring up logging

* log bandit info as well

* preserve bandit test data

* feedback from PR and adjust indention to match rest of project

* use Math.abs() as its more readable

* trailing newlines

* Bandit as a dynamic variant (#2)

* use dynamic variations

* separate bandit logger

* ability to log non-bandit selected control

* log variation not bandit boolean

* remove now unused class

* feedback from PR

* Deserialize and store bandit parameters (#3)

* deserialize bandit parameters

* cleaned up

* updated to break out subject and action attributes

* genericize configuration requestor

* changes from self-reivew of PR

* Falcon model for bandit parameter evaluation (#4)

* work in progress

* math in place

* working on tests still

* tests passing

* new test cases

* wip manually verifying math

* tests passing

* remove logging

* clean up score computation

* changes from self-reivew of PR

* consolidate test bandit rac setup code

* clean up test file

* update comments

* more comment improvements

* feedback from PR; mainly cleanup and adding some tuning parameters

* Have bandit logger separate out context (#5)

* work in progress

* math in place

* working on tests still

* tests passing

* new test cases

* wip manually verifying math

* tests passing

* remove logging

* clean up score computation

* changes from self-reivew of PR

* consolidate test bandit rac setup code

* clean up test file

* update comments

* more comment improvements

* failing tests in place

* break out attributes by type

* changes from self-review of PR

* return type as provided

* make EppoValue constructor private

* feedback from PR

* more fault tolerant reading of properties file (#6)

* catch all exceptions; unit test (#7)

* Rename BANDIT algorithm type to CONTEXTUAL_BANDIT to match Eppo (#8)

* catch all exceptions; unit test

* conform bandit algorithm type

* Add test for cold start (#9)

* explicit test for cold start

* upgrade gcloud to appease linter

* update deserializer test

* Convenience methods to serialize attributes to JSON string and other cleanup (#10)

* add back in isXXX checks

* helper function for JSON string serialization

* rename variation to banditKey for bandit logging

* remove accidentally added junit

* Prepare beta SDK for merge into Main one (#11)

* add graceful mode by default that does not throw exceptions (FF-949) (Eppo-exp#29)

* add graceful mode by default that does not throw exceptions (FF-949)

* test graceful mode on and off

* test all functions

* remove from javadoc

* Bump com.github.tomakehurst:wiremock-jre8 from 2.33.2 to 2.35.1 (Eppo-exp#28)

Bumps [com.github.tomakehurst:wiremock-jre8](https://github.com/wiremock/wiremock) from 2.33.2 to 2.35.1.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](wiremock/wiremock@2.33.2...2.35.1)

---
updated-dependencies:
- dependency-name: com.github.tomakehurst:wiremock-jre8
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* add compatibility for java 8 (Eppo-exp#35)

* java8 compatibility using apache httpclient

* cleanup

* added timeouts

* add maven-gpg-plugin

* test across java 8, 11, 17

* pom

* remove List.of

* fix test

* eppo value

* fix plugin

* profile

---------

Co-authored-by: Gaurav Arora <[email protected]>

* Bump org.apache.httpcomponents:httpclient from 4.5.10 to 4.5.13 (Eppo-exp#36)

Bumps org.apache.httpcomponents:httpclient from 4.5.10 to 4.5.13.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [EN-17858] FetchConfigurationsTask is more fault tolerant (#5) (Eppo-exp#32)

* [EN-17858] FetchConfigurationsTask is more fault tolerant

* revert change to pom.xml, thereby having a single, clean commit that can be merged back to the Eppo main repo

* bump to version 2.2.0 (Eppo-exp#38)

* add support for semver rule evaluation (FF-1569) (Eppo-exp#39)

* add support for semver rule evaluation (FF-1569)

* azul builds

* adjust unit tests for semver comparison

* numeric first

* add back in isXXX checks

* helper function for JSON string serialization

* rename variation to banditKey for bandit logging

* remove accidentally added junit

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Leo Romanovsky <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gaurav Arora <[email protected]>
Co-authored-by: Simon Dale <[email protected]>

* remove duplicate test dependency

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Leo Romanovsky <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gaurav Arora <[email protected]>
Co-authored-by: Simon Dale <[email protected]>
* address action warnings

* wiremock-jre8 v3 doesn't play nice with jre8 :(
* bump down mockito-core version to one that JRE8 supports

* use same base image as publish

* bump mockito version down even more

* mockito-core IS mockito

* change mocking strategy

* logging

* more logging

* more logging

* change test function visibility

* is it RELEASE version

* roll test way back

* more rolling back

* make app details tests public

* hail mary settings

* hail mary2

* use real junit

* try osx to spot check

* try specifying surefire plugin version

* inch back towards goal

* changes from self-review of PR
* latest version of staging plugin and increased timeout

* its not a github timeout
* Add debug logging to publish

* add repositry and staging close
* use new endpoint and separate bandit methods

* bump version

* fix access modifier
@simondale00 simondale00 merged commit ae6eb03 into main May 9, 2024
3 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants