diff --git a/.github/workflows/gen_coverage_report.yml b/.github/workflows/gen_coverage_report.yml index f54abfee95..3b58f05528 100644 --- a/.github/workflows/gen_coverage_report.yml +++ b/.github/workflows/gen_coverage_report.yml @@ -31,7 +31,7 @@ jobs: token: ${{ steps.app-token.outputs.token }} - name: Set up Go 1.x id: setup-go - uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6 + uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 with: go-version: "1.26" cache: false diff --git a/.github/workflows/go_mod_tidy_examples.yml b/.github/workflows/go_mod_tidy_examples.yml index 8b5f8d92e4..6467a21f0b 100644 --- a/.github/workflows/go_mod_tidy_examples.yml +++ b/.github/workflows/go_mod_tidy_examples.yml @@ -29,7 +29,7 @@ jobs: token: ${{ steps.app-token.outputs.token }} - name: Set up Go 1.x id: setup-go - uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6 + uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 with: go-version-file: go.mod cache: false diff --git a/.github/workflows/lint_golang.yml b/.github/workflows/lint_golang.yml index c975ae4727..8f34af2b4f 100644 --- a/.github/workflows/lint_golang.yml +++ b/.github/workflows/lint_golang.yml @@ -17,7 +17,7 @@ jobs: timeout-minutes: 10 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - - uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6 + - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 id: setup-go with: go-version-file: go.mod @@ -35,4 +35,4 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 # v9 with: - version: v2.10.1 + version: v2.11.4 diff --git a/.github/workflows/lint_markdown.yml b/.github/workflows/lint_markdown.yml index 11c3fd5b11..754088501d 100644 --- a/.github/workflows/lint_markdown.yml +++ b/.github/workflows/lint_markdown.yml @@ -21,7 +21,7 @@ jobs: python3 -m venv "$venv" echo "$venv/bin" >> $GITHUB_PATH - name: Vale - uses: errata-ai/vale-action@dcded780f1ff68e2558e802a165a484a4a3e2fb8 + uses: errata-ai/vale-action@0135b9fe2b3107365569cc3142b9a1c85221ea2f with: vale_flags: "--glob=!{docs/testdata/*,CHANGELOG.md,.github/styles/proselint/README.md,examples/simple_plugin/docs/*.md,coverage.md}" filter_mode: nofilter diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index b12a9e7911..e2a8e7d4e4 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -22,7 +22,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Set up Go 1.x id: setup-go - uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6 + uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 with: go-version-file: go.mod cache: false diff --git a/.golangci.yml b/.golangci.yml index 7e4eedbb11..f4dc60dd10 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -88,6 +88,8 @@ linters: disabled: true - name: use-waitgroup-go disabled: true + - name: package-naming + disabled: true exclusions: generated: lax presets: diff --git a/docs/generator.go b/docs/generator.go index bb4e762699..9311b0c7ac 100644 --- a/docs/generator.go +++ b/docs/generator.go @@ -1,11 +1,12 @@ package docs import ( + "cmp" "embed" "fmt" "os" "regexp" - "sort" + "slices" "github.com/cloudquery/plugin-sdk/v4/caser" "github.com/cloudquery/plugin-sdk/v4/schema" @@ -87,8 +88,8 @@ func DefaultTitleTransformer(table *schema.Table) string { } func sortTables(tables schema.Tables) { - sort.SliceStable(tables, func(i, j int) bool { - return tables[i].Name < tables[j].Name + slices.SortStableFunc(tables, func(a, b *schema.Table) int { + return cmp.Compare(a.Name, b.Name) }) for _, table := range tables { diff --git a/plugin/sort.go b/plugin/sort.go index cf59bfdb57..7cb3a55154 100644 --- a/plugin/sort.go +++ b/plugin/sort.go @@ -1,7 +1,8 @@ package plugin import ( - "sort" + "cmp" + "slices" "github.com/apache/arrow-go/v18/arrow" "github.com/apache/arrow-go/v18/arrow/array" @@ -18,16 +19,16 @@ func sortRecords(table *schema.Table, records []arrow.RecordBatch, columnName st panic("table has no '" + columnName + "' column to sort on") } colIndex := sch.FieldIndices(columnName)[0] - sort.Slice(records, func(i, j int) bool { - switch records[i].Column(colIndex).DataType().(type) { + slices.SortFunc(records, func(a, b arrow.RecordBatch) int { + switch a.Column(colIndex).DataType().(type) { case *arrow.Int64Type: - v1 := records[i].Column(colIndex).(*array.Int64).Value(0) - v2 := records[j].Column(colIndex).(*array.Int64).Value(0) - return v1 < v2 + v1 := a.Column(colIndex).(*array.Int64).Value(0) + v2 := b.Column(colIndex).(*array.Int64).Value(0) + return cmp.Compare(v1, v2) case *arrow.StringType: - v1 := records[i].Column(colIndex).(*array.String).Value(0) - v2 := records[j].Column(colIndex).(*array.String).Value(0) - return v1 < v2 + v1 := a.Column(colIndex).(*array.String).Value(0) + v2 := b.Column(colIndex).(*array.String).Value(0) + return cmp.Compare(v1, v2) default: panic("unsupported type for sorting") } diff --git a/writers/writers_test.go b/writers/writers_test.go index 98408e8729..5160fdfe0c 100644 --- a/writers/writers_test.go +++ b/writers/writers_test.go @@ -4,7 +4,7 @@ import ( "context" "math/rand" "runtime" - "sort" + "slices" "strconv" "testing" @@ -144,7 +144,7 @@ func writerMatrix[T writers.Writer, C any, O ~func(T)](prefix string, constructo bCases := make([]bCase, 0, len(optsMatrix)) k := maps.Keys(optsMatrix) - sort.Strings(k) + slices.Sort(k) for _, name := range k { opts := optsMatrix[name]