From 3cd07fafaaed6e8e7dc7dde464a26bb339fa689b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=A2=D0=BE=D0=BB=D1=81=D1=82=D0=B8=D1=85=D0=B8=D0=BD?= Date: Wed, 4 Dec 2024 23:18:54 +0300 Subject: [PATCH 1/3] bringing things to order in workflows and skip manual test (#124) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Bringing things to order in workflows/ 2. Skipping the TestLazyConnect test since it is for manual startup Co-authored-by: Aleksandr Tolstikhin Co-authored-by: Василий Толстов Reviewed-on: https://git.unistack.org/unistack-org/micro-store-redis/pulls/124 Co-authored-by: Александр Толстихин Co-committed-by: Александр Толстихин --- .../ISSUE_TEMPLATE/bug_report.md | 0 .../feature-request---enhancement.md | 0 .../ISSUE_TEMPLATE/question.md | 0 {.github => .gitea}/PULL_REQUEST_TEMPLATE.md | 0 {.github => .gitea}/workflows/autoapprove.yml | 0 {.github => .gitea}/workflows/automerge.yml | 0 {.github => .gitea}/workflows/pr.yml | 30 +++---- .github/dependabot.yml | 19 ----- .github/workflows/build.yml | 47 ----------- .github/workflows/codeql-analysis.yml | 78 ------------------- .github/workflows/dependabot-automerge.yml | 27 ------- redis_test.go | 3 +- 12 files changed, 12 insertions(+), 192 deletions(-) rename {.github => .gitea}/ISSUE_TEMPLATE/bug_report.md (100%) rename {.github => .gitea}/ISSUE_TEMPLATE/feature-request---enhancement.md (100%) rename {.github => .gitea}/ISSUE_TEMPLATE/question.md (100%) rename {.github => .gitea}/PULL_REQUEST_TEMPLATE.md (100%) rename {.github => .gitea}/workflows/autoapprove.yml (100%) rename {.github => .gitea}/workflows/automerge.yml (100%) rename {.github => .gitea}/workflows/pr.yml (52%) delete mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/build.yml delete mode 100644 .github/workflows/codeql-analysis.yml delete mode 100644 .github/workflows/dependabot-automerge.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.gitea/ISSUE_TEMPLATE/bug_report.md similarity index 100% rename from .github/ISSUE_TEMPLATE/bug_report.md rename to .gitea/ISSUE_TEMPLATE/bug_report.md diff --git a/.github/ISSUE_TEMPLATE/feature-request---enhancement.md b/.gitea/ISSUE_TEMPLATE/feature-request---enhancement.md similarity index 100% rename from .github/ISSUE_TEMPLATE/feature-request---enhancement.md rename to .gitea/ISSUE_TEMPLATE/feature-request---enhancement.md diff --git a/.github/ISSUE_TEMPLATE/question.md b/.gitea/ISSUE_TEMPLATE/question.md similarity index 100% rename from .github/ISSUE_TEMPLATE/question.md rename to .gitea/ISSUE_TEMPLATE/question.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.gitea/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from .github/PULL_REQUEST_TEMPLATE.md rename to .gitea/PULL_REQUEST_TEMPLATE.md diff --git a/.github/workflows/autoapprove.yml b/.gitea/workflows/autoapprove.yml similarity index 100% rename from .github/workflows/autoapprove.yml rename to .gitea/workflows/autoapprove.yml diff --git a/.github/workflows/automerge.yml b/.gitea/workflows/automerge.yml similarity index 100% rename from .github/workflows/automerge.yml rename to .gitea/workflows/automerge.yml diff --git a/.github/workflows/pr.yml b/.gitea/workflows/pr.yml similarity index 52% rename from .github/workflows/pr.yml rename to .gitea/workflows/pr.yml index f313ebe..c7e1230 100644 --- a/.github/workflows/pr.yml +++ b/.gitea/workflows/pr.yml @@ -4,41 +4,31 @@ on: branches: - master - v3 + - v4 jobs: test: name: test runs-on: ubuntu-latest steps: - name: setup - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: 1.17 + go-version: 'stable' - name: checkout uses: actions/checkout@v3 - - name: cache - uses: actions/cache@v3 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: ${{ runner.os }}-go- - name: deps run: go get -v -t -d ./... + - name: lint + uses: golangci/golangci-lint-action@v6 + continue-on-error: true + with: + # Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version. + version: latest - name: test env: INTEGRATION_TESTS: yes run: go test -mod readonly -v ./... - lint: - name: lint - runs-on: ubuntu-latest - steps: - - name: checkout - uses: actions/checkout@v3 - - name: lint - uses: golangci/golangci-lint-action@v3.4.0 - continue-on-error: true - with: - # Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version. - version: v1.30 + # Optional: working directory, useful for monorepos # working-directory: somedir # Optional: golangci-lint command line arguments. diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index d5f7eae..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,19 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - # Maintain dependencies for GitHub Actions - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "daily" - - # Maintain dependencies for Golang - - package-ecosystem: "gomod" - directory: "/" - schedule: - interval: "daily" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 9603352..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: build -on: - push: - branches: - - master - - v3 -jobs: - test: - name: test - runs-on: ubuntu-latest - steps: - - name: setup - uses: actions/setup-go@v3 - with: - go-version: 1.17 - - name: checkout - uses: actions/checkout@v3 - - name: cache - uses: actions/cache@v3 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: ${{ runner.os }}-go- - - name: deps - run: go get -v -t -d ./... - - name: test - env: - INTEGRATION_TESTS: yes - run: go test -mod readonly -v ./... - lint: - name: lint - runs-on: ubuntu-latest - steps: - - name: checkout - uses: actions/checkout@v3 - - name: lint - uses: golangci/golangci-lint-action@v3.4.0 - continue-on-error: true - with: - # Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version. - version: v1.30 - # Optional: working directory, useful for monorepos - # working-directory: somedir - # Optional: golangci-lint command line arguments. - # args: --issues-exit-code=0 - # Optional: show only new issues if it's a pull request. The default value is `false`. - # only-new-issues: true diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 2f6c6de..0000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,78 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "codeql" - -on: - workflow_run: - workflows: ["prbuild"] - types: - - completed - push: - branches: [ master, v3 ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ master, v3 ] - schedule: - - cron: '34 1 * * 0' - -jobs: - analyze: - name: analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'go' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] - # Learn more: - # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed - - steps: - - name: checkout - uses: actions/checkout@v3 - - name: setup - uses: actions/setup-go@v3 - with: - go-version: 1.17 - # Initializes the CodeQL tools for scanning. - - name: init - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: autobuild - uses: github/codeql-action/autobuild@v2 - - # ℹ️ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: analyze - uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/dependabot-automerge.yml b/.github/workflows/dependabot-automerge.yml deleted file mode 100644 index f41c1c0..0000000 --- a/.github/workflows/dependabot-automerge.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: "dependabot-automerge" - -on: - pull_request_target: - types: [assigned, opened, synchronize, reopened] - -permissions: - pull-requests: write - contents: write - -jobs: - automerge: - runs-on: ubuntu-latest - if: github.actor == 'dependabot[bot]' - steps: - - name: metadata - id: metadata - uses: dependabot/fetch-metadata@v1.3.6 - with: - github-token: "${{ secrets.TOKEN }}" - - name: merge - id: merge - if: ${{contains(steps.metadata.outputs.dependency-names, 'go.unistack.org')}} - run: gh pr merge --auto --merge "$PR_URL" - env: - PR_URL: ${{github.event.pull_request.html_url}} - GITHUB_TOKEN: ${{secrets.TOKEN}} diff --git a/redis_test.go b/redis_test.go index 3632ef9..dcb9360 100755 --- a/redis_test.go +++ b/redis_test.go @@ -14,6 +14,7 @@ import ( ) func TestLazyConnect(t *testing.T) { + t.Skip("skipping test for manual check") ctx := context.Background() var err error @@ -120,7 +121,7 @@ func Test_rkv_configure(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - b := atomic.Bool{} + b := atomic.Uint32{} rc := &Store{ opts: tt.fields.options, cli: tt.fields.Client, From e470d0b12302eebc27c1d39c77c503251d347af1 Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Thu, 5 Dec 2024 12:40:57 +0300 Subject: [PATCH 2/3] fixup tls redis options Signed-off-by: Vasiliy Tolstov --- redis.go | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/redis.go b/redis.go index 9db91f4..ae01f31 100755 --- a/redis.go +++ b/redis.go @@ -98,11 +98,7 @@ func (r *Store) Connect(ctx context.Context) error { } func (r *Store) Init(opts ...store.Option) error { - for _, o := range opts { - o(&r.opts) - } - - err := r.configure() + err := r.configure(opts...) if err != nil { return err } @@ -675,11 +671,15 @@ func NewStore(opts ...store.Option) *Store { } } -func (r *Store) configure() error { - if r.cli != nil && r.opts.Context == nil { +func (r *Store) configure(opts ...store.Option) error { + if r.cli != nil && len(opts) == 0 { return nil } + for _, o := range opts { + o(&r.opts) + } + universalOptions := DefaultUniversalOptions if r.opts.Context != nil { @@ -708,8 +708,8 @@ func (r *Store) configure() error { universalOptions.ConnMaxIdleTime = o.ConnMaxIdleTime universalOptions.ConnMaxLifetime = o.ConnMaxLifetime - if r.opts.TLSConfig != nil { - universalOptions.TLSConfig = r.opts.TLSConfig + if o.TLSConfig != nil { + universalOptions.TLSConfig = o.TLSConfig } } @@ -742,15 +742,15 @@ func (r *Store) configure() error { universalOptions.MaxIdleConns = o.MaxIdleConns universalOptions.ConnMaxIdleTime = o.ConnMaxIdleTime universalOptions.ConnMaxLifetime = o.ConnMaxLifetime - if r.opts.TLSConfig != nil { - universalOptions.TLSConfig = r.opts.TLSConfig + if o.TLSConfig != nil { + universalOptions.TLSConfig = o.TLSConfig } } if o, ok := r.opts.Context.Value(universalConfigKey{}).(*goredis.UniversalOptions); ok { universalOptions = o - if r.opts.TLSConfig != nil { - universalOptions.TLSConfig = r.opts.TLSConfig + if o.TLSConfig != nil { + universalOptions.TLSConfig = o.TLSConfig } } } From a5e69087aed94d452faa4503b8fe8121c942e2fb Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Thu, 5 Dec 2024 17:38:50 +0300 Subject: [PATCH 3/3] remove unneeded workflow files Signed-off-by: Vasiliy Tolstov --- .gitea/workflows/autoapprove.yml | 20 -------------------- .gitea/workflows/automerge.yml | 21 --------------------- 2 files changed, 41 deletions(-) delete mode 100644 .gitea/workflows/autoapprove.yml delete mode 100644 .gitea/workflows/automerge.yml diff --git a/.gitea/workflows/autoapprove.yml b/.gitea/workflows/autoapprove.yml deleted file mode 100644 index 5bf5d9f..0000000 --- a/.gitea/workflows/autoapprove.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: "autoapprove" - -on: - pull_request_target: - types: [assigned, opened, synchronize, reopened] - -permissions: - pull-requests: write - contents: write - -jobs: - autoapprove: - runs-on: ubuntu-latest - steps: - - name: approve - uses: hmarr/auto-approve-action@v3 - if: github.actor == 'vtolstov' || github.actor == 'dependabot[bot]' - id: approve - with: - github-token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.gitea/workflows/automerge.yml b/.gitea/workflows/automerge.yml deleted file mode 100644 index 5ff3f69..0000000 --- a/.gitea/workflows/automerge.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: "automerge" - -on: - pull_request_target: - types: [assigned, opened, synchronize, reopened] - -permissions: - pull-requests: write - contents: write - -jobs: - automerge: - runs-on: ubuntu-latest - if: github.actor == 'vtolstov' - steps: - - name: merge - id: merge - run: gh pr merge --auto --merge "$PR_URL" - env: - PR_URL: ${{github.event.pull_request.html_url}} - GITHUB_TOKEN: ${{secrets.TOKEN}}