From 02f02f6356fe85ba78fdb110a7bf533bd2a6a2fb Mon Sep 17 00:00:00 2001 From: Haiko Schol Date: Thu, 5 Dec 2024 21:37:48 +0700 Subject: [PATCH 1/4] fix(dot/network): recreate incompatible libp2p datastore (#4382) --- dot/network/host.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/dot/network/host.go b/dot/network/host.go index f3fa3343c8..4e0f2282d9 100644 --- a/dot/network/host.go +++ b/dot/network/host.go @@ -8,6 +8,7 @@ import ( "fmt" "log" "net" + "os" "path" "strconv" "strings" @@ -177,9 +178,23 @@ func newHost(ctx context.Context, cfg *Config) (*host, error) { // format protocol id pid := protocol.ID(cfg.ProtocolID) - ds, err := badger.NewDatastore(path.Join(cfg.BasePath, "libp2p-datastore"), &badger.DefaultOptions) + dsPath := path.Join(cfg.BasePath, "libp2p-datastore") + ds, err := badger.NewDatastore(dsPath, &badger.DefaultOptions) if err != nil { - return nil, fmt.Errorf("failed to create libp2p datastore: %w", err) + // unfortunately we have to use this brittle hack instead of errors.Is() + // https://github.com/ipfs/go-ds-badger4/blob/v0.1.5/datastore.go#L188 + if strings.HasPrefix(err.Error(), "unsupported badger version") { + logger.Warn("unable to reuse libp2p datastore, recreating it") + if err := os.RemoveAll(dsPath); err != nil { + return nil, fmt.Errorf("removing libp2p datastore: %w", err) + } + + if ds, err = badger.NewDatastore(dsPath, &badger.DefaultOptions); err != nil { + return nil, fmt.Errorf("failed to create libp2p datastore: %w", err) + } + } else { + return nil, fmt.Errorf("failed to create libp2p datastore: %w", err) + } } ps, err := mempstore.NewPeerstore() From 1baa609f1bfdcbc8d5957f386440bf0aaa49e6e7 Mon Sep 17 00:00:00 2001 From: Kirill Date: Mon, 9 Dec 2024 11:48:21 +0100 Subject: [PATCH 2/4] Update issues templates and labels to display recent agreements about workflow (#4344) Co-authored-by: Haiko Schol Co-authored-by: JimboJ <40345116+jimjbrettj@users.noreply.github.com> --- .github/CONTRIBUTING.md | 4 +- .github/ISSUE_TEMPLATE/bug_report.md | 18 ++++++- .github/ISSUE_TEMPLATE/epic.md | 30 +++++++++++ .github/ISSUE_TEMPLATE/general_report.md | 19 ------- .github/ISSUE_TEMPLATE/implementation.md | 34 ++++++++++++ .../investigation_or_research.md | 26 +++++++++ .github/ISSUE_TEMPLATE/software_design.md | 35 ++++++++++++ .github/ISSUE_TEMPLATE/task_report.md | 25 --------- .github/ISSUE_TEMPLATE/user_story.yml | 35 ------------ .github/labels.yml | 34 ++++++------ docs/docs/repo/labels.md | 54 +------------------ 11 files changed, 161 insertions(+), 153 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/epic.md delete mode 100644 .github/ISSUE_TEMPLATE/general_report.md create mode 100644 .github/ISSUE_TEMPLATE/implementation.md create mode 100644 .github/ISSUE_TEMPLATE/investigation_or_research.md create mode 100644 .github/ISSUE_TEMPLATE/software_design.md delete mode 100644 .github/ISSUE_TEMPLATE/task_report.md delete mode 100644 .github/ISSUE_TEMPLATE/user_story.yml diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index a2430c3ec3..d30c905520 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -174,8 +174,8 @@ If a change does not alter any logic (e.g. comments, dependencies, docs), then i ### Labels -The set of labels and their description can be found [here](../docs/docs/repo/labels.md). -To change labels update [labels.yml](./labels.yml) file +The set of labels and their description can be found [labels.yml](/.github/labels.yml). +To change update this file and CI will automatically add/remove changed labels. ### Process diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 8bbc88a043..ae811f02c8 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -2,12 +2,12 @@ name: Bug report about: Create a report to help us improve title: '' -labels: 'Type: Bug' +labels: 'T-bug' assignees: '' --- -## Describe the bug +## Bug summary - @@ -96,5 +96,19 @@ specification section if a specification is not applicable): - operating system: - additional links: +## Acceptance criteria + +[] Bug was recreated in deterministic manner +[] Unit test that covers the problem +[] Regression test done +[] Bug is not reproducible anymore + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/epic.md b/.github/ISSUE_TEMPLATE/epic.md new file mode 100644 index 0000000000..8ec6bff056 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/epic.md @@ -0,0 +1,30 @@ +--- +name: Epic +about: +title: 'collection of business/tech scope' +labels: 'Epic' +assignees: '' +--- +## Epic summary + +- + +## Links to related tech. design or research documents + +- + +## Sub issues + +- + +## Acceptance criteria + +[] Feature is complete and confirmed by Tech. lead and one more team member +[] Regression testing done + + + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/general_report.md b/.github/ISSUE_TEMPLATE/general_report.md deleted file mode 100644 index 7b8fb12487..0000000000 --- a/.github/ISSUE_TEMPLATE/general_report.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: General issue -about: General purpose issue template -title: '' -assignees: '' - ---- - -## Issue summary - -- - - -## Other information and links - -- - - - \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/implementation.md b/.github/ISSUE_TEMPLATE/implementation.md new file mode 100644 index 0000000000..f90e7c1ece --- /dev/null +++ b/.github/ISSUE_TEMPLATE/implementation.md @@ -0,0 +1,34 @@ +--- +name: Implementation +about: General purpose issue template can be used pretty much for every implementation +title: 'Implement ... ' +labels: 'T-implementation' +assignees: '' + +--- + +## Issue summary + +- + +## Implementation details + +- + +## Other information and links + +- + +## Acceptance criteria + +[] Add AC's here.. +[] Regression testing (if applicable) +[] New code is 60% covered with unit tests + + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/investigation_or_research.md b/.github/ISSUE_TEMPLATE/investigation_or_research.md new file mode 100644 index 0000000000..735fe2f0ec --- /dev/null +++ b/.github/ISSUE_TEMPLATE/investigation_or_research.md @@ -0,0 +1,26 @@ +--- +name: Investigation +about: +title: ' Investigate/ Research on ...' +labels: 'T-investigation' +assignees: '' +--- + +## Summary + + +## Related resources + + +## Acceptance criteria + +[] add open questions here.. +[] Summary, research paper or meta knowledge written and merged to main repo (if applicable) +[] Tech lead sign off +[] Team member sign off (mention who) +[] Workshop or knowledge session conducted if needed \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/software_design.md b/.github/ISSUE_TEMPLATE/software_design.md new file mode 100644 index 0000000000..a9814fb758 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/software_design.md @@ -0,0 +1,35 @@ +--- +name: Software Design +about: +title: 'Design ...' +labels: 'T-design' +assignees: '' +--- + +## Scope + + +## Functional Requirements + + +## Non-Functional Requirements + + + +## Related resources + + + +## Acceptance criteria + +[] Summary, design paper or meta knowledge written and merged to main repo +[] Artifacts produced +[] Tech lead sign off +[] Team member sign off (mention who) +[] Workshop or knowledge session conducted +[] Issues created and estimated (if necessary) \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/task_report.md b/.github/ISSUE_TEMPLATE/task_report.md deleted file mode 100644 index 901c5c95e1..0000000000 --- a/.github/ISSUE_TEMPLATE/task_report.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -name: Task requirement -about: Required tasks to complete -title: '' -assignees: '' - ---- - -## Task summary - -- - - -## Specification reference - -- - - - -## Other information and links - -- - - - \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/user_story.yml b/.github/ISSUE_TEMPLATE/user_story.yml deleted file mode 100644 index 9c23766d04..0000000000 --- a/.github/ISSUE_TEMPLATE/user_story.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: User story -description: Create a user story -title: "User story: FILL-ME-PLEASE" -body: - - type: dropdown - id: role - attributes: - label: As a - options: - - Polkadot implementer (Default) - - Polkadot node operator - - Blockchain developer - - Dapp developer - - Authority node in a parachain - - Relay node in a relay chain - description: | - Describe the role you would play for this user story. - validations: - required: true - - type: textarea - id: wantto - attributes: - label: I want to - placeholder: "Develop this new feature and change this" - render: markdown - validations: - required: true - - type: textarea - id: because - attributes: - label: Because - placeholder: "Because I need to do something" - render: markdown - validations: - required: true diff --git a/.github/labels.yml b/.github/labels.yml index 20297907dd..0fc1e3d740 100644 --- a/.github/labels.yml +++ b/.github/labels.yml @@ -22,6 +22,11 @@ description: pull request with next release changes. # Action/attention needed label. Marks that there is a specific action needed for issue/PR +- name: A-in-QA-or-regression + color: "#8ceac8" + aliases: [] + description: pull request or issues is currently in QA or regression testing phase. + - name: A-tooBig color: "#FBCA04" aliases: [] @@ -47,46 +52,41 @@ aliases: [] description: issue requires detective debug work to figure out what's going wrong. -- name: A-design - color: "#FBCA04" - aliases: [] - description: issue requires design work to think about how it would best be accomplished. - # Describes the type of issue or pull request. - name: T-bug color: "#FEF2C0" aliases: [] description: this issue covers unexpected and/or wrong behaviour. -- name: T-feat +- name: T-implementation color: "#FEF2C0" aliases: [] description: this issue/pr is a new feature or functionality. -- name: T-enhancement +- name: T-research color: "#FEF2C0" aliases: [] - description: this issue/pr covers improvement of existing functionality. + description: this issue/pr is a research type issue. -- name: T-refactor +- name: T-investigation color: "#FEF2C0" aliases: [] - description: this issue/pr covers refactoring of existing code. + description: this issue/pr is an investigation, probably related to some bug with unknown causes. -- name: T-security +- name: T-design color: "#FEF2C0" - aliases: [] - description: this issue/pr covers security sensitive problem. + aliases: [ ] + description: this issue describes design requirements -- name: T-research +- name: T-refactor color: "#FEF2C0" aliases: [] - description: this issue/pr is a research type issue. + description: this issue/pr covers refactoring of existing code. -- name: T-investigation +- name: T-security color: "#FEF2C0" aliases: [] - description: this issue/pr is an investigation, probably related to some bug with unknown causes. + description: this issue/pr covers security sensitive problem. - name: T-question color: "#FEF2C0" diff --git a/docs/docs/repo/labels.md b/docs/docs/repo/labels.md index 757b965e64..81a71895c6 100644 --- a/docs/docs/repo/labels.md +++ b/docs/docs/repo/labels.md @@ -1,55 +1,3 @@ ## Labels -Below is the list of labels and their descriptions used in Gossamer repository. - - -- **Epic** - Issue used to track development status of a complex feature, aggregates several issues. -- **Feature-branch** - pull request from feature branch to origin. -- **Release** - pull request with next release changes. -- **good first issue** - issues that are suitable for first-time contributors. -- **`A-`** Action needed label. Marks that there is a specific action needed for issue/PR. - - **A-tooBig** - issue or PR needs to be broken down to smaller parts. - - **A-stale** - issue or PR is deprecated and needs to be closed. - - **A-blocked** - issue or PR is blocked until something else changes. - - **A-triage** - issue description needs refactor and/or labeled. - - **A-debug** - issue requires detective debug work to figure out what's going wrong. - - **A-design** - issue requires design work to think about how it would best be accomplished. -- **`T-`** Describes the type of issue or pull request. - - **T-bug** - this issue covers unexpected and/or wrong behaviour. - - **T-feat** - this issue/pr is a new feature or functionality. - - **T-enhancement** - this issue/pr covers improvement of existing functionality. - - **T-refactor** - this issue/pr covers refactoring of existing code. - - **T-security** - this issue/pr covers security sensitive problem. - - **T-research** - this issue/pr is a research type issue. - - **T-investigation** - this issue/pr is an investigation, probably related to some bug with unknown causes. -- **`C-`** Complexity label. We operate only 3 complexity levels. - - **C-simple** - Minor changes, no additional research needed. Good first issue/review. - - **C-complex** - Complex changes across multiple modules. Possibly will require additional research. - - **C-chaotic** - Unpredictable nature of this task/changes makes its chaotic. -- **`P-`** Priority level. We only have 3 priority levels, everything else is average by default. - - **P-critical** - this must be fixed immediately or contributors or users will be severely impacted. - - **P-high** - this should be addressed ASAP. **Colour #FBCA04** - - **P-low** - this is mostly nice to have. **Colour #0E8A16** -- **`S-`** Scope this work related to, could be multiple, but usually this means that task needs to be break down. - - **S-sync-[westend | kusama | polkadot | paseo]** - related to particular network syncing. - - **S-tests** - issue related to adding new tests. - - **S-doc** - documentation related. - - **S-cli** - issue related to Gossamer CLI. - - **S-ci** - issue related to continuous integration tasks or pipelines. - - **S-crypto** - issues related to the lib/crypto package. - - **S-grandpa** - issues related to block finality. - - **S-babe** - issues related to block production functionality. - - **S-runtime**- issues related to the lib/runtime package - - **S-telemetry** - issue related to node telemetry and metrics reports. - - **S-rpc** - issues related to the dot/rpc package. - - **S-scale** - issues related to the pkg/scale package. - - **S-utils** - issues related to all other lib packages. - - **S-network** - issues related to the dot/network package. - - **S-state** - issues related to dot/state package. - - **S-subsystems-overseer** - issues related to polkadot host overseer functionality. - - **S-subsystems-collator** - issues related to polkadot host collator subsystem functionality. - - **S-subsystems-backing** - issues related to polkadot host backing subsystem functionality. - - **S-subsystems-availability** - issues related to polkadot host availability subsystem functionality. - - **S-subsystems-disputes** - issues related to polkadot host disputes subsystem functionality. - - **S-infrastructure** - issues related to infrastructure and DevOps. - - **S-dependencies** - issues related to dependencies changes. Used by dependabot. +Please refer to the list of [labels.yml](/.github/labels.yml) \ No newline at end of file From 8ddd74943d931ed8583ecb88c6ceb16eba1c4c3e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 12:02:14 -0300 Subject: [PATCH 3/4] chore(deps): bump codecov/codecov-action from 5.0.7 to 5.1.1 (#4387) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- .github/workflows/unit-tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d0cb8f53be..f607c25b82 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -103,7 +103,7 @@ jobs: - name: Generate coverage report run: | go test ./... -coverprofile=coverage.out -covermode=atomic -timeout=20m - - uses: codecov/codecov-action@v5.0.7 + - uses: codecov/codecov-action@v5.1.1 with: files: ./coverage.out flags: unit-tests diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 8d4c761c37..5fa2627284 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -89,7 +89,7 @@ jobs: - name: Test - Race run: make test-using-race-detector - - uses: codecov/codecov-action@v5.0.7 + - uses: codecov/codecov-action@v5.1.1 with: if_ci_failed: success informational: true From 188b91076732da3d00a45605b4f29c1b6d83387f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 13:20:02 -0300 Subject: [PATCH 4/4] chore(deps): bump golang.org/x/crypto from 0.29.0 to 0.30.0 (#4386) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 0aed774825..ad1999ca41 100644 --- a/go.mod +++ b/go.mod @@ -42,9 +42,9 @@ require ( github.com/tidwall/btree v1.7.0 github.com/tyler-smith/go-bip39 v1.1.0 go.uber.org/mock v0.5.0 - golang.org/x/crypto v0.29.0 + golang.org/x/crypto v0.30.0 golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 - golang.org/x/term v0.26.0 + golang.org/x/term v0.27.0 google.golang.org/protobuf v1.35.2 gopkg.in/yaml.v3 v3.0.1 ) @@ -206,9 +206,9 @@ require ( go.uber.org/zap v1.27.0 // indirect golang.org/x/mod v0.19.0 // indirect golang.org/x/net v0.31.0 // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/text v0.20.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/tools v0.23.0 // indirect gonum.org/v1/gonum v0.15.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index d56cca987e..83e6fa5f8b 100644 --- a/go.sum +++ b/go.sum @@ -698,8 +698,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= -golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY= +golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= @@ -762,8 +762,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -801,8 +801,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -810,8 +810,8 @@ golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= -golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= -golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -822,8 +822,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=