diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 4805c7d38f..87079fedce 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,14 +1,13 @@ { - "image": "grafana/loki-build-image:0.34.6", + "image": "grafana/loki-build-image:0.34.8", "containerEnv": { "BUILD_IN_CONTAINER": "false" }, "customizations": { - "vscode": { - "settings": {}, - "extensions": ["golang.go", "Grafana.vscode-jsonnet"] - } + "vscode": { + "settings": {}, + "extensions": ["golang.go", "Grafana.vscode-jsonnet"] + } }, - "features": { - } + "features": {} } diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 264658fee1..abbd1a38ed 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -2,7 +2,7 @@ "check": "uses": "grafana/loki-release/.github/workflows/check.yml@dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" "with": - "build_image": "grafana/loki-build-image:0.34.7" + "build_image": "grafana/loki-build-image:0.34.8" "golang_ci_lint_version": "v2.5.0" "release_lib_ref": "dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" "skip_validation": false @@ -15,4 +15,4 @@ - "main" "permissions": "contents": "read" - "pull-requests": "read" + "pull-requests": "read" \ No newline at end of file diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml index af7186ff2a..834250145d 100644 --- a/.github/workflows/images.yml +++ b/.github/workflows/images.yml @@ -2,7 +2,7 @@ "check": "uses": "grafana/loki-release/.github/workflows/check.yml@dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" "with": - "build_image": "grafana/loki-build-image:0.34.7" + "build_image": "grafana/loki-build-image:0.34.8" "golang_ci_lint_version": "v2.5.0" "release_lib_ref": "dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" "skip_validation": false @@ -10,12 +10,12 @@ "loki-canary-boringcrypto-image": "env": "BUILD_TIMEOUT": 60 - "GO_VERSION": "1.24.9" + "GO_VERSION": "1.25.4" "IMAGE_PREFIX": "grafana" "RELEASE_LIB_REF": "dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" "RELEASE_REPO": "grafana/loki" "needs": - - "check" + - "check" "outputs": "image_digest_linux_amd64": "${{ steps.digest.outputs.digest_linux_amd64 }}" "image_digest_linux_arm": "${{ steps.digest.outputs.digest_linux_arm }}" @@ -27,78 +27,78 @@ "id-token": "write" "runs-on": "${{ matrix.runs_on }}" "steps": - - "name": "pull release library code" - "uses": "actions/checkout@v4" - "with": - "path": "lib" - "persist-credentials": false - "ref": "${{ env.RELEASE_LIB_REF }}" - "repository": "grafana/loki-release" - - "name": "pull code to release" - "uses": "actions/checkout@v4" - "with": - "path": "release" - "persist-credentials": false - "repository": "${{ env.RELEASE_REPO }}" - - "name": "setup node" - "uses": "actions/setup-node@v4" - "with": - "node-version": 20 - "package-manager-cache": false - - "name": "Set up Docker buildx" - "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" - - "name": "Login to DockerHub (from Vault)" - "uses": "grafana/shared-workflows/actions/dockerhub-login@fa48192dac470ae356b3f7007229f3ac28c48a25" - - "id": "weekly-version" - "name": "Get weekly version" - "run": | - version=$(./tools/image-tag) - echo "image_version=$version" >> $GITHUB_OUTPUT - echo "image_name=${{ env.IMAGE_PREFIX }}/loki-canary-boringcrypto" >> $GITHUB_OUTPUT - echo "image_full_name=${{ env.IMAGE_PREFIX }}/loki-canary-boringcrypto:$version" >> $GITHUB_OUTPUT - "working-directory": "release" - - "id": "platform" - "name": "Parse image platform" - "run": | - platform="$(echo "${{ matrix.arch }}" | sed "s/\(.*\)\/\(.*\)/\1-\2/")" - echo "platform=${platform}" >> $GITHUB_OUTPUT - echo "platform_short=$(echo ${{ matrix.arch }} | cut -d / -f 2)" >> $GITHUB_OUTPUT - "working-directory": "release" - - "id": "build-push" - "name": "Build and push" - "timeout-minutes": "${{ fromJSON(env.BUILD_TIMEOUT) }}" - "uses": "docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1" - "with": - "build-args": | - IMAGE_TAG=${{ steps.weekly-version.outputs.image_version }} - GO_VERSION=${{ env.GO_VERSION }} - "context": "release" - "file": "release/cmd/loki-canary-boringcrypto/Dockerfile" - "outputs": "push-by-digest=true,type=image,name=${{ steps.weekly-version.outputs.image_name }},push=true" - "platforms": "${{ matrix.arch }}" - "provenance": true - "tags": "${{ steps.weekly-version.outputs.image_name }}" - - "env": - "OUTPUTS_DIGEST": "${{ steps.build-push.outputs.digest }}" - "id": "digest" - "name": "Process image digest" - "run": | - arch=$(echo ${{ matrix.arch }} | tr "/" "_") - echo "digest_$arch=$OUTPUTS_DIGEST" >> $GITHUB_OUTPUT - "working-directory": "release" + - "name": "pull release library code" + "uses": "actions/checkout@v4" + "with": + "path": "lib" + "persist-credentials": false + "ref": "${{ env.RELEASE_LIB_REF }}" + "repository": "grafana/loki-release" + - "name": "pull code to release" + "uses": "actions/checkout@v4" + "with": + "path": "release" + "persist-credentials": false + "repository": "${{ env.RELEASE_REPO }}" + - "name": "setup node" + "uses": "actions/setup-node@v4" + "with": + "node-version": 20 + "package-manager-cache": false + - "name": "Set up Docker buildx" + "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" + - "name": "Login to DockerHub (from Vault)" + "uses": "grafana/shared-workflows/actions/dockerhub-login@fa48192dac470ae356b3f7007229f3ac28c48a25" + - "id": "weekly-version" + "name": "Get weekly version" + "run": | + version=$(./tools/image-tag) + echo "image_version=$version" >> $GITHUB_OUTPUT + echo "image_name=${{ env.IMAGE_PREFIX }}/loki-canary-boringcrypto" >> $GITHUB_OUTPUT + echo "image_full_name=${{ env.IMAGE_PREFIX }}/loki-canary-boringcrypto:$version" >> $GITHUB_OUTPUT + "working-directory": "release" + - "id": "platform" + "name": "Parse image platform" + "run": | + platform="$(echo "${{ matrix.arch }}" | sed "s/\(.*\)\/\(.*\)/\1-\2/")" + echo "platform=${platform}" >> $GITHUB_OUTPUT + echo "platform_short=$(echo ${{ matrix.arch }} | cut -d / -f 2)" >> $GITHUB_OUTPUT + "working-directory": "release" + - "id": "build-push" + "name": "Build and push" + "timeout-minutes": "${{ fromJSON(env.BUILD_TIMEOUT) }}" + "uses": "docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1" + "with": + "build-args": | + IMAGE_TAG=${{ steps.weekly-version.outputs.image_version }} + GO_VERSION=${{ env.GO_VERSION }} + "context": "release" + "file": "release/cmd/loki-canary-boringcrypto/Dockerfile" + "outputs": "push-by-digest=true,type=image,name=${{ steps.weekly-version.outputs.image_name }},push=true" + "platforms": "${{ matrix.arch }}" + "provenance": true + "tags": "${{ steps.weekly-version.outputs.image_name }}" + - "env": + "OUTPUTS_DIGEST": "${{ steps.build-push.outputs.digest }}" + "id": "digest" + "name": "Process image digest" + "run": | + arch=$(echo ${{ matrix.arch }} | tr "/" "_") + echo "digest_$arch=$OUTPUTS_DIGEST" >> $GITHUB_OUTPUT + "working-directory": "release" "strategy": "fail-fast": true "matrix": "include": - - "arch": "linux/amd64" - "runs_on": - - "github-hosted-ubuntu-x64-small" - - "arch": "linux/arm64" - "runs_on": - - "github-hosted-ubuntu-arm64-small" - - "arch": "linux/arm" - "runs_on": - - "github-hosted-ubuntu-arm64-small" + - "arch": "linux/amd64" + "runs_on": + - "github-hosted-ubuntu-x64-small" + - "arch": "linux/arm64" + "runs_on": + - "github-hosted-ubuntu-arm64-small" + - "arch": "linux/arm" + "runs_on": + - "github-hosted-ubuntu-arm64-small" "loki-canary-boringcrypto-manifest": "env": "BUILD_TIMEOUT": 60 @@ -108,38 +108,38 @@ "OUTPUTS_IMAGE_NAME": "${{ needs.loki-canary-boringcrypto-image.outputs.image_name }}" "OUTPUTS_IMAGE_TAG": "${{ needs.loki-canary-boringcrypto-image.outputs.image_tag }}" "needs": - - "loki-canary-boringcrypto-image" + - "loki-canary-boringcrypto-image" "permissions": "contents": "read" "id-token": "write" "runs-on": "ubuntu-latest" "steps": - - "name": "Set up Docker buildx" - "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" - - "name": "Login to DockerHub (from Vault)" - "uses": "grafana/shared-workflows/actions/dockerhub-login@75804962c1ba608148988c1e2dc35fbb0ee21746" - - "name": "Publish multi-arch manifest" - "run": | - # Unfortunately there is no better way atm than having a separate named output for each digest - echo "linux/arm64 $IMAGE_DIGEST_ARM64" - echo "linux/amd64 $IMAGE_DIGEST_AMD64" - echo "linux/arm $IMAGE_DIGEST_ARM" - IMAGE="${OUTPUTS_IMAGE_NAME}:${OUTPUTS_IMAGE_TAG}" - echo "Create multi-arch manifest for $IMAGE" - docker buildx imagetools create -t $IMAGE \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM64} \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_AMD64} \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM} - docker buildx imagetools inspect $IMAGE + - "name": "Set up Docker buildx" + "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" + - "name": "Login to DockerHub (from Vault)" + "uses": "grafana/shared-workflows/actions/dockerhub-login@75804962c1ba608148988c1e2dc35fbb0ee21746" + - "name": "Publish multi-arch manifest" + "run": | + # Unfortunately there is no better way atm than having a separate named output for each digest + echo "linux/arm64 $IMAGE_DIGEST_ARM64" + echo "linux/amd64 $IMAGE_DIGEST_AMD64" + echo "linux/arm $IMAGE_DIGEST_ARM" + IMAGE="${OUTPUTS_IMAGE_NAME}:${OUTPUTS_IMAGE_TAG}" + echo "Create multi-arch manifest for $IMAGE" + docker buildx imagetools create -t $IMAGE \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM64} \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_AMD64} \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM} + docker buildx imagetools inspect $IMAGE "loki-canary-image": "env": "BUILD_TIMEOUT": 60 - "GO_VERSION": "1.24.9" + "GO_VERSION": "1.25.4" "IMAGE_PREFIX": "grafana" "RELEASE_LIB_REF": "dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" "RELEASE_REPO": "grafana/loki" "needs": - - "check" + - "check" "outputs": "image_digest_linux_amd64": "${{ steps.digest.outputs.digest_linux_amd64 }}" "image_digest_linux_arm": "${{ steps.digest.outputs.digest_linux_arm }}" @@ -151,78 +151,78 @@ "id-token": "write" "runs-on": "${{ matrix.runs_on }}" "steps": - - "name": "pull release library code" - "uses": "actions/checkout@v4" - "with": - "path": "lib" - "persist-credentials": false - "ref": "${{ env.RELEASE_LIB_REF }}" - "repository": "grafana/loki-release" - - "name": "pull code to release" - "uses": "actions/checkout@v4" - "with": - "path": "release" - "persist-credentials": false - "repository": "${{ env.RELEASE_REPO }}" - - "name": "setup node" - "uses": "actions/setup-node@v4" - "with": - "node-version": 20 - "package-manager-cache": false - - "name": "Set up Docker buildx" - "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" - - "name": "Login to DockerHub (from Vault)" - "uses": "grafana/shared-workflows/actions/dockerhub-login@fa48192dac470ae356b3f7007229f3ac28c48a25" - - "id": "weekly-version" - "name": "Get weekly version" - "run": | - version=$(./tools/image-tag) - echo "image_version=$version" >> $GITHUB_OUTPUT - echo "image_name=${{ env.IMAGE_PREFIX }}/loki-canary" >> $GITHUB_OUTPUT - echo "image_full_name=${{ env.IMAGE_PREFIX }}/loki-canary:$version" >> $GITHUB_OUTPUT - "working-directory": "release" - - "id": "platform" - "name": "Parse image platform" - "run": | - platform="$(echo "${{ matrix.arch }}" | sed "s/\(.*\)\/\(.*\)/\1-\2/")" - echo "platform=${platform}" >> $GITHUB_OUTPUT - echo "platform_short=$(echo ${{ matrix.arch }} | cut -d / -f 2)" >> $GITHUB_OUTPUT - "working-directory": "release" - - "id": "build-push" - "name": "Build and push" - "timeout-minutes": "${{ fromJSON(env.BUILD_TIMEOUT) }}" - "uses": "docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1" - "with": - "build-args": | - IMAGE_TAG=${{ steps.weekly-version.outputs.image_version }} - GO_VERSION=${{ env.GO_VERSION }} - "context": "release" - "file": "release/cmd/loki-canary/Dockerfile" - "outputs": "push-by-digest=true,type=image,name=${{ steps.weekly-version.outputs.image_name }},push=true" - "platforms": "${{ matrix.arch }}" - "provenance": true - "tags": "${{ steps.weekly-version.outputs.image_name }}" - - "env": - "OUTPUTS_DIGEST": "${{ steps.build-push.outputs.digest }}" - "id": "digest" - "name": "Process image digest" - "run": | - arch=$(echo ${{ matrix.arch }} | tr "/" "_") - echo "digest_$arch=$OUTPUTS_DIGEST" >> $GITHUB_OUTPUT - "working-directory": "release" + - "name": "pull release library code" + "uses": "actions/checkout@v4" + "with": + "path": "lib" + "persist-credentials": false + "ref": "${{ env.RELEASE_LIB_REF }}" + "repository": "grafana/loki-release" + - "name": "pull code to release" + "uses": "actions/checkout@v4" + "with": + "path": "release" + "persist-credentials": false + "repository": "${{ env.RELEASE_REPO }}" + - "name": "setup node" + "uses": "actions/setup-node@v4" + "with": + "node-version": 20 + "package-manager-cache": false + - "name": "Set up Docker buildx" + "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" + - "name": "Login to DockerHub (from Vault)" + "uses": "grafana/shared-workflows/actions/dockerhub-login@fa48192dac470ae356b3f7007229f3ac28c48a25" + - "id": "weekly-version" + "name": "Get weekly version" + "run": | + version=$(./tools/image-tag) + echo "image_version=$version" >> $GITHUB_OUTPUT + echo "image_name=${{ env.IMAGE_PREFIX }}/loki-canary" >> $GITHUB_OUTPUT + echo "image_full_name=${{ env.IMAGE_PREFIX }}/loki-canary:$version" >> $GITHUB_OUTPUT + "working-directory": "release" + - "id": "platform" + "name": "Parse image platform" + "run": | + platform="$(echo "${{ matrix.arch }}" | sed "s/\(.*\)\/\(.*\)/\1-\2/")" + echo "platform=${platform}" >> $GITHUB_OUTPUT + echo "platform_short=$(echo ${{ matrix.arch }} | cut -d / -f 2)" >> $GITHUB_OUTPUT + "working-directory": "release" + - "id": "build-push" + "name": "Build and push" + "timeout-minutes": "${{ fromJSON(env.BUILD_TIMEOUT) }}" + "uses": "docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1" + "with": + "build-args": | + IMAGE_TAG=${{ steps.weekly-version.outputs.image_version }} + GO_VERSION=${{ env.GO_VERSION }} + "context": "release" + "file": "release/cmd/loki-canary/Dockerfile" + "outputs": "push-by-digest=true,type=image,name=${{ steps.weekly-version.outputs.image_name }},push=true" + "platforms": "${{ matrix.arch }}" + "provenance": true + "tags": "${{ steps.weekly-version.outputs.image_name }}" + - "env": + "OUTPUTS_DIGEST": "${{ steps.build-push.outputs.digest }}" + "id": "digest" + "name": "Process image digest" + "run": | + arch=$(echo ${{ matrix.arch }} | tr "/" "_") + echo "digest_$arch=$OUTPUTS_DIGEST" >> $GITHUB_OUTPUT + "working-directory": "release" "strategy": "fail-fast": true "matrix": "include": - - "arch": "linux/amd64" - "runs_on": - - "github-hosted-ubuntu-x64-small" - - "arch": "linux/arm64" - "runs_on": - - "github-hosted-ubuntu-arm64-small" - - "arch": "linux/arm" - "runs_on": - - "github-hosted-ubuntu-arm64-small" + - "arch": "linux/amd64" + "runs_on": + - "github-hosted-ubuntu-x64-small" + - "arch": "linux/arm64" + "runs_on": + - "github-hosted-ubuntu-arm64-small" + - "arch": "linux/arm" + "runs_on": + - "github-hosted-ubuntu-arm64-small" "loki-canary-manifest": "env": "BUILD_TIMEOUT": 60 @@ -232,38 +232,38 @@ "OUTPUTS_IMAGE_NAME": "${{ needs.loki-canary-image.outputs.image_name }}" "OUTPUTS_IMAGE_TAG": "${{ needs.loki-canary-image.outputs.image_tag }}" "needs": - - "loki-canary-image" + - "loki-canary-image" "permissions": "contents": "read" "id-token": "write" "runs-on": "ubuntu-latest" "steps": - - "name": "Set up Docker buildx" - "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" - - "name": "Login to DockerHub (from Vault)" - "uses": "grafana/shared-workflows/actions/dockerhub-login@75804962c1ba608148988c1e2dc35fbb0ee21746" - - "name": "Publish multi-arch manifest" - "run": | - # Unfortunately there is no better way atm than having a separate named output for each digest - echo "linux/arm64 $IMAGE_DIGEST_ARM64" - echo "linux/amd64 $IMAGE_DIGEST_AMD64" - echo "linux/arm $IMAGE_DIGEST_ARM" - IMAGE="${OUTPUTS_IMAGE_NAME}:${OUTPUTS_IMAGE_TAG}" - echo "Create multi-arch manifest for $IMAGE" - docker buildx imagetools create -t $IMAGE \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM64} \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_AMD64} \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM} - docker buildx imagetools inspect $IMAGE + - "name": "Set up Docker buildx" + "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" + - "name": "Login to DockerHub (from Vault)" + "uses": "grafana/shared-workflows/actions/dockerhub-login@75804962c1ba608148988c1e2dc35fbb0ee21746" + - "name": "Publish multi-arch manifest" + "run": | + # Unfortunately there is no better way atm than having a separate named output for each digest + echo "linux/arm64 $IMAGE_DIGEST_ARM64" + echo "linux/amd64 $IMAGE_DIGEST_AMD64" + echo "linux/arm $IMAGE_DIGEST_ARM" + IMAGE="${OUTPUTS_IMAGE_NAME}:${OUTPUTS_IMAGE_TAG}" + echo "Create multi-arch manifest for $IMAGE" + docker buildx imagetools create -t $IMAGE \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM64} \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_AMD64} \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM} + docker buildx imagetools inspect $IMAGE "loki-image": "env": "BUILD_TIMEOUT": 60 - "GO_VERSION": "1.24.9" + "GO_VERSION": "1.25.4" "IMAGE_PREFIX": "grafana" "RELEASE_LIB_REF": "dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" "RELEASE_REPO": "grafana/loki" "needs": - - "check" + - "check" "outputs": "image_digest_linux_amd64": "${{ steps.digest.outputs.digest_linux_amd64 }}" "image_digest_linux_arm": "${{ steps.digest.outputs.digest_linux_arm }}" @@ -275,78 +275,78 @@ "id-token": "write" "runs-on": "${{ matrix.runs_on }}" "steps": - - "name": "pull release library code" - "uses": "actions/checkout@v4" - "with": - "path": "lib" - "persist-credentials": false - "ref": "${{ env.RELEASE_LIB_REF }}" - "repository": "grafana/loki-release" - - "name": "pull code to release" - "uses": "actions/checkout@v4" - "with": - "path": "release" - "persist-credentials": false - "repository": "${{ env.RELEASE_REPO }}" - - "name": "setup node" - "uses": "actions/setup-node@v4" - "with": - "node-version": 20 - "package-manager-cache": false - - "name": "Set up Docker buildx" - "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" - - "name": "Login to DockerHub (from Vault)" - "uses": "grafana/shared-workflows/actions/dockerhub-login@fa48192dac470ae356b3f7007229f3ac28c48a25" - - "id": "weekly-version" - "name": "Get weekly version" - "run": | - version=$(./tools/image-tag) - echo "image_version=$version" >> $GITHUB_OUTPUT - echo "image_name=${{ env.IMAGE_PREFIX }}/loki" >> $GITHUB_OUTPUT - echo "image_full_name=${{ env.IMAGE_PREFIX }}/loki:$version" >> $GITHUB_OUTPUT - "working-directory": "release" - - "id": "platform" - "name": "Parse image platform" - "run": | - platform="$(echo "${{ matrix.arch }}" | sed "s/\(.*\)\/\(.*\)/\1-\2/")" - echo "platform=${platform}" >> $GITHUB_OUTPUT - echo "platform_short=$(echo ${{ matrix.arch }} | cut -d / -f 2)" >> $GITHUB_OUTPUT - "working-directory": "release" - - "id": "build-push" - "name": "Build and push" - "timeout-minutes": "${{ fromJSON(env.BUILD_TIMEOUT) }}" - "uses": "docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1" - "with": - "build-args": | - IMAGE_TAG=${{ steps.weekly-version.outputs.image_version }} - GO_VERSION=${{ env.GO_VERSION }} - "context": "release" - "file": "release/cmd/loki/Dockerfile" - "outputs": "push-by-digest=true,type=image,name=${{ steps.weekly-version.outputs.image_name }},push=true" - "platforms": "${{ matrix.arch }}" - "provenance": true - "tags": "${{ steps.weekly-version.outputs.image_name }}" - - "env": - "OUTPUTS_DIGEST": "${{ steps.build-push.outputs.digest }}" - "id": "digest" - "name": "Process image digest" - "run": | - arch=$(echo ${{ matrix.arch }} | tr "/" "_") - echo "digest_$arch=$OUTPUTS_DIGEST" >> $GITHUB_OUTPUT - "working-directory": "release" + - "name": "pull release library code" + "uses": "actions/checkout@v4" + "with": + "path": "lib" + "persist-credentials": false + "ref": "${{ env.RELEASE_LIB_REF }}" + "repository": "grafana/loki-release" + - "name": "pull code to release" + "uses": "actions/checkout@v4" + "with": + "path": "release" + "persist-credentials": false + "repository": "${{ env.RELEASE_REPO }}" + - "name": "setup node" + "uses": "actions/setup-node@v4" + "with": + "node-version": 20 + "package-manager-cache": false + - "name": "Set up Docker buildx" + "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" + - "name": "Login to DockerHub (from Vault)" + "uses": "grafana/shared-workflows/actions/dockerhub-login@fa48192dac470ae356b3f7007229f3ac28c48a25" + - "id": "weekly-version" + "name": "Get weekly version" + "run": | + version=$(./tools/image-tag) + echo "image_version=$version" >> $GITHUB_OUTPUT + echo "image_name=${{ env.IMAGE_PREFIX }}/loki" >> $GITHUB_OUTPUT + echo "image_full_name=${{ env.IMAGE_PREFIX }}/loki:$version" >> $GITHUB_OUTPUT + "working-directory": "release" + - "id": "platform" + "name": "Parse image platform" + "run": | + platform="$(echo "${{ matrix.arch }}" | sed "s/\(.*\)\/\(.*\)/\1-\2/")" + echo "platform=${platform}" >> $GITHUB_OUTPUT + echo "platform_short=$(echo ${{ matrix.arch }} | cut -d / -f 2)" >> $GITHUB_OUTPUT + "working-directory": "release" + - "id": "build-push" + "name": "Build and push" + "timeout-minutes": "${{ fromJSON(env.BUILD_TIMEOUT) }}" + "uses": "docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1" + "with": + "build-args": | + IMAGE_TAG=${{ steps.weekly-version.outputs.image_version }} + GO_VERSION=${{ env.GO_VERSION }} + "context": "release" + "file": "release/cmd/loki/Dockerfile" + "outputs": "push-by-digest=true,type=image,name=${{ steps.weekly-version.outputs.image_name }},push=true" + "platforms": "${{ matrix.arch }}" + "provenance": true + "tags": "${{ steps.weekly-version.outputs.image_name }}" + - "env": + "OUTPUTS_DIGEST": "${{ steps.build-push.outputs.digest }}" + "id": "digest" + "name": "Process image digest" + "run": | + arch=$(echo ${{ matrix.arch }} | tr "/" "_") + echo "digest_$arch=$OUTPUTS_DIGEST" >> $GITHUB_OUTPUT + "working-directory": "release" "strategy": "fail-fast": true "matrix": "include": - - "arch": "linux/amd64" - "runs_on": - - "github-hosted-ubuntu-x64-small" - - "arch": "linux/arm64" - "runs_on": - - "github-hosted-ubuntu-arm64-small" - - "arch": "linux/arm" - "runs_on": - - "github-hosted-ubuntu-arm64-small" + - "arch": "linux/amd64" + "runs_on": + - "github-hosted-ubuntu-x64-small" + - "arch": "linux/arm64" + "runs_on": + - "github-hosted-ubuntu-arm64-small" + - "arch": "linux/arm" + "runs_on": + - "github-hosted-ubuntu-arm64-small" "loki-manifest": "env": "BUILD_TIMEOUT": 60 @@ -356,38 +356,38 @@ "OUTPUTS_IMAGE_NAME": "${{ needs.loki-image.outputs.image_name }}" "OUTPUTS_IMAGE_TAG": "${{ needs.loki-image.outputs.image_tag }}" "needs": - - "loki-image" + - "loki-image" "permissions": "contents": "read" "id-token": "write" "runs-on": "ubuntu-latest" "steps": - - "name": "Set up Docker buildx" - "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" - - "name": "Login to DockerHub (from Vault)" - "uses": "grafana/shared-workflows/actions/dockerhub-login@75804962c1ba608148988c1e2dc35fbb0ee21746" - - "name": "Publish multi-arch manifest" - "run": | - # Unfortunately there is no better way atm than having a separate named output for each digest - echo "linux/arm64 $IMAGE_DIGEST_ARM64" - echo "linux/amd64 $IMAGE_DIGEST_AMD64" - echo "linux/arm $IMAGE_DIGEST_ARM" - IMAGE="${OUTPUTS_IMAGE_NAME}:${OUTPUTS_IMAGE_TAG}" - echo "Create multi-arch manifest for $IMAGE" - docker buildx imagetools create -t $IMAGE \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM64} \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_AMD64} \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM} - docker buildx imagetools inspect $IMAGE + - "name": "Set up Docker buildx" + "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" + - "name": "Login to DockerHub (from Vault)" + "uses": "grafana/shared-workflows/actions/dockerhub-login@75804962c1ba608148988c1e2dc35fbb0ee21746" + - "name": "Publish multi-arch manifest" + "run": | + # Unfortunately there is no better way atm than having a separate named output for each digest + echo "linux/arm64 $IMAGE_DIGEST_ARM64" + echo "linux/amd64 $IMAGE_DIGEST_AMD64" + echo "linux/arm $IMAGE_DIGEST_ARM" + IMAGE="${OUTPUTS_IMAGE_NAME}:${OUTPUTS_IMAGE_TAG}" + echo "Create multi-arch manifest for $IMAGE" + docker buildx imagetools create -t $IMAGE \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM64} \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_AMD64} \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM} + docker buildx imagetools inspect $IMAGE "promtail-image": "env": "BUILD_TIMEOUT": 60 - "GO_VERSION": "1.24.9" + "GO_VERSION": "1.25.4" "IMAGE_PREFIX": "grafana" "RELEASE_LIB_REF": "dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" "RELEASE_REPO": "grafana/loki" "needs": - - "check" + - "check" "outputs": "image_digest_linux_amd64": "${{ steps.digest.outputs.digest_linux_amd64 }}" "image_digest_linux_arm": "${{ steps.digest.outputs.digest_linux_arm }}" @@ -399,78 +399,78 @@ "id-token": "write" "runs-on": "${{ matrix.runs_on }}" "steps": - - "name": "pull release library code" - "uses": "actions/checkout@v4" - "with": - "path": "lib" - "persist-credentials": false - "ref": "${{ env.RELEASE_LIB_REF }}" - "repository": "grafana/loki-release" - - "name": "pull code to release" - "uses": "actions/checkout@v4" - "with": - "path": "release" - "persist-credentials": false - "repository": "${{ env.RELEASE_REPO }}" - - "name": "setup node" - "uses": "actions/setup-node@v4" - "with": - "node-version": 20 - "package-manager-cache": false - - "name": "Set up Docker buildx" - "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" - - "name": "Login to DockerHub (from Vault)" - "uses": "grafana/shared-workflows/actions/dockerhub-login@fa48192dac470ae356b3f7007229f3ac28c48a25" - - "id": "weekly-version" - "name": "Get weekly version" - "run": | - version=$(./tools/image-tag) - echo "image_version=$version" >> $GITHUB_OUTPUT - echo "image_name=${{ env.IMAGE_PREFIX }}/promtail" >> $GITHUB_OUTPUT - echo "image_full_name=${{ env.IMAGE_PREFIX }}/promtail:$version" >> $GITHUB_OUTPUT - "working-directory": "release" - - "id": "platform" - "name": "Parse image platform" - "run": | - platform="$(echo "${{ matrix.arch }}" | sed "s/\(.*\)\/\(.*\)/\1-\2/")" - echo "platform=${platform}" >> $GITHUB_OUTPUT - echo "platform_short=$(echo ${{ matrix.arch }} | cut -d / -f 2)" >> $GITHUB_OUTPUT - "working-directory": "release" - - "id": "build-push" - "name": "Build and push" - "timeout-minutes": "${{ fromJSON(env.BUILD_TIMEOUT) }}" - "uses": "docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1" - "with": - "build-args": | - IMAGE_TAG=${{ steps.weekly-version.outputs.image_version }} - GO_VERSION=${{ env.GO_VERSION }} - "context": "release" - "file": "release/clients/cmd/promtail/Dockerfile" - "outputs": "push-by-digest=true,type=image,name=${{ steps.weekly-version.outputs.image_name }},push=true" - "platforms": "${{ matrix.arch }}" - "provenance": true - "tags": "${{ steps.weekly-version.outputs.image_name }}" - - "env": - "OUTPUTS_DIGEST": "${{ steps.build-push.outputs.digest }}" - "id": "digest" - "name": "Process image digest" - "run": | - arch=$(echo ${{ matrix.arch }} | tr "/" "_") - echo "digest_$arch=$OUTPUTS_DIGEST" >> $GITHUB_OUTPUT - "working-directory": "release" + - "name": "pull release library code" + "uses": "actions/checkout@v4" + "with": + "path": "lib" + "persist-credentials": false + "ref": "${{ env.RELEASE_LIB_REF }}" + "repository": "grafana/loki-release" + - "name": "pull code to release" + "uses": "actions/checkout@v4" + "with": + "path": "release" + "persist-credentials": false + "repository": "${{ env.RELEASE_REPO }}" + - "name": "setup node" + "uses": "actions/setup-node@v4" + "with": + "node-version": 20 + "package-manager-cache": false + - "name": "Set up Docker buildx" + "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" + - "name": "Login to DockerHub (from Vault)" + "uses": "grafana/shared-workflows/actions/dockerhub-login@fa48192dac470ae356b3f7007229f3ac28c48a25" + - "id": "weekly-version" + "name": "Get weekly version" + "run": | + version=$(./tools/image-tag) + echo "image_version=$version" >> $GITHUB_OUTPUT + echo "image_name=${{ env.IMAGE_PREFIX }}/promtail" >> $GITHUB_OUTPUT + echo "image_full_name=${{ env.IMAGE_PREFIX }}/promtail:$version" >> $GITHUB_OUTPUT + "working-directory": "release" + - "id": "platform" + "name": "Parse image platform" + "run": | + platform="$(echo "${{ matrix.arch }}" | sed "s/\(.*\)\/\(.*\)/\1-\2/")" + echo "platform=${platform}" >> $GITHUB_OUTPUT + echo "platform_short=$(echo ${{ matrix.arch }} | cut -d / -f 2)" >> $GITHUB_OUTPUT + "working-directory": "release" + - "id": "build-push" + "name": "Build and push" + "timeout-minutes": "${{ fromJSON(env.BUILD_TIMEOUT) }}" + "uses": "docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1" + "with": + "build-args": | + IMAGE_TAG=${{ steps.weekly-version.outputs.image_version }} + GO_VERSION=${{ env.GO_VERSION }} + "context": "release" + "file": "release/clients/cmd/promtail/Dockerfile" + "outputs": "push-by-digest=true,type=image,name=${{ steps.weekly-version.outputs.image_name }},push=true" + "platforms": "${{ matrix.arch }}" + "provenance": true + "tags": "${{ steps.weekly-version.outputs.image_name }}" + - "env": + "OUTPUTS_DIGEST": "${{ steps.build-push.outputs.digest }}" + "id": "digest" + "name": "Process image digest" + "run": | + arch=$(echo ${{ matrix.arch }} | tr "/" "_") + echo "digest_$arch=$OUTPUTS_DIGEST" >> $GITHUB_OUTPUT + "working-directory": "release" "strategy": "fail-fast": true "matrix": "include": - - "arch": "linux/amd64" - "runs_on": - - "github-hosted-ubuntu-x64-small" - - "arch": "linux/arm64" - "runs_on": - - "github-hosted-ubuntu-arm64-small" - - "arch": "linux/arm" - "runs_on": - - "github-hosted-ubuntu-arm64-small" + - "arch": "linux/amd64" + "runs_on": + - "github-hosted-ubuntu-x64-small" + - "arch": "linux/arm64" + "runs_on": + - "github-hosted-ubuntu-arm64-small" + - "arch": "linux/arm" + "runs_on": + - "github-hosted-ubuntu-arm64-small" "promtail-manifest": "env": "BUILD_TIMEOUT": 60 @@ -480,36 +480,36 @@ "OUTPUTS_IMAGE_NAME": "${{ needs.promtail-image.outputs.image_name }}" "OUTPUTS_IMAGE_TAG": "${{ needs.promtail-image.outputs.image_tag }}" "needs": - - "promtail-image" + - "promtail-image" "permissions": "contents": "read" "id-token": "write" "runs-on": "ubuntu-latest" "steps": - - "name": "Set up Docker buildx" - "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" - - "name": "Login to DockerHub (from Vault)" - "uses": "grafana/shared-workflows/actions/dockerhub-login@75804962c1ba608148988c1e2dc35fbb0ee21746" - - "name": "Publish multi-arch manifest" - "run": | - # Unfortunately there is no better way atm than having a separate named output for each digest - echo "linux/arm64 $IMAGE_DIGEST_ARM64" - echo "linux/amd64 $IMAGE_DIGEST_AMD64" - echo "linux/arm $IMAGE_DIGEST_ARM" - IMAGE="${OUTPUTS_IMAGE_NAME}:${OUTPUTS_IMAGE_TAG}" - echo "Create multi-arch manifest for $IMAGE" - docker buildx imagetools create -t $IMAGE \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM64} \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_AMD64} \ - ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM} - docker buildx imagetools inspect $IMAGE + - "name": "Set up Docker buildx" + "uses": "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" + - "name": "Login to DockerHub (from Vault)" + "uses": "grafana/shared-workflows/actions/dockerhub-login@75804962c1ba608148988c1e2dc35fbb0ee21746" + - "name": "Publish multi-arch manifest" + "run": | + # Unfortunately there is no better way atm than having a separate named output for each digest + echo "linux/arm64 $IMAGE_DIGEST_ARM64" + echo "linux/amd64 $IMAGE_DIGEST_AMD64" + echo "linux/arm $IMAGE_DIGEST_ARM" + IMAGE="${OUTPUTS_IMAGE_NAME}:${OUTPUTS_IMAGE_TAG}" + echo "Create multi-arch manifest for $IMAGE" + docker buildx imagetools create -t $IMAGE \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM64} \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_AMD64} \ + ${OUTPUTS_IMAGE_NAME}@${IMAGE_DIGEST_ARM} + docker buildx imagetools inspect $IMAGE "name": "Publish images" "on": "push": "branches": - - "k[0-9]+*" - - "main" + - "k[0-9]+*" + - "main" "workflow_dispatch": {} "permissions": "contents": "read" - "pull-requests": "read" + "pull-requests": "read" \ No newline at end of file diff --git a/.github/workflows/minor-release-pr.yml b/.github/workflows/minor-release-pr.yml index e8e1267c7b..4a2dc94c3a 100644 --- a/.github/workflows/minor-release-pr.yml +++ b/.github/workflows/minor-release-pr.yml @@ -21,7 +21,7 @@ jobs: pull-requests: "write" uses: "grafana/loki-release/.github/workflows/check.yml@dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" with: - build_image: "grafana/loki-build-image:0.34.7" + build_image: "grafana/loki-build-image:0.34.8" golang_ci_lint_version: "v2.5.0" release_lib_ref: "dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" skip_validation: false @@ -179,10 +179,10 @@ jobs: --env SKIP_ARM \ --volume .:/src/loki \ --workdir /src/loki \ - --entrypoint /bin/sh "grafana/loki-build-image:0.34.7" + --entrypoint /bin/sh "grafana/loki-build-image:0.34.8" git config --global --add safe.directory /src/loki echo "${NFPM_SIGNING_KEY}" > $NFPM_SIGNING_KEY_FILE - if echo "grafana/loki-build-image:0.34.7" | grep -q "golang"; then + if echo "grafana/loki-build-image:0.34.8" | grep -q "golang"; then /src/loki/.github/vendor/github.com/grafana/loki-release/workflows/install_workflow_dependencies.sh dist fi make dist packages @@ -798,7 +798,7 @@ jobs: build-args: | IMAGE_TAG=${{ needs.version.outputs.version }} GOARCH=${{ steps.platform.outputs.platform_short }} - BUILD_IMAGE=grafana/loki-build-image:0.34.7 + BUILD_IMAGE=grafana/loki-build-image:0.34.8 context: "release" file: "release/clients/cmd/docker-driver/Dockerfile" outputs: "type=local,dest=release/plugins/loki-docker-driver-${{ needs.version.outputs.version}}-${{ steps.platform.outputs.platform }}" @@ -1111,4 +1111,4 @@ name: "Prepare Minor Release PR from Weekly" - "k[0-9]+" permissions: contents: "read" - pull-requests: "read" + pull-requests: "read" \ No newline at end of file diff --git a/.github/workflows/nix-ci.yaml b/.github/workflows/nix-ci.yaml index 0489f22030..8a794524e2 100644 --- a/.github/workflows/nix-ci.yaml +++ b/.github/workflows/nix-ci.yaml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v4 with: persist-credentials: false - - uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30 + - uses: cachix/install-nix-action@456688f15bc354bef6d396e4a35f4f89d40bf2b7 # v31.8.2 with: nix_path: nixpkgs=channel:nixos-unstable - run: nix run --print-build-logs .#lint @@ -36,7 +36,7 @@ jobs: - uses: actions/checkout@v4 with: persist-credentials: false - - uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30 + - uses: cachix/install-nix-action@456688f15bc354bef6d396e4a35f4f89d40bf2b7 # v31.8.2 with: nix_path: nixpkgs=channel:nixos-unstable - run: nix build --print-build-logs .#promtail diff --git a/.github/workflows/patch-release-pr.yml b/.github/workflows/patch-release-pr.yml index 5098686e28..c30f3f472c 100644 --- a/.github/workflows/patch-release-pr.yml +++ b/.github/workflows/patch-release-pr.yml @@ -21,7 +21,7 @@ jobs: pull-requests: "write" uses: "grafana/loki-release/.github/workflows/check.yml@dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" with: - build_image: "grafana/loki-build-image:0.34.7" + build_image: "grafana/loki-build-image:0.34.8" golang_ci_lint_version: "v2.5.0" release_lib_ref: "dfe753760ce6ec2f4549fc11d2df24a2aa584e3f" skip_validation: false @@ -179,10 +179,10 @@ jobs: --env SKIP_ARM \ --volume .:/src/loki \ --workdir /src/loki \ - --entrypoint /bin/sh "grafana/loki-build-image:0.34.7" + --entrypoint /bin/sh "grafana/loki-build-image:0.34.8" git config --global --add safe.directory /src/loki echo "${NFPM_SIGNING_KEY}" > $NFPM_SIGNING_KEY_FILE - if echo "grafana/loki-build-image:0.34.7" | grep -q "golang"; then + if echo "grafana/loki-build-image:0.34.8" | grep -q "golang"; then /src/loki/.github/vendor/github.com/grafana/loki-release/workflows/install_workflow_dependencies.sh dist fi make dist packages @@ -798,7 +798,7 @@ jobs: build-args: | IMAGE_TAG=${{ needs.version.outputs.version }} GOARCH=${{ steps.platform.outputs.platform_short }} - BUILD_IMAGE=grafana/loki-build-image:0.34.7 + BUILD_IMAGE=grafana/loki-build-image:0.34.8 context: "release" file: "release/clients/cmd/docker-driver/Dockerfile" outputs: "type=local,dest=release/plugins/loki-docker-driver-${{ needs.version.outputs.version}}-${{ steps.platform.outputs.platform }}" @@ -1111,4 +1111,4 @@ name: "Prepare Patch Release PR" - "release-[0-9]+.[0-9]+.x" permissions: contents: "read" - pull-requests: "read" + pull-requests: "read" \ No newline at end of file diff --git a/.github/workflows/querytee-images.yml b/.github/workflows/querytee-images.yml index 591f403f6e..45d86f303a 100644 --- a/.github/workflows/querytee-images.yml +++ b/.github/workflows/querytee-images.yml @@ -17,7 +17,7 @@ permissions: env: BUILD_TIMEOUT: 60 IMAGE_PREFIX: grafana - GO_VERSION: "1.24.4" + GO_VERSION: "1.25.4" jobs: loki-query-tee-image: @@ -130,4 +130,3 @@ jobs: echo "$IMAGE" echo "\`\`\`" echo "" - diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b473f62147..f1b97464fa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -441,4 +441,4 @@ name: "create release" - "main" permissions: contents: "read" - pull-requests: "read" + pull-requests: "read" \ No newline at end of file diff --git a/Makefile b/Makefile index 77ca69b045..825b52a1b3 100644 --- a/Makefile +++ b/Makefile @@ -26,9 +26,9 @@ DOCKER_INTERACTIVE_FLAGS := --tty --interactive endif # Ensure you run `make release-workflows` after changing this -GO_VERSION := 1.24.9 +GO_VERSION := 1.25.4 # Ensure you run `make IMAGE_TAG= build-image-push` after changing this -BUILD_IMAGE_TAG := 0.34.7 +BUILD_IMAGE_TAG := 0.34.8 IMAGE_TAG ?= $(shell ./tools/image-tag) GIT_REVISION := $(shell git rev-parse --short HEAD) diff --git a/clients/cmd/promtail/Dockerfile b/clients/cmd/promtail/Dockerfile index e67b1cc847..d4fa47dfae 100644 --- a/clients/cmd/promtail/Dockerfile +++ b/clients/cmd/promtail/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 FROM golang:${GO_VERSION}-bookworm AS build ARG IMAGE_TAG diff --git a/clients/cmd/promtail/Dockerfile.cross b/clients/cmd/promtail/Dockerfile.cross index 5528c4aeff..b98db0d8b1 100644 --- a/clients/cmd/promtail/Dockerfile.cross +++ b/clients/cmd/promtail/Dockerfile.cross @@ -1,5 +1,5 @@ -ARG BUILD_IMAGE=grafana/loki-build-image:0.34.6 -ARG GO_VERSION=1.24 +ARG BUILD_IMAGE=grafana/loki-build-image:0.34.8 +ARG GO_VERSION=1.25 # Directories in this file are referenced from the root of the project not this folder # This file is intended to be called from the root like so: # docker build -t grafana/promtail -f clients/cmd/promtail/Dockerfile . diff --git a/cmd/logcli/Dockerfile b/cmd/logcli/Dockerfile index e6edb1b944..eb905723e0 100644 --- a/cmd/logcli/Dockerfile +++ b/cmd/logcli/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 ARG IMAGE_TAG FROM golang:${GO_VERSION} AS build diff --git a/cmd/logql-analyzer/Dockerfile b/cmd/logql-analyzer/Dockerfile index 163635f37a..9cc690e520 100644 --- a/cmd/logql-analyzer/Dockerfile +++ b/cmd/logql-analyzer/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 FROM golang:${GO_VERSION} AS build COPY . /src/loki diff --git a/cmd/loki-canary-boringcrypto/Dockerfile b/cmd/loki-canary-boringcrypto/Dockerfile index 08df7d7726..2632f9299b 100644 --- a/cmd/loki-canary-boringcrypto/Dockerfile +++ b/cmd/loki-canary-boringcrypto/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 FROM golang:${GO_VERSION} as build ARG IMAGE_TAG diff --git a/cmd/loki-canary/Dockerfile b/cmd/loki-canary/Dockerfile index bbf9d12d10..91f531d7e6 100644 --- a/cmd/loki-canary/Dockerfile +++ b/cmd/loki-canary/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 FROM golang:${GO_VERSION} AS build ARG IMAGE_TAG diff --git a/cmd/loki-canary/Dockerfile.cross b/cmd/loki-canary/Dockerfile.cross index ea73c62ed7..a50ebc3e93 100644 --- a/cmd/loki-canary/Dockerfile.cross +++ b/cmd/loki-canary/Dockerfile.cross @@ -1,5 +1,5 @@ -ARG BUILD_IMAGE=grafana/loki-build-image:0.34.0 -ARG GO_VERSION=1.24 +ARG BUILD_IMAGE=grafana/loki-build-image:0.34.8 +ARG GO_VERSION=1.25 # Directories in this file are referenced from the root of the project not this folder # This file is intended to be called from the root like so: # docker build -t grafana/promtail -f cmd/promtail/Dockerfile . diff --git a/cmd/loki/Dockerfile b/cmd/loki/Dockerfile index d0b7f7fc93..6fefcd7a2e 100644 --- a/cmd/loki/Dockerfile +++ b/cmd/loki/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 # Go build stage FROM golang:${GO_VERSION} AS build diff --git a/cmd/loki/Dockerfile.cross b/cmd/loki/Dockerfile.cross index ede47f3ea7..dd0a1c2323 100644 --- a/cmd/loki/Dockerfile.cross +++ b/cmd/loki/Dockerfile.cross @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 # Directories in this file are referenced from the root of the project not this folder # This file is intended to be called from the root like so: # docker build -t grafana/loki -f cmd/loki/Dockerfile . diff --git a/cmd/loki/Dockerfile.debug b/cmd/loki/Dockerfile.debug index d5057951d0..04590de842 100644 --- a/cmd/loki/Dockerfile.debug +++ b/cmd/loki/Dockerfile.debug @@ -1,5 +1,5 @@ -ARG BUILD_IMAGE=grafana/loki-build-image:0.34.0 -ARG GO_VERSION=1.24 +ARG BUILD_IMAGE=grafana/loki-build-image:0.34.8 +ARG GO_VERSION=1.25 # Directories in this file are referenced from the root of the project not this folder # This file is intended to be called from the root like so: # docker build -t grafana/loki -f cmd/loki/Dockerfile.debug . diff --git a/cmd/migrate/Dockerfile b/cmd/migrate/Dockerfile index 2a6dfecfc8..2ab730807d 100644 --- a/cmd/migrate/Dockerfile +++ b/cmd/migrate/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 FROM golang:${GO_VERSION} AS build COPY . /src/loki WORKDIR /src/loki diff --git a/cmd/querytee/Dockerfile b/cmd/querytee/Dockerfile index 963d122e07..b468970d63 100644 --- a/cmd/querytee/Dockerfile +++ b/cmd/querytee/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 FROM golang:${GO_VERSION} as build ARG IMAGE_TAG diff --git a/cmd/querytee/Dockerfile.cross b/cmd/querytee/Dockerfile.cross index 97c69d927c..b311c5ea9f 100644 --- a/cmd/querytee/Dockerfile.cross +++ b/cmd/querytee/Dockerfile.cross @@ -2,7 +2,7 @@ ARG BUILD_IMAGE=grafana/loki-build-image:0.34.7 # Directories in this file are referenced from the root of the project not this folder # This file is intended to be called from the root like so: # docker build -t grafana/promtail -f cmd/promtail/Dockerfile . -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 FROM golang:${GO_VERSION} AS goenv RUN go env GOARCH > /goarch && \ go env GOARM > /goarm diff --git a/flake.lock b/flake.lock index 68e20edc58..e54e9ae7e0 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741037377, - "narHash": "sha256-SvtvVKHaUX4Owb+PasySwZsoc5VUeTf1px34BByiOxw=", + "lastModified": 1762361079, + "narHash": "sha256-lz718rr1BDpZBYk7+G8cE6wee3PiBUpn8aomG/vLLiY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "02032da4af073d0f6110540c8677f16d4be0117f", + "rev": "ffcdcf99d65c61956d882df249a9be53e5902ea5", "type": "github" }, "original": { diff --git a/go.mod b/go.mod index e768f63081..ec269fbde9 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,8 @@ module github.com/grafana/loki/v3 -go 1.24.0 +go 1.25.0 -toolchain go1.24.9 +toolchain go1.25.4 require ( cloud.google.com/go/bigtable v1.40.1 diff --git a/loki-build-image/Dockerfile b/loki-build-image/Dockerfile index 681f9a3936..2db16371c5 100644 --- a/loki-build-image/Dockerfile +++ b/loki-build-image/Dockerfile @@ -4,7 +4,7 @@ # tag of the Docker image in `../.drone/drone.jsonnet` and run `make drone`. # See ../docs/sources/community/maintaining/release-loki-build-image.md for instructions # on how to publish a new build image. -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 ARG GOLANG_BASE_IMAGE=golang:${GO_VERSION}-trixie # Install helm (https://helm.sh/) and helm-docs (https://github.com/norwoodj/helm-docs) for generating Helm Chart reference. @@ -29,7 +29,7 @@ RUN apk add --no-cache curl && \ FROM alpine:3.22.1 AS golangci RUN apk add --no-cache curl && \ cd / && \ - curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v2.3.0 + curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v2.4.0 FROM alpine:3.22.1 AS buf ARG TARGETOS diff --git a/nix/packages/loki.nix b/nix/packages/loki.nix index 9fe0e3db2d..35d0724483 100644 --- a/nix/packages/loki.nix +++ b/nix/packages/loki.nix @@ -1,5 +1,5 @@ { pkgs, version, imageTag, lib }: -pkgs.buildGo124Module { +pkgs.buildGo125Module { inherit version; pname = "loki"; diff --git a/operator/netlify.toml b/operator/netlify.toml index 704e3f72b2..b98949dbed 100644 --- a/operator/netlify.toml +++ b/operator/netlify.toml @@ -6,7 +6,7 @@ # HUGO_VERSION = "..." is set by bingo which allows reproducible local environment. NODE_VERSION = "22.10.0" NPM_VERSION = "10.9.0" - GO_VERSION = "1.24.4" + GO_VERSION = "1.25.4" [context.production] command = "(env && mkdir /tmp/gobin && make web GOBIN=/tmp/gobin) || (sleep 30; false)" diff --git a/production/helm/loki/src/helm-test/Dockerfile b/production/helm/loki/src/helm-test/Dockerfile index c831329eda..1824fcefa5 100644 --- a/production/helm/loki/src/helm-test/Dockerfile +++ b/production/helm/loki/src/helm-test/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 FROM golang:${GO_VERSION} as build # build via Makefile target helm-test-image in root diff --git a/tools/stream-generator/Dockerfile b/tools/stream-generator/Dockerfile index dbb50e089c..2a834271f2 100644 --- a/tools/stream-generator/Dockerfile +++ b/tools/stream-generator/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24 +ARG GO_VERSION=1.25 # Go build stage FROM golang:${GO_VERSION} AS build @@ -20,4 +20,4 @@ RUN addgroup -g 10001 -S streamgenerator && \ USER 10001 EXPOSE 9090 -ENTRYPOINT [ "/usr/bin/stream-generator" ] \ No newline at end of file +ENTRYPOINT [ "/usr/bin/stream-generator" ]