Skip to content

Commit b05e009

Browse files
authored
Merge pull request #2892 from brave-intl/master
Production 2025-07-21_01
2 parents 08a2247 + e34033b commit b05e009

File tree

13 files changed

+452
-142
lines changed

13 files changed

+452
-142
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* @clD11 @jen140
1+
* @clD11

.github/workflows/ci.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ env:
3838
jobs:
3939
CI:
4040
runs-on: ubuntu-latest
41+
permissions:
42+
id-token: write
43+
contents: read
4144
strategy:
4245
matrix:
4346
goversion:
@@ -47,6 +50,16 @@ jobs:
4750
- name: Checkout repository
4851
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
4952

53+
- name: Configure AWS Credentials
54+
uses: aws-actions/configure-aws-credentials@b47578312673ae6fa5b5096b330d9fbac3d116df # v4.2.1
55+
with:
56+
role-to-assume: ${{ secrets.GRANT_CI_IAM_ROLE_ARN }}
57+
aws-region: us-west-2
58+
59+
- name: Login to Challenge-Bypass Amazon ECR Private
60+
id: grant-login-ecr
61+
uses: aws-actions/amazon-ecr-login@062b18b96a7aff071d4dc91bc00c4c1a7945b076 # v2.0.1
62+
5063
- name: Login to Docker Hub
5164
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
5265
with:

.github/workflows/golangci-lint.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ jobs:
2121
with:
2222
go-version: '1.23'
2323
- name: golangci-lint-libs
24-
uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v3.7.1
24+
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
2525
with:
2626
working-directory: libs
27-
version: v1.64.8
27+
version: v2.2.2
2828
args: --timeout 3m
2929

3030
golangci-services:
@@ -36,10 +36,10 @@ jobs:
3636
with:
3737
go-version: '1.23'
3838
- name: golangci-lint-services
39-
uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v3.7.1
39+
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
4040
with:
4141
working-directory: services
42-
version: v1.64.8
42+
version: v2.2.2
4343
args: --timeout 3m
4444

4545
golangci-tools:
@@ -51,10 +51,10 @@ jobs:
5151
with:
5252
go-version: '1.23'
5353
- name: golangci-lint-tools
54-
uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v3.7.1
54+
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
5555
with:
5656
working-directory: tools
57-
version: v1.64.8
57+
version: v2.2.2
5858
args: --timeout 3m
5959

6060
golangci-cmd:
@@ -66,10 +66,10 @@ jobs:
6666
with:
6767
go-version: '1.23'
6868
- name: golangci-lint-cmd
69-
uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v3.7.1
69+
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
7070
with:
7171
working-directory: cmd
72-
version: v1.64.8
72+
version: v2.2.2
7373
args: --timeout 3m
7474

7575
golangci-main:
@@ -81,8 +81,8 @@ jobs:
8181
with:
8282
go-version: '1.23'
8383
- name: golangci-lint-main
84-
uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v3.7.1
84+
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
8585
with:
8686
working-directory: main
87-
version: v1.64.8
87+
version: v2.2.2
8888
args: --timeout 3m

.golangci.yaml

