Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: merge private to public #104

Merged
merged 1,159 commits into from
Feb 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1159 commits
Select commit Hold shift + click to select a range
6876ca3
remove "non-module-build" CI test which can no longer be run
eli-darkly Oct 4, 2021
cb9af9b
Merge pull request #305 from launchdarkly/eb/ch125335/non-module-test
eli-darkly Oct 4, 2021
a35535c
add CI job for Go 1.17; update linter & test coverage script
eli-darkly Oct 4, 2021
89f4601
Merge pull request #306 from launchdarkly/eb/ch118928/go-1.17
eli-darkly Oct 4, 2021
8b5e8c1
Update pull request template to correct CONTRIBUTING.md link
cwaldren-ld Nov 11, 2021
cd2f8dc
Merge pull request #309 from launchdarkly/cwaldren-fix-contributing-link
cwaldren-ld Nov 12, 2021
bf09f8c
Remove reference to dep in CONTRIBUTING.md (#310)
cwaldren-ld Nov 23, 2021
74e3d39
SC-128558: Allow users to set custom headers on requests (#308)
cwaldren-ld Nov 24, 2021
1837969
better tests for simple proxy configuration (#311)
eli-darkly Nov 24, 2021
871535e
update evaluation engine to fix circular prereqs issue, add more eval…
eli-darkly Jan 5, 2022
de1ed7e
Merge pull request #313 from launchdarkly/eb/sc-136333/eval-fix-prereqs
eli-darkly Jan 5, 2022
26d1e71
merge from public after release
Jan 8, 2022
c8bf910
add ServiceEndpoints to configuration API (#314)
eli-darkly Jan 10, 2022
f8e4646
merge from public after release
Jan 11, 2022
50f1eb9
fix setting of trackEvents/trackReason in AllFlagsState data when the…
eli-darkly Jan 19, 2022
d68d150
merge from public after release
Jan 20, 2022
059766d
Go SDK test service for use with the SDK test harness (#312)
eli-darkly Jan 24, 2022
76d828e
fix AllFlagsState DetailsOnlyForTrackedFlags behavior
eli-darkly Jan 27, 2022
e9841e8
fix reason logic
eli-darkly Jan 27, 2022
aa9721e
Merge pull request #316 from launchdarkly/eb/sc-139836/all-flags-details
eli-darkly Jan 28, 2022
9610a9d
enable big segments contract tests (#317)
eli-darkly Feb 8, 2022
d6f8495
implement tags
eli-darkly Mar 1, 2022
f706887
may as well use a regex
eli-darkly Mar 1, 2022
59cf3ba
lint
eli-darkly Mar 1, 2022
bab87df
update major version to v6 and minimum Go version to 1.16
eli-darkly Mar 3, 2022
a989d39
update test service dependency
eli-darkly Mar 3, 2022
bbd8f01
Merge pull request #319 from launchdarkly/eb/sc-144319-sc-144321/vers…
eli-darkly Mar 3, 2022
f24e1f5
remove deprecated things
eli-darkly Mar 3, 2022
5b01407
remove alias events and InlineUsersInEvents
eli-darkly Mar 4, 2022
48e9229
rm obsolete test
eli-darkly Mar 4, 2022
9d4e2fc
Merge pull request #320 from launchdarkly/eb/sc-142112/remove-deprecated
eli-darkly Mar 4, 2022
c1ce30b
use newer sdk-test-harness run script
eli-darkly Mar 4, 2022
57b1a73
Merge pull request #321 from launchdarkly/eb/sc-144748/remove-unsuppo…
eli-darkly Mar 4, 2022
cb12768
update tags implementation for spec changes
eli-darkly Mar 8, 2022
49bc9a0
add comment
eli-darkly Mar 8, 2022
8a4adbd
add log warning for bad values
eli-darkly Mar 8, 2022
7429cd5
don't bother validating if it's empty
eli-darkly Mar 8, 2022
8047967
nil check in test
eli-darkly Mar 8, 2022
6ebbb9b
Merge branch 'eb/sc-143651/tags' into v6
eli-darkly Mar 8, 2022
915d1fb
implement tags
eli-darkly Mar 9, 2022
7cc1556
update doc comments to match latest spec
eli-darkly Mar 9, 2022
d075a9c
Merge pull request #323 from launchdarkly/eb/sc-143651/tags-v5
eli-darkly Mar 9, 2022
0b6e1e5
Merge branch 'v5' into v6
eli-darkly Mar 9, 2022
c0f9699
more doc comment updates
eli-darkly Mar 9, 2022
7e687c9
Merge pull request #324 from launchdarkly/eb/sc-143651/tags-docs
eli-darkly Mar 10, 2022
38d7e08
(#1) initial changes for U2C (#322)
eli-darkly Mar 10, 2022
9b5b0f9
Merge branch 'v5' into v6
eli-darkly Mar 10, 2022
1f89b75
misc updates for recent U2C changes in SDK packages
eli-darkly Mar 12, 2022
ac31317
rm unused
eli-darkly Mar 12, 2022
5c8c845
Merge pull request #325 from launchdarkly/eb/sc-144711/update-packages
eli-darkly Mar 14, 2022
3cd329e
update to latest alpha go-sdk-events
eli-darkly Mar 16, 2022
bf4278b
general SDK API changes to replace users with contexts
eli-darkly Mar 18, 2022
b8994d7
API updates in contract tests
eli-darkly Mar 18, 2022
1e6262f
add context validity check for evaluations
eli-darkly Mar 18, 2022
4c22570
don't use gopkg.in in import paths
eli-darkly Mar 18, 2022
56e872e
comment copyedits
eli-darkly Mar 18, 2022
6b04d80
Merge pull request #326 from launchdarkly/eb/sc-145782/no-user
eli-darkly Mar 18, 2022
bb84af6
Merge pull request #327 from launchdarkly/eb/sc-141948/import-paths
eli-darkly Mar 18, 2022
02dadac
use prerelease v2 contract tests in CI
eli-darkly Mar 18, 2022
4380c0b
remove compatibility shims in test service
eli-darkly Mar 18, 2022
29e2d5a
Merge pull request #328 from launchdarkly/eb/sc-144711/contract-tests-v2
eli-darkly Mar 21, 2022
55041d2
change HTTPConfiguration and LoggingConfiguration to not be interfaces
eli-darkly Mar 21, 2022
5e79879
fix contract test service params
eli-darkly Mar 22, 2022
542d0c4
Merge branch 'v6' into eb/sc-142114/config-interfaces
eli-darkly Mar 22, 2022
cddd63d
update for prerelease go-sdk-common/go-sdk-events API changes
eli-darkly Mar 22, 2022
adaba38
lint
eli-darkly Mar 22, 2022
707a81c
update test service dependencies
eli-darkly Mar 22, 2022
2a014cb
Merge pull request #329 from launchdarkly/eb/sc-142114/config-interfaces
eli-darkly Mar 23, 2022
5565681
merge from public after release
Mar 23, 2022
47e1dd3
Merge branch 'v6' into eb/sc-146546-sc-146899/api-changes
eli-darkly Mar 25, 2022
cd1ad15
update for misc API changes in prerelease packages
eli-darkly Mar 26, 2022
609cf56
update test service dependencies
eli-darkly Mar 26, 2022
876c908
Merge pull request #330 from launchdarkly/eb/sc-146546-sc-146899/api-…
eli-darkly Mar 28, 2022
14f95ca
change HTTPConfigurationBuilder and LoggingConfigurationBuilder to co…
eli-darkly Mar 29, 2022
50d03d6
set up benchmarks to enforce that basic evaluations don't cause heap …
eli-darkly Mar 29, 2022
f14d36a
mark some more benchmarks as NoAlloc
eli-darkly Mar 29, 2022
5c8fb31
add logging to nil checks
eli-darkly Mar 29, 2022
d3d123e
fix diagnostic output
eli-darkly Mar 30, 2022
da3ab58
Merge pull request #331 from launchdarkly/eb/sc-142114/config-builder…
eli-darkly Mar 30, 2022
4c3d3f1
Merge pull request #332 from launchdarkly/eb/sc-146177/benchmark-allocs
eli-darkly Mar 30, 2022
35485dc
update prerelease dependencies
eli-darkly Apr 1, 2022
18b7833
support new contract tests that need to set service endpoints indepen…
eli-darkly Apr 14, 2022
fd594cb
fix URI override logic
eli-darkly Apr 14, 2022
d605d92
Merge pull request #333 from launchdarkly/eb/sc-149891/contract-tests…
eli-darkly Apr 14, 2022
f89a330
update TestData API for context support (#334)
eli-darkly Apr 26, 2022
ee1356c
add VariationForAll/VariationForAllIndex in test data builder, deprec…
eli-darkly Apr 26, 2022
5eeecf9
enforce 64-char limit on tag values
eli-darkly Apr 28, 2022
3ed13d7
Merge pull request #335 from launchdarkly/eb/sc-146630/testdata-api-c…
eli-darkly Apr 29, 2022
bb8cb0d
enable contract tests for polling mode
eli-darkly Apr 30, 2022
6b240a4
Merge pull request #337 from launchdarkly/eb/sc-150021/polling-tests
eli-darkly May 2, 2022
62c1a6c
Merge pull request #336 from launchdarkly/eb/sc-151307/tag-length
eli-darkly May 2, 2022
008337b
Merge branch 'v5' into v6
eli-darkly May 2, 2022
be43083
Merge branch 'v5' of github.com:launchdarkly/go-server-sdk into v5
louis-launchdarkly May 13, 2022
4684160
Merge branch 'v5' into v6
eli-darkly May 19, 2022
404b95d
move component APIs out of interfaces package to new subsystems package
eli-darkly May 19, 2022
427157b
lint
eli-darkly May 19, 2022
2d2f788
update to latest prerelease packages
eli-darkly May 23, 2022
bf90969
simplify usage of ClientContext, remove BasicConfiguration
eli-darkly Jun 14, 2022
c404b85
Merge pull request #338 from launchdarkly/eb/sc-144524/subsystems
eli-darkly Jun 14, 2022
3a18e62
Merge pull request #339 from launchdarkly/eb/sc-144524/simplify-clien…
eli-darkly Jun 14, 2022
3b03d32
prevent data race on data source initialized property
eli-darkly Jun 30, 2022
77cfacb
fix linter command
eli-darkly Jun 30, 2022
3db2be9
Merge pull request #340 from launchdarkly/eb/sc-145356/initialized-race
eli-darkly Jun 30, 2022
91374fd
update go-sdk-common to 2.5.1 for empty ldvalue.Raw fix
eli-darkly Jun 30, 2022
c1ddc16
rename "transient" back to "anonymous"
eli-darkly Jul 1, 2022
2e0497e
Merge pull request #342 from launchdarkly/eb/sc-158545/anonymous-again
eli-darkly Jul 1, 2022
5dc8483
Merge pull request #341 from launchdarkly/eb/sc-158489/empty-default-…
eli-darkly Jul 2, 2022
de8bbd2
move interfaces/ldstoretypes to subsystems/ldstoretypes
eli-darkly Jul 5, 2022
eb937a0
Merge pull request #343 from launchdarkly/eb/sc-144524/move-ldstoretypes
eli-darkly Jul 5, 2022
f154eb9
move ldcomponents/ldstoreimpl to subsystems/ldstoreimpl
eli-darkly Jul 5, 2022
8b90237
Merge pull request #344 from launchdarkly/eb/sc-144526/ldstoreimpl
eli-darkly Jul 5, 2022
d239350
merge from public after release
Jul 6, 2022
5b085d7
use latest prerelease go-sdk-common
eli-darkly Jul 6, 2022
b4ae582
use latest prerelease go-sdk-common
eli-darkly Jul 28, 2022
79ec5db
use latest prerelease packages
eli-darkly Aug 1, 2022
da48800
enable contract tests for SecureModeHash
eli-darkly Aug 19, 2022
1f07886
Merge branch 'v5' into v6
eli-darkly Aug 24, 2022
bb56070
require Go 1.18 or higher; use generics
eli-darkly Aug 24, 2022
b2266f9
fix CI, linter, release image
eli-darkly Aug 24, 2022
c797974
lint
eli-darkly Aug 24, 2022
a0f014f
rm uses of obsolete ioutil package
eli-darkly Aug 24, 2022
d70c7ed
linter config
eli-darkly Aug 24, 2022
aa3f088
fix test assertion
eli-darkly Aug 24, 2022
4384071
fix go-junit-report
eli-darkly Aug 24, 2022
0a21395
misc lint fixes related to golangci-lint upgrade
eli-darkly Aug 24, 2022
b13e651
Merge pull request #345 from launchdarkly/eb/sc-163321/secure-mode-ha…
eli-darkly Aug 24, 2022
23d86cb
Merge branch 'v5' into v6
eli-darkly Aug 29, 2022
512839a
Merge pull request #346 from launchdarkly/eb/sc-165983/go-1.18
eli-darkly Aug 29, 2022
ebcbca6
Merge pull request #347 from launchdarkly/eb/sc-165983/lint
eli-darkly Aug 29, 2022
43192df
update dependencies to latest prerelease versions + use newer go-test…
eli-darkly Aug 30, 2022
dd70fe4
update to latest prerelease packages for ldattr.Ref API change
eli-darkly Sep 29, 2022
df2b7af
Merge pull request #349 from launchdarkly/eb/sc-170956/attr-api-update
eli-darkly Sep 30, 2022
3875a7e
replace PersistentDataStoreFactory, etc. with a generic interface
eli-darkly Oct 21, 2022
d3c4470
update test service code
eli-darkly Oct 21, 2022
7892680
update test service go.mod
eli-darkly Oct 21, 2022
1c422e3
replace DataSourceFactory with generic interface, rename DataSourceUp…
eli-darkly Oct 21, 2022
274c06c
comments
eli-darkly Oct 21, 2022
a39cdb4
replace DataStoreFactory with generic interface, rename DataStoreUpdates
eli-darkly Oct 21, 2022
cd448e6
use Go 1.19 doc comment format, add doc links
eli-darkly Oct 21, 2022
cb1fcea
Merge pull request #350 from launchdarkly/eb/sc-173977/fewer-factories-1
eli-darkly Oct 21, 2022
8b7a674
Merge pull request #351 from launchdarkly/eb/sc-173977/fewer-factories-2
eli-darkly Oct 21, 2022
37c33ba
Merge pull request #352 from launchdarkly/eb/sc-173977/fewer-factories-3
eli-darkly Oct 21, 2022
6f4614e
Merge pull request #353 from launchdarkly/eb/sc-173988/doc-links
eli-darkly Oct 21, 2022
efa4084
use latest prerelease go-sdk-common
eli-darkly Oct 21, 2022
12451ac
use latest prerelease go-server-sdk-evaluation
eli-darkly Nov 8, 2022
44f1fb7
consistently use ComponentConfigurer interface in Config
eli-darkly Nov 29, 2022
4f83c4c
Merge pull request #354 from launchdarkly/eb/sc-173977/generic-builders
eli-darkly Dec 1, 2022
28380d8
update dependencies to non-alpha versions
eli-darkly Dec 1, 2022
ce8f8ad
Merge branch 'v6' of github.com:launchdarkly/go-server-sdk into v6
eli-darkly Dec 1, 2022
1cd7f09
Merge pull request #355 from launchdarkly/eb/update-deps
eli-darkly Dec 2, 2022
d48d66b
include nested segment references in dependency update checks
eli-darkly Dec 5, 2022
c87cf1b
Merge pull request #356 from launchdarkly/eb/sc-144815/nested-segment…
eli-darkly Dec 5, 2022
a3f454a
add sync flush method
eli-darkly Dec 6, 2022
c145b77
Merge pull request #357 from launchdarkly/eb/sc-158645/sync-flush
eli-darkly Dec 6, 2022
12786f0
v6.0.0-alpha.pub.13
eli-darkly Dec 6, 2022
1709a90
Merge branch 'v6' of github.com:launchdarkly/go-server-sdk into v6
eli-darkly Dec 6, 2022
5e74ee8
merge from public after release
Dec 7, 2022
b0865af
Big Segment store tests should not expect an error value for "not fou…
eli-darkly Jan 17, 2023
cbc6fcd
handle error gracefully if http.NewRequest fails
eli-darkly Jan 17, 2023
ecc1f60
Merge pull request #359 from launchdarkly/eb/sc-96853/create-request-…
eli-darkly Jan 17, 2023
bff8efb
Merge pull request #358 from launchdarkly/eb/sc-184355/fix-big-seg-test
eli-darkly Jan 17, 2023
c5bef81
prepare 5.10.1 release (#80)
LaunchDarklyReleaseBot Jan 17, 2023
da7e356
Releasing version 5.10.1
Jan 17, 2023
6d7aed3
merge from public after release
Jan 17, 2023
87a46f5
Merge branch 'v5' into v6
eli-darkly Jan 17, 2023
3595fb6
Merge branch 'v6' of github.com:launchdarkly/go-server-sdk into v6
eli-darkly Jan 17, 2023
b363d0b
fix: clarify comments on persistentDataStoreWrapper Init() and remove…
cwaldren-ld Jan 31, 2023
bb40ee5
refactor: move mocks used in tests to internal/sharedtest/mocks (#362)
cwaldren-ld Jan 31, 2023
540c584
chore: bump golang/x/{crypto,sys} to v0.1.0 (#363)
cwaldren-ld Feb 27, 2023
ca73e70
merge from public after release
Feb 27, 2023
9e916f0
chore: add context-type capability to contract test service (#365)
cwaldren-ld Mar 1, 2023
538b3fd
Bump go-sdk-common, go-sdk-events, and go-server-sdk-evaluation to la…
cwaldren-ld Mar 2, 2023
d94ba11
merge from public after release
Mar 2, 2023
e9f677e
Merge branch 'v6' of github.com:launchdarkly/go-server-sdk into v6
louis-launchdarkly Apr 5, 2023
a346bbd
Merge pull request #366 from launchdarkly/lc/merge-public-to-private
louis-launchdarkly Apr 5, 2023
458f06e
feat: payload filters (#360)
cwaldren-ld Apr 13, 2023
3da5ca3
chore: Add close stale workflow to public repo (#88) (#367)
cwaldren-ld Apr 13, 2023
b5ac41d
merge from public after release
Apr 13, 2023
ecaf983
fix: Prevent 413 from shutting down event processor (#368)
keelerm84 May 12, 2023
61a7348
initial migration code
bwoskow-ld May 31, 2023
787c563
Make the enum work
mike-zorn May 31, 2023
76356f9
fix enum again
mike-zorn May 31, 2023
a555f91
not compiling
bwoskow-ld May 31, 2023
417dca4
compiles
bwoskow-ld May 31, 2023
dac967f
Add migration interface
mike-zorn May 31, 2023
955eecd
Add run impl
mike-zorn May 31, 2023
c894c58
compiles
bwoskow-ld May 31, 2023
243bfb5
Merge branch 'migration-spike' of github.com:launchdarkly/go-server-s…
bwoskow-ld May 31, 2023
273cf39
compiles
bwoskow-ld May 31, 2023
5d397a2
compiles
bwoskow-ld May 31, 2023
3ce2ae9
minor refactor
bwoskow-ld Jun 1, 2023
8a4ba11
minor refactor
bwoskow-ld Jun 1, 2023
3194117
code comments
bwoskow-ld Jun 1, 2023
7568e0d
code comments
bwoskow-ld Jun 1, 2023
844f51c
code comments
bwoskow-ld Jun 1, 2023
f9e1d98
implement migrations as a strategy runner
wrighty Jun 1, 2023
9890100
add StrategyEitherOr
wrighty Jun 1, 2023
4f95b71
rip out strategies and runners in favor of ValidateRead() and Validat…
wrighty Jun 1, 2023
4f91ac9
runInParallel isn't actually used from within the config
keelerm84 Jun 2, 2023
5f967df
Remove some redundancy
keelerm84 Jun 2, 2023
90c29b9
Update stage <-> string conversion
keelerm84 Jun 2, 2023
c0b4fc2
Parallel run is actually parallel
keelerm84 Jun 2, 2023
49ba3e6
Tighten up runboth
keelerm84 Jun 2, 2023
2c7bcfa
favor time.Since
keelerm84 Jun 2, 2023
b39a417
Fix some linting errors
keelerm84 Jun 2, 2023
bfc9c27
More linting fixes
keelerm84 Jun 2, 2023
63eee13
Rename runBoth
keelerm84 Jun 2, 2023
7a9d67d
Avoid calling TrackData directly
keelerm84 Jun 2, 2023
f0679ed
Remove unused parameter client
keelerm84 Jun 2, 2023
d06e64a
Move implementation into migrator
keelerm84 Jun 2, 2023
a319746
Merge branch 'migration-spike-migrator' into migration-use-case
keelerm84 Jun 2, 2023
3c0a3ce
make the comparison function optional
bwoskow-ld Jun 3, 2023
35056bf
Updates daily flag count
ember-stevens Jun 8, 2023
88bfee1
[sc-205159] Update README with current number of flags served (#370)
ember-stevens Jun 8, 2023
2c62fde
Initial pass at updating migrator (#372)
keelerm84 Jul 31, 2023
e9d55b2
Merge branch 'v6' of github.com:launchdarkly/go-server-sdk into v6
louis-launchdarkly Aug 2, 2023
738cfb7
feat: Add MigrationOpTracker support (#373)
keelerm84 Aug 21, 2023
e485fc3
feat: Support config overrides & metric data kinds (#374)
keelerm84 Aug 21, 2023
d0cb55d
feat: Add contract test support (#375)
keelerm84 Aug 23, 2023
1fb48f0
feat: Support sampling rates and summary exclusion (#376)
keelerm84 Aug 28, 2023
ecba622
feat: Support invoked measurement for migration event (#377)
keelerm84 Aug 29, 2023
7fdcfc8
refactor: Replace sampling logic with ldsampling (#378)
keelerm84 Aug 29, 2023
84f2607
feat: Support payloads for reading and writing (#380)
keelerm84 Aug 31, 2023
82e3f79
feat: Bump module path (#381)
keelerm84 Aug 31, 2023
f824718
fix: Only run consistency function if sampled (#382)
keelerm84 Aug 31, 2023
1166a11
feat: Update contract test supported capabilities (#383)
keelerm84 Sep 14, 2023
3ff957f
fix: Do not run consistency check on errors (#384)
keelerm84 Sep 14, 2023
cba22d5
fix: Warn if invoked and measurements don't align (#385)
keelerm84 Sep 15, 2023
0a997e0
fix: Add version to migration op event (#386)
keelerm84 Sep 27, 2023
cb530e4
fix: Emit event even without flag (#388)
keelerm84 Sep 27, 2023
dfeaf18
refactor: Style and consistency improvements (#387)
keelerm84 Sep 27, 2023
80333c1
fix: Safe to ignore errors from migration variation (#390)
keelerm84 Oct 4, 2023
d48e38e
feat: Invalid stage should reflect in migration op event (#389)
keelerm84 Oct 5, 2023
7f548d9
fix: Remove unnecessary key
keelerm84 Oct 5, 2023
b5320e9
fix: Remove index sampling and top level data kinds (#391)
keelerm84 Oct 5, 2023
2897f74
chore: update CODEOWNERS (#392)
cwaldren-ld Oct 5, 2023
4df7a2b
chore: Cleaning up erroneous comment
keelerm84 Oct 11, 2023
1a9b90f
fix: Remove support for metric and config override data kinds (#393)
keelerm84 Oct 11, 2023
b3c8363
Merge branch 'v6' into feat/uc2-migrations
keelerm84 Oct 11, 2023
3d19fd7
deps: Use public versions of ld packages
keelerm84 Oct 11, 2023
9da7691
merge from public after release
Oct 11, 2023
a1cfad1
Merge uc2 into v7 (#394)
keelerm84 Oct 11, 2023
b1a186a
merge from public after release
Oct 11, 2023
54d1e08
build(deps): bump golang.org/x/crypto from 0.1.0 to 0.17.0
dependabot[bot] Dec 18, 2023
3691237
build(deps): bump golang.org/x/crypto from 0.1.0 to 0.17.0 (#395)
louis-launchdarkly Jan 2, 2024
7abb895
ci: switch to github actions [v7] (#396)
cwaldren-ld Feb 22, 2024
b9ee192
docs: fix ci badge in README.md (#398)
cwaldren-ld Feb 22, 2024
781a3b6
ci: ensure unit tests always run (#399)
cwaldren-ld Feb 23, 2024
d772dd2
chore: add release-please configuration [v7] (#400)
cwaldren-ld Feb 23, 2024
def18b1
update bootstrap sha
cwaldren-ld Feb 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 0 additions & 135 deletions .circleci/config.yml

This file was deleted.

20 changes: 20 additions & 0 deletions .github/actions/benchmarks/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Benchmarks
description: "Runs the SDK's performance benchmarks."

runs:
using: composite
steps:
- uses: ./.github/actions/get-go-version
id: go-version

- name: Run Benchmarks
id: benchmarks
shell: bash
run: make benchmarks | tee benchmarks.txt

- name: Upload Results
if: steps.benchmarks.outcome == 'success'
uses: actions/upload-artifact@v4
with:
name: Benchmarks-${{ steps.go-version.outputs.version }}
path: benchmarks.txt
41 changes: 41 additions & 0 deletions .github/actions/coverage/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Coverage
description: "Runs Go Server SDK's code-coverage checker."
inputs:
enforce:
description: 'Whether to enforce coverage thresholds.'
required: false
default: 'false'


runs:
using: composite
steps:
- uses: ./.github/actions/get-go-version
id: go-version

- name: Test with coverage
shell: bash
id: test-coverage
run: |
set +e
make test-coverage
status=$?
echo "coverage_status=$status" >> $GITHUB_OUTPUT

- name: Upload coverage results
uses: actions/upload-artifact@v4
with:
name: Coverage-result-${{ steps.go-version.outputs.version }}
path: build/coverage*

- name: Enforce coverage
shell: bash
run: |
if [ "${{ steps.test-coverage.outputs.coverage_status }}" != "0" ]; then
echo "Code isn't fully covered!"
if [ "${{ inputs.enforce }}" == "true" ]; then
exit 1
fi
else
echo "Code is fully covered!"
fi
15 changes: 15 additions & 0 deletions .github/actions/get-go-version/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Get Go Version
description: "Gets the currently installed Go version."
outputs:
version:
description: 'The currently installed Go version.'
value: ${{ steps.go-version.outputs.value }}

runs:
using: composite
steps:
- name: Get Go version
id: go-version
shell: bash
run: |
echo "value=$(go version | awk '{print $3}')" >> $GITHUB_OUTPUT
35 changes: 35 additions & 0 deletions .github/actions/unit-tests/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Unit Tests
description: "Runs Go Server SDK's unit tests + linters and optionally gathers coverage."
inputs:
lint:
description: 'Whether to run linters.'
required: false
default: 'false'

runs:
using: composite
steps:
- uses: ./.github/actions/get-go-version
id: go-version
- name: Lint
if: inputs.lint == 'true'
shell: bash
run: make lint

- name: Test
shell: bash
id: test
run: make test | tee raw_report.txt

- name: Process test results
if: steps.test.outcome == 'success'
id: process-test
shell: bash
run: go run github.com/jstemmer/[email protected] < raw_report.txt > junit_report.xml

- name: Upload test results
if: steps.process-test.outcome == 'success'
uses: actions/upload-artifact@v4
with:
name: Test-result-${{ steps.go-version.outputs.version }}
path: junit_report.xml
2 changes: 2 additions & 0 deletions .github/variables/go-versions.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
latest=1.18
penultimate=1.19
44 changes: 44 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Build and Test
on:
push:
branches: [ 'v7']
paths-ignore:
- '**.md' # Don't run CI on markdown changes.
pull_request:
branches: [ 'v7' ]
paths-ignore:
- '**.md'

jobs:
go-versions:
uses: ./.github/workflows/go-versions.yml

# Runs the common tasks (unit tests, lint, contract tests) for each Go version.
test-linux:
name: ${{ format('Linux, Go {0}', matrix.go-version) }}
needs: go-versions
strategy:
# Let jobs fail independently, in case it's a single version that's broken.
fail-fast: false
matrix:
go-version: ${{ fromJSON(needs.go-versions.outputs.matrix) }}
uses: ./.github/workflows/common_ci.yml
with:
go-version: ${{ matrix.go-version }}

test-windows:
name: ${{ format('Windows, Go {0}', matrix.go-version) }}
runs-on: windows-2022
needs: go-versions
strategy:
fail-fast: false
matrix:
go-version: ${{ fromJSON(needs.go-versions.outputs.matrix) }}
steps:
- uses: actions/checkout@v4
- name: Setup Go ${{ matrix.go-version }}
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
- name: Test
run: go test -race ./...
65 changes: 65 additions & 0 deletions .github/workflows/common_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Common CI
on:
workflow_call:
inputs:
go-version:
description: "Go version to use for the jobs."
required: true
type: string


jobs:
unit-test-and-coverage:
runs-on: ubuntu-latest
name: 'Unit Tests and Coverage'
steps:
- uses: actions/checkout@v4
- name: Setup Go ${{ inputs.go-version }}
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version }}
- uses: ./.github/actions/unit-tests
with:
lint: 'true'
- uses: ./.github/actions/coverage
with:
enforce: 'false'

contract-tests:
runs-on: ubuntu-latest
name: 'Contract Tests'
env:
TEST_SERVICE_PORT: 8000
steps:
- uses: actions/checkout@v4
- name: Setup Go ${{ inputs.go-version }}
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version }}
- uses: ./.github/actions/get-go-version
id: go-version
- name: Start test service in background
run: make start-contract-test-service-bg
- uses: launchdarkly/gh-actions/actions/[email protected]
continue-on-error: true
with:
test_service_port: ${{ env.TEST_SERVICE_PORT }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload test service logs
uses: actions/upload-artifact@v4
with:
name: Contract-test-service-logs-${{ steps.go-version.outputs.version }}
path: /tmp/sdk-contract-test-service.log



benchmarks:
name: 'Benchmarks'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Go ${{ inputs.go-version }}
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version }}
- uses: ./.github/actions/benchmarks
Loading