diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 83bb9a3..783e107 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -26,7 +26,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '1.24' + go-version: '1.25' cache: true - name: Write coverage profile @@ -47,14 +47,14 @@ jobs: strategy: matrix: os: [ ubuntu-latest, windows-2022, macos-14 ] - go_versions: [ '1.23', '1.24' ] + go_versions: [ '1.24', '1.25' ] exclude: - os: macos-14 - go_versions: '1.23' + go_versions: '1.24' - os: windows-2022 - go_versions: '1.23' - - os: ubuntu-latest go_versions: '1.24' + - os: ubuntu-latest + go_versions: '1.25' fail-fast: false steps: - uses: actions/checkout@v4 diff --git a/Makefile b/Makefile index 18ebb68..6bc8dec 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ VERSION ?= "$(shell git describe --tags --match "v*" --dirty --always --abbrev=8 2>/dev/null || echo "develop")" LOCODEDB ?= pkg/locodedb/data -UNLOCODEREVISION = 340a08558c84ae43122b86e97606bd2f5a771a06 +UNLOCODEREVISION = 94ccba00ee41a6bb5c76d71edca246a55778c507 OPENFLIGHTSREVISION = f9f41975b6d101425848284f978477a38c26b6ff .PHONY: all clean version help generate lint diff --git a/go.mod b/go.mod index 58b25f8..ff28483 100644 --- a/go.mod +++ b/go.mod @@ -1,16 +1,16 @@ module github.com/nspcc-dev/locode-db -go 1.22 +go 1.24.0 require ( github.com/paulmach/orb v0.11.1 - github.com/stretchr/testify v1.10.0 - golang.org/x/text v0.22.0 + github.com/stretchr/testify v1.11.1 + golang.org/x/text v0.29.0 ) require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.mongodb.org/mongo-driver v1.11.4 // indirect + go.mongodb.org/mongo-driver v1.17.4 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index ae36d70..e477dc5 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,9 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69 github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= @@ -24,9 +25,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= @@ -34,8 +34,9 @@ github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgk github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.mongodb.org/mongo-driver v1.11.4 h1:4ayjakA013OdpGyL2K3ZqylTac/rMjrJOMZ1EHizXas= go.mongodb.org/mongo-driver v1.11.4/go.mod h1:PTSz5yu21bkT/wXpkS7WR5f0ddqw5quethTUn9WM+2g= +go.mongodb.org/mongo-driver v1.17.4 h1:jUorfmVzljjr0FLzYQsGP8cgN/qzzxlY9Vh0C9KFXVw= +go.mongodb.org/mongo-driver v1.17.4/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -62,8 +63,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= diff --git a/internal/parsers/db/continents/geojson/db.go b/internal/parsers/db/continents/geojson/db.go index 926ace4..f3167c0 100644 --- a/internal/parsers/db/continents/geojson/db.go +++ b/internal/parsers/db/continents/geojson/db.go @@ -44,8 +44,7 @@ func panicOnPrmValue(n string, v any) { // The created DB does not require additional // initialization and is completely ready for work. func New(prm Prm, opts ...Option) *DB { - switch { - case prm.Path == "": + if prm.Path == "" { panicOnPrmValue("Path", prm.Path) } diff --git a/internal/parsers/db/locode.go b/internal/parsers/db/locode.go index e70aef5..e11997a 100644 --- a/internal/parsers/db/locode.go +++ b/internal/parsers/db/locode.go @@ -15,8 +15,7 @@ type CsvDB struct { } func New(path string) CsvDB { - switch { - case path == "": + if path == "" { panicOnPrmValue("Path", path) } _, err := os.Stat(path) diff --git a/pkg/locodedb/bench_test.go b/pkg/locodedb/bench_test.go index b913d70..9f91e67 100644 --- a/pkg/locodedb/bench_test.go +++ b/pkg/locodedb/bench_test.go @@ -21,7 +21,7 @@ var ( func BenchmarkUnpack(b *testing.B) { require.NotEmpty(b, testCountriesData) require.NotEmpty(b, testLocodesData) - for range b.N { + for b.Loop() { m, err := unpackCountriesData(testCountriesData) require.NoError(b, err) _, err = unpackLocodesData(testLocodesData, m) @@ -33,8 +33,7 @@ func BenchmarkGet(b *testing.B) { require.NoError(b, initLocodeData()) _, err := Get("RU MOW") require.NoError(b, err) - b.ResetTimer() - for range b.N { + for b.Loop() { _, _ = Get("RU MOW") _, _ = Get("AAAAA") _, _ = Get("SESTO") diff --git a/pkg/locodedb/data/locodes.csv.bz2 b/pkg/locodedb/data/locodes.csv.bz2 index ea93473..11af45c 100644 Binary files a/pkg/locodedb/data/locodes.csv.bz2 and b/pkg/locodedb/data/locodes.csv.bz2 differ