Lines changed: 42 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,46 @@
1+
version: "2"
12
run:
23
go: "1.23"
3-
timeout: 3m
4-
5-
linters-settings:
6-
cyclop:
7-
# The maximal code complexity to report.
8-
# Default: 10
9-
max-complexity: 10
10-
# The maximal average package complexity.
11-
# If it's higher than 0.0 (float) the check is enabled
12-
# Default: 0.0
13-
package-average: 10.0
14-
15-
errcheck:
16-
# Report about not checking of errors in type assertions: `a := b.(MyStruct)`.
17-
# Such cases aren't reported by default.
18-
# Default: false
19-
check-type-assertions: true
20-
21-
gocritic:
22-
# Settings passed to gocritic.
23-
# The settings key is the name of a supported gocritic checker.
24-
# The list of supported checkers can be find in https://go-critic.github.io/overview.
25-
settings:
26-
captLocal:
27-
# Whether to restrict checker to params only.
28-
# Default: true
29-
paramsOnly: false
30-
underef:
31-
# Whether to skip (*x).method() calls where x is a pointer receiver.
32-
# Default: true
33-
skipRecvDeref: false
34-
35-
revive:
36-
rules:
37-
- name: if-return
38-
disabled: true
39-
40-
- name: unused-parameter
41-
disabled: true
42-
43-
varcheck:
44-
# Check usage of exported fields and variables.
45-
# Default: false
46-
exported-fields: true
47-
484
linters:
49-
disable-all: true
5+
default: none
506
enable:
51-
## enabled by default
52-
- unused # Finds unused code
53-
# - errcheck # Errcheck is a program for checking for unchecked errors in go programs. These unchecked errors can be critical bugs in some cases
54-
# - gosimple # Linter for Go source code that specializes in simplifying a code
55-
- govet # Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string
56-
- ineffassign # Detects when assignments to existing variables are not used
57-
# - staticcheck # Staticcheck is a go vet on steroids, applying a ton of static analysis checks
58-
# - structcheck # Finds unused struct fields
59-
- typecheck # Like the front-end of a Go compiler, parses and type-checks Go code
60-
# - unused # Checks Go code for unused constants, variables, functions and types
61-
# - varcheck # Finds unused global variables and constants
62-
# ## disabled by default
63-
# - contextcheck # check the function whether use a non-inherited context
64-
# - cyclop # checks function and package cyclomatic complexity
65-
# - errname # Checks that sentinel errors are prefixed with the Err and error types are suffixed with the Error.
66-
# - gocritic # Provides diagnostics that check for bugs, performance and style issues.
67-
# - gocyclo # Computes and checks the cyclomatic complexity of functions
68-
# - nestif # Reports deeply nested if statements
69-
- revive # Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in replacement of golint.
70-
# - sqlclosecheck # Checks that sql.Rows and sql.Stmt are closed
71-
# - stylecheck # Stylecheck is a replacement for golint
72-
# - wastedassign # wastedassign finds wasted assignment statements.
73-
# - whitespace # Tool for detection of leading and trailing whitespace
7+
- govet
8+
- ineffassign
9+
- revive
10+
- unused
11+
settings:
12+
cyclop:
13+
max-complexity: 10
14+
package-average: 10
15+
errcheck:
16+
check-type-assertions: true
17+
gocritic:
18+
settings:
19+
captLocal:
20+
paramsOnly: false
21+
underef:
22+
skipRecvDeref: false
23+
revive:
24+
rules:
25+
- name: if-return
26+
disabled: true
27+
- name: unused-parameter
28+
disabled: true
29+
exclusions:
30+
generated: lax
31+
presets:
32+
- comments
33+
- common-false-positives
34+
- legacy
35+
- std-error-handling
36+
paths:
37+
- third_party$
38+
- builtin$
39+
- examples$
40+
formatters:
41+
exclusions:
42+
generated: lax
43+
paths:
44+
- third_party$
45+
- builtin$
46+
- examples$

docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ services:
225225

226226
challenge-bypass:
227227
container_name: challenge-bypass
228-
image: brave/challenge-bypass:latest
228+
image: 078933103932.dkr.ecr.us-west-2.amazonaws.com/challenge-bypass:latest
229229
restart: always
230230
ports:
231231
- "2416:2416"
@@ -261,7 +261,7 @@ services:
261261

262262
zookeeper:
263263
container_name: grant-zookeeper
264-
image: confluentinc/cp-zookeeper:7.9.1
264+
image: confluentinc/cp-zookeeper:7.9.2
265265
environment:
266266
ZOOKEEPER_CLIENT_PORT: 2181
267267
ports:
@@ -277,7 +277,7 @@ services:
277277

278278
kafka:
279279
container_name: grant-kafka
280-
image: confluentinc/cp-kafka:7.9.0
280+
image: confluentinc/cp-kafka:7.9.2
281281
ports:
282282
- "29092:29092"
283283
environment:

libs/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ require (
2323
github.com/redis/go-redis/v9 v9.8.0
2424
github.com/rs/zerolog v1.28.0
2525
github.com/satori/go.uuid v1.2.0
26-
github.com/segmentio/kafka-go v0.4.35
26+
github.com/segmentio/kafka-go v0.4.48
2727
github.com/shengdoushi/base58 v1.0.0
2828
github.com/shopspring/decimal v1.3.1
2929
github.com/sirupsen/logrus v1.9.3

libs/go.sum

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -832,6 +832,7 @@ github.com/klauspost/compress v1.13.1/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8
832832
github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
833833
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
834834
github.com/klauspost/compress v1.15.7/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
835+
github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
835836
github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw=
836837
github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4=
837838
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -1116,6 +1117,8 @@ github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvW
11161117
github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg=
11171118
github.com/segmentio/kafka-go v0.4.35 h1:TAsQ7q1SjS39PcFvU0zDJhCuVAxHomy7xOAfbdSuhzs=
11181119
github.com/segmentio/kafka-go v0.4.35/go.mod h1:GAjxBQJdQMB5zfNA21AhpaqOB2Mu+w3De4ni3Gbm8y0=
1120+
github.com/segmentio/kafka-go v0.4.48 h1:9jyu9CWK4W5W+SroCe8EffbrRZVqAOkuaLd/ApID4Vs=
1121+
github.com/segmentio/kafka-go v0.4.48/go.mod h1:HjF6XbOKh0Pjlkr5GVZxt6CsjjwnmhVOfURM5KMd8qg=
11191122
github.com/shengdoushi/base58 v1.0.0 h1:tGe4o6TmdXFJWoI31VoSWvuaKxf0Px3gqa3sUWhAxBs=
11201123
github.com/shengdoushi/base58 v1.0.0/go.mod h1:m5uIILfzcKMw6238iWAhP4l3s5+uXyF3+bJKUNhAL9I=
11211124
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
@@ -1211,7 +1214,9 @@ github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr
12111214
github.com/xanzy/go-gitlab v0.15.0/go.mod h1:8zdQa/ri1dfn8eS3Ir1SyfvOKlw7WBJ8DVThkpGiXrs=
12121215
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
12131216
github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
1217+
github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4=
12141218
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
1219+
github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM=
12151220
github.com/xdg/scram v1.0.5 h1:TuS0RFmt5Is5qm9Tm2SoD89OPqe4IRiFtyFY4iwWXsw=
12161221
github.com/xdg/scram v1.0.5/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
12171222
github.com/xdg/stringprep v1.0.3 h1:cmL5Enob4W83ti/ZHuZLuKD/xqJfus4fVPwE+/BDm+4=
@@ -1320,6 +1325,7 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm
13201325
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
13211326
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
13221327
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
1328+
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
13231329
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
13241330
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
13251331
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
@@ -1447,6 +1453,7 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
14471453
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
14481454
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
14491455
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
1456+
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
14501457
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
14511458
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
14521459
golang.org/x/oauth2 v0.0.0-20180227000427-d7d64896b5ff/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1614,6 +1621,7 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc
16141621
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
16151622
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
16161623
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
1624+
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
16171625
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
16181626
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
16191627
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
@@ -1625,6 +1633,7 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX
16251633
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
16261634
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
16271635
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
1636+
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
16281637
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
16291638
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
16301639
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1639,6 +1648,7 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
16391648
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
16401649
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
16411650
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
1651+
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
16421652
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
16431653
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
16441654
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=

main/go.mod

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ require (
1919
)
2020

2121
require (
22-
cloud.google.com/go/compute v1.21.0 // indirect
23-
cloud.google.com/go/compute/metadata v0.2.3 // indirect
22+
cloud.google.com/go/compute/metadata v0.3.0 // indirect
2423
github.com/Microsoft/go-winio v0.6.1 // indirect
2524
github.com/alecthomas/jsonschema v0.0.0-20220216202328-9eeeec9d044b // indirect
2625
github.com/armon/go-metrics v0.4.1 // indirect
@@ -140,7 +139,7 @@ require (
140139
github.com/rs/zerolog v1.28.0 // indirect
141140
github.com/ryanuber/go-glob v1.0.0 // indirect
142141
github.com/satori/go.uuid v1.2.0 // indirect
143-
github.com/segmentio/kafka-go v0.4.35 // indirect
142+
github.com/segmentio/kafka-go v0.4.48 // indirect
144143
github.com/shengdoushi/base58 v1.0.0 // indirect
145144
github.com/shopspring/decimal v1.3.1 // indirect
146145
github.com/sirupsen/logrus v1.9.3 // indirect
@@ -162,7 +161,7 @@ require (
162161
golang.org/x/crypto v0.36.0 // indirect
163162
golang.org/x/mod v0.17.0 // indirect
164163
golang.org/x/net v0.38.0 // indirect
165-
golang.org/x/oauth2 v0.11.0 // indirect
164+
golang.org/x/oauth2 v0.27.0 // indirect
166165
golang.org/x/sync v0.12.0 // indirect
167166
golang.org/x/sys v0.31.0 // indirect
168167
golang.org/x/term v0.30.0 // indirect

0 commit comments

Comments
 (0)