diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 7f5fbdca65b..b7099ace08b 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM mcr.microsoft.com/devcontainers/go:1-1.26-bookworm +FROM mcr.microsoft.com/devcontainers/go:2-1.27-bookworm ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib:/usr/local/lib/pkgconfig ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 8186d183b3d..cfb40ff69e1 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -34,7 +34,7 @@ jobs: run: git config --global --add safe.directory $(pwd) - name: Install libgit2 1.5 for git2go v34 run: backend/scripts/install-libgit2.sh - - name: Install Go 1.26.9 + - name: Install Go 1.27.2 run: backend/scripts/install-go.sh - name: Install mockery 3.8.1 run: backend/scripts/install-mockery.sh diff --git a/.github/workflows/migration-script-lint.yml b/.github/workflows/migration-script-lint.yml index 43496d3f3fa..7079d7d6836 100644 --- a/.github/workflows/migration-script-lint.yml +++ b/.github/workflows/migration-script-lint.yml @@ -30,7 +30,7 @@ jobs: container: mericodev/lake-builder:latest steps: - uses: actions/checkout@v7 - - name: Install Go 1.26.9 + - name: Install Go 1.27.2 run: backend/scripts/install-go.sh - name: migration script linting run: | diff --git a/.github/workflows/test-e2e.yml b/.github/workflows/test-e2e.yml index 92a73ac1890..349f57fcf5e 100644 --- a/.github/workflows/test-e2e.yml +++ b/.github/workflows/test-e2e.yml @@ -52,7 +52,7 @@ jobs: - run: git config --global --add safe.directory $(pwd) - name: Install libgit2 1.5 for git2go v34 run: backend/scripts/install-libgit2.sh - - name: Install Go 1.26.9 + - name: Install Go 1.27.2 run: backend/scripts/install-go.sh - name: Build Python run: | @@ -96,7 +96,7 @@ jobs: - run: git config --global --add safe.directory $(pwd) - name: Install libgit2 1.5 for git2go v34 run: backend/scripts/install-libgit2.sh - - name: Install Go 1.26.9 + - name: Install Go 1.27.2 run: backend/scripts/install-go.sh - name: Build Python run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 573beda1c35..47c03658d6d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -49,7 +49,7 @@ jobs: run: git config --global --add safe.directory $(pwd) - name: Install libgit2 1.5 for git2go v34 run: backend/scripts/install-libgit2.sh - - name: Install Go 1.26.9 + - name: Install Go 1.27.2 run: backend/scripts/install-go.sh - name: Check go.mod is tidy without generated mocks run: | diff --git a/backend/Dockerfile b/backend/Dockerfile index 10ddab49120..cd354085d74 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -31,7 +31,7 @@ FROM --platform=linux/arm64 debian:bookworm as debian-arm64 RUN apt-get update RUN apt-get install -y libssh2-1-dev libssl-dev zlib1g-dev -FROM --platform=$BUILDPLATFORM golang:1.26-bookworm as builder +FROM --platform=$BUILDPLATFORM golang:1.27-bookworm as builder # docker build --build-arg GOPROXY=https://goproxy.io,direct -t mericodev/lake . ARG GOPROXY= diff --git a/backend/Dockerfile.local b/backend/Dockerfile.local index 8e3f97905c5..68412503e90 100644 --- a/backend/Dockerfile.local +++ b/backend/Dockerfile.local @@ -23,7 +23,7 @@ #While incubation status is not necessarily a reflection of the completeness or stability of the code, #it does indicate that the project has yet to be fully endorsed by the ASF. -FROM golang:1.26-bookworm as builder +FROM golang:1.27-bookworm as builder ARG GOPROXY= ARG HTTP_PROXY= diff --git a/backend/go.mod b/backend/go.mod index 81ca3192e03..9cb86099351 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -1,25 +1,29 @@ module github.com/apache/devlake -go 1.26.0 +go 1.27.0 require ( github.com/aws/aws-sdk-go v1.55.8 + github.com/chainguard-dev/git-urls v1.0.2 github.com/cockroachdb/errors v1.14.0 + github.com/coreos/go-oidc/v3 v3.21.0 // github.com/gin-contrib/cors v1.6.0 github.com/gin-gonic/gin v1.12.0 - github.com/go-errors/errors v1.4.2 // indirect github.com/go-git/go-git/v5 v5.19.3 github.com/go-playground/validator/v10 v10.30.5 + github.com/go-sql-driver/mysql v1.10.1 github.com/go-viper/mapstructure/v2 v2.5.0 github.com/gocarina/gocsv v0.0.0-20220707092902-b9da1f06c77e + github.com/golang-jwt/jwt/v5 v5.3.1 github.com/google/uuid v1.6.0 github.com/jackc/pgx/v5 v5.11.0 github.com/libgit2/git2go/v34 v34.0.0 github.com/magiconair/properties v1.18.12 + github.com/merico-ai/graphql v0.0.0-20260206020408-b7fd267bcfac github.com/panjf2000/ants/v2 v2.12.1 github.com/robfig/cron/v3 v3.0.1 + github.com/rogpeppe/go-internal v1.16.0 github.com/sirupsen/logrus v1.10.2 - github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.10.0 github.com/spf13/cobra v1.10.2 github.com/spf13/viper v1.21.0 @@ -29,8 +33,8 @@ require ( github.com/swaggo/swag v1.16.6 github.com/tidwall/gjson v1.20.0 github.com/viant/afs v1.30.0 - golang.org/x/crypto v0.57.0 // indirect golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f + golang.org/x/mod v0.41.0 golang.org/x/oauth2 v0.37.0 golang.org/x/sync v0.24.0 gorm.io/datatypes v1.2.7 @@ -39,16 +43,6 @@ require ( gorm.io/gorm v1.31.2 ) -require ( - github.com/chainguard-dev/git-urls v1.0.2 - github.com/coreos/go-oidc/v3 v3.21.0 - github.com/go-sql-driver/mysql v1.10.1 - github.com/golang-jwt/jwt/v5 v5.3.1 - github.com/merico-ai/graphql v0.0.0-20260206020408-b7fd267bcfac - github.com/rogpeppe/go-internal v1.16.0 - golang.org/x/mod v0.41.0 -) - require ( dario.cat/mergo v1.0.0 // indirect filippo.io/edwards25519 v1.2.0 // indirect @@ -70,6 +64,7 @@ require ( github.com/gabriel-vasile/mimetype v1.4.15 // indirect github.com/getsentry/sentry-go v0.46.0 // indirect github.com/gin-contrib/sse v1.1.0 // indirect + github.com/go-errors/errors v1.4.2 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.9.2 // indirect github.com/go-jose/go-jose/v4 v4.1.4 // indirect @@ -111,6 +106,7 @@ require ( github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect github.com/skeema/knownhosts v1.3.1 // indirect github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect + github.com/spf13/afero v1.15.0 // indirect github.com/spf13/pflag v1.0.10 // indirect github.com/stretchr/objx v0.5.3 // indirect github.com/subosito/gotenv v1.6.0 // indirect @@ -122,6 +118,7 @@ require ( go.mongodb.org/mongo-driver/v2 v2.5.0 // indirect go.yaml.in/yaml/v3 v3.0.5 // indirect golang.org/x/arch v0.22.0 // indirect + golang.org/x/crypto v0.57.0 // indirect golang.org/x/net v0.58.0 // indirect golang.org/x/sys v0.48.0 // indirect golang.org/x/text v0.42.0 // indirect diff --git a/backend/scripts/install-go.sh b/backend/scripts/install-go.sh index f44a6e012e2..02510cf3364 100755 --- a/backend/scripts/install-go.sh +++ b/backend/scripts/install-go.sh @@ -17,7 +17,7 @@ set -eu -GO_VERSION=1.26.9 +GO_VERSION=1.27.2 INSTALL_DIR=/opt/go/$GO_VERSION GO_BIN=$INSTALL_DIR/bin/go @@ -54,11 +54,11 @@ fi case "$(uname -m)" in x86_64|amd64) archive_name=go${GO_VERSION}.linux-amd64.tar.gz - archive_sha256=42d158b4d8f7b61ac0a830567c940a86098fb7aac52e467a5ebec03ef5cc2f8d + archive_sha256=ecbadb99091a3f46e31f5f934b068b1864eafa7995211b39eaddf76996045fe5 ;; aarch64|arm64) archive_name=go${GO_VERSION}.linux-arm64.tar.gz - archive_sha256=4a97373d49fcacdcf3694fea368a500b00ee3e963974f3e7514132717632f052 + archive_sha256=94f3e30b8e374bc285e7dadc11e0865726b9bc6e85b841ccceaabc0214c6b7c8 ;; *) echo "unsupported architecture: $(uname -m)" >&2 diff --git a/devops/docker/lake-builder/Dockerfile b/devops/docker/lake-builder/Dockerfile index f87ff8b1f2b..520eeae820c 100644 --- a/devops/docker/lake-builder/Dockerfile +++ b/devops/docker/lake-builder/Dockerfile @@ -64,8 +64,8 @@ ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig # 2022, so the image could no longer be rebuilt. Fetch the official archive # from go.dev and verify it. Version and checksum match # backend/scripts/install-go.sh. -ARG GO_VERSION=1.26.9 -ARG GO_SHA256=42d158b4d8f7b61ac0a830567c940a86098fb7aac52e467a5ebec03ef5cc2f8d +ARG GO_VERSION=1.27.2 +ARG GO_SHA256=ecbadb99091a3f46e31f5f934b068b1864eafa7995211b39eaddf76996045fe5 RUN curl --fail --location --retry 3 "https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz" --output /tmp/go.tar.gz &&\ echo "${GO_SHA256} /tmp/go.tar.gz" | sha256sum --check --strict &&\ tar -C /usr/local -xzf /tmp/go.tar.gz && rm /tmp/go.tar.gz &&\