0
Fork 0
mirror of https://github.com/project-zot/zot.git synced 2024-12-30 22:34:13 -05:00

chore: update to go 1.22 (#2330)

* chore: update to go 1.22

Only go toolchain version is updated.
We compile with go 1.22, but we allow others to compile using language version 1.21 if they wish to.
If we also updated the go version in go.mod everyone would be forced to update, as that is enforced as a minimum allowed version.

This comment explains the difference well enough https://news.ycombinator.com/item?id=36455759

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* chore: fix freeBSD AMD64 build

Looks like they made some cleanup in the logic allowing buildmode pie on various platforms.

Related to https://github.com/golang/go/issues/31544
See the code at: https://cs.opensource.google/go/go/+/master:src/internal/platform/supported.go;l=222-231;drc=d7fcb5cf80953f1d63246f1ae9defa60c5ce2d76;bpv=1;bpt=0

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

---------

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
This commit is contained in:
Andrei Aaron 2024-03-20 20:53:11 +02:00 committed by GitHub
parent 28e9aabecf
commit 375c35c5a1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 43 additions and 44 deletions

View file

@ -18,7 +18,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
# Run benchmark with `go test -bench` and stores the output to a file # Run benchmark with `go test -bench` and stores the output to a file
- name: Run benchmark - name: Run benchmark
run: make BENCH_OUTPUT=ci-cd run-bench run: make BENCH_OUTPUT=ci-cd run-bench

View file

@ -18,7 +18,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Install dependencies - name: Install dependencies
run: | run: |
cd $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE

View file

@ -30,7 +30,7 @@ jobs:
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Cache go dependencies - name: Cache go dependencies
id: cache-go-dependencies id: cache-go-dependencies
uses: actions/cache@v4 uses: actions/cache@v4

View file

@ -21,7 +21,7 @@ jobs:
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Check out source code - name: Check out source code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Install dependencies - name: Install dependencies

View file

@ -31,7 +31,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Install dependencies - name: Install dependencies
run: | run: |
cd $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE

View file

@ -49,7 +49,7 @@ jobs:
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL

View file

@ -14,7 +14,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Checkout zot (main branch) - name: Checkout zot (main branch)
run: | run: |
mkdir -p $GITHUB_WORKSPACE/zot_main mkdir -p $GITHUB_WORKSPACE/zot_main

View file

@ -20,7 +20,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Install dependencies - name: Install dependencies
run: | run: |
cd $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE

View file

@ -20,7 +20,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Run zb - name: Run zb
id: bench id: bench
@ -51,7 +51,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Run zb - name: Run zb
id: bench id: bench
@ -82,7 +82,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- uses: ./.github/actions/setup-localstack - uses: ./.github/actions/setup-localstack
- name: Setup minio service - name: Setup minio service
run: | run: |
@ -157,7 +157,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- uses: ./.github/actions/setup-localstack - uses: ./.github/actions/setup-localstack
- name: Setup minio service - name: Setup minio service
run: | run: |

View file

@ -18,7 +18,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: '1.21' go-version: '1.22'
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Run linter with GH action - name: Run linter with GH action
uses: golangci/golangci-lint-action@v4 uses: golangci/golangci-lint-action@v4

View file

@ -25,7 +25,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Install dependencies - name: Install dependencies
run: | run: |
cd $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE

View file

@ -22,7 +22,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Install go-licenses - name: Install go-licenses
run: go install github.com/google/go-licenses@latest run: go install github.com/google/go-licenses@latest
- name: Check for forbidden licenses - name: Check for forbidden licenses

View file

@ -19,7 +19,7 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
go-version: 1.21.x go-version: 1.22.x
- name: Install dependencies - name: Install dependencies
run: | run: |
cd $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE
@ -67,7 +67,7 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
go-version: 1.21.x go-version: 1.22.x
- name: Install dependencies - name: Install dependencies
run: | run: |
cd $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE
@ -85,7 +85,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- uses: ./.github/actions/setup-localstack - uses: ./.github/actions/setup-localstack
- name: Run zb - name: Run zb
@ -122,7 +122,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- uses: ./.github/actions/setup-localstack - uses: ./.github/actions/setup-localstack
- name: Run zb - name: Run zb
@ -170,7 +170,7 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
go-version: 1.21.x go-version: 1.22.x
- name: Install dependencies - name: Install dependencies
run: | run: |
cd $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE

View file

@ -20,11 +20,11 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job # Steps represent a sequence of tasks that will be executed as part of the job
steps: steps:
- name: Install go 1.21 - name: Install go 1.22
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Checkout this PR - name: Checkout this PR
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Start zot server - name: Start zot server

View file

@ -18,7 +18,7 @@ jobs:
strategy: strategy:
matrix: matrix:
golang_version: golang_version:
- "1.21" - "1.22"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Log in to GitHub Docker Registry - name: Log in to GitHub Docker Registry

View file

@ -21,7 +21,7 @@ jobs:
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Cache go dependencies - name: Cache go dependencies
id: cache-go-dependencies id: cache-go-dependencies
uses: actions/cache@v4 uses: actions/cache@v4
@ -60,7 +60,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Cache go dependencies - name: Cache go dependencies
id: cache-go-dependencies id: cache-go-dependencies
uses: actions/cache@v4 uses: actions/cache@v4
@ -99,7 +99,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Cache go dependencies - name: Cache go dependencies
id: cache-go-dependencies id: cache-go-dependencies
uses: actions/cache@v4 uses: actions/cache@v4
@ -133,7 +133,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: download all workflow coverage files - name: download all workflow coverage files
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
- name: merge code coverage - name: merge code coverage

View file

@ -18,7 +18,7 @@ jobs:
- uses: actions/setup-go@v5 - uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Install dependencies - name: Install dependencies
run: | run: |
cd $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE

View file

@ -25,7 +25,7 @@ jobs:
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
cache: false cache: false
go-version: 1.21.x go-version: 1.22.x
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Build zot - name: Build zot

View file

@ -55,12 +55,11 @@ BENCH_OUTPUT ?= stdout
ALL_EXTENSIONS = debug,imagetrust,lint,metrics,mgmt,profile,scrub,search,sync,ui,userprefs ALL_EXTENSIONS = debug,imagetrust,lint,metrics,mgmt,profile,scrub,search,sync,ui,userprefs
EXTENSIONS ?= sync,search,scrub,metrics,lint,ui,mgmt,profile,userprefs,imagetrust EXTENSIONS ?= sync,search,scrub,metrics,lint,ui,mgmt,profile,userprefs,imagetrust
UI_DEPENDENCIES := search,mgmt,userprefs UI_DEPENDENCIES := search,mgmt,userprefs
# freebsd/arm64 not supported for pie builds # freebsd is not supported for pie builds if CGO is disabled
# see supported platforms at https://cs.opensource.google/go/go/+/master:src/internal/platform/supported.go;l=222-231;drc=d7fcb5cf80953f1d63246f1ae9defa60c5ce2d76
BUILDMODE_FLAGS := -buildmode=pie BUILDMODE_FLAGS := -buildmode=pie
ifeq ($(OS),freebsd) ifeq ($(OS),freebsd)
ifeq ($(ARCH),arm64) BUILDMODE_FLAGS=
BUILDMODE_FLAGS=
endif
endif endif
comma:= , comma:= ,
space := $(null) # space := $(null) #

View file

@ -1,7 +1,7 @@
# --- # ---
# Stage 1: Install certs, build binary, create default config file # Stage 1: Install certs, build binary, create default config file
# --- # ---
FROM --platform=$BUILDPLATFORM ghcr.io/project-zot/golang:1.21 AS builder FROM --platform=$BUILDPLATFORM ghcr.io/project-zot/golang:1.22 AS builder
ARG TARGETOS ARG TARGETOS
ARG TARGETARCH ARG TARGETARCH

View file

@ -1,7 +1,7 @@
# --- # ---
# Stage 1: Install certs, build binary, create default config file # Stage 1: Install certs, build binary, create default config file
# --- # ---
FROM --platform=$BUILDPLATFORM ghcr.io/project-zot/golang:1.21 AS builder FROM --platform=$BUILDPLATFORM ghcr.io/project-zot/golang:1.22 AS builder
ARG TARGETOS ARG TARGETOS
ARG TARGETARCH ARG TARGETARCH

View file

@ -1,7 +1,7 @@
# --- # ---
# Stage 1: Install certs, build binary, create default config file # Stage 1: Install certs, build binary, create default config file
# --- # ---
FROM --platform=$BUILDPLATFORM ghcr.io/project-zot/golang:1.21 AS builder FROM --platform=$BUILDPLATFORM ghcr.io/project-zot/golang:1.22 AS builder
ARG TARGETOS ARG TARGETOS
ARG TARGETARCH ARG TARGETARCH

View file

@ -1,7 +1,7 @@
# --- # ---
# Stage 1: Install certs, build binary, create default config file # Stage 1: Install certs, build binary, create default config file
# --- # ---
FROM --platform=$BUILDPLATFORM ghcr.io/project-zot/golang:1.21 AS builder FROM --platform=$BUILDPLATFORM ghcr.io/project-zot/golang:1.22 AS builder
ARG TARGETOS ARG TARGETOS
ARG TARGETARCH ARG TARGETARCH

View file

@ -1,7 +1,7 @@
# --- # ---
# Stage 1: Build binary, create default config file # Stage 1: Build binary, create default config file
# --- # ---
FROM --platform=$BUILDPLATFORM ghcr.io/project-zot/golang:1.21 AS builder FROM --platform=$BUILDPLATFORM ghcr.io/project-zot/golang:1.22 AS builder
ARG TARGETOS ARG TARGETOS
ARG TARGETARCH ARG TARGETARCH

View file

@ -1,7 +1,7 @@
build: build:
from: from:
type: docker type: docker
url: docker://ghcr.io/project-zot/golang:1.21 url: docker://ghcr.io/project-zot/golang:1.22
binds: binds:
- ../. -> /zotcopy - ../. -> /zotcopy
run: | run: |

View file

@ -1,7 +1,7 @@
build: build:
from: from:
type: docker type: docker
url: docker://ghcr.io/project-zot/golang:1.21 url: docker://ghcr.io/project-zot/golang:1.22
binds: binds:
- ../. -> /zotcopy - ../. -> /zotcopy
run: | run: |

View file

@ -1,7 +1,7 @@
build: build:
from: from:
type: docker type: docker
url: docker://ghcr.io/project-zot/golang:1.21 url: docker://ghcr.io/project-zot/golang:1.22
binds: binds:
- ../. -> /zotcopy - ../. -> /zotcopy
run: | run: |

View file

@ -1,7 +1,7 @@
build: build:
from: from:
type: docker type: docker
url: docker://ghcr.io/project-zot/golang:1.21 url: docker://ghcr.io/project-zot/golang:1.22
binds: binds:
- ../. -> /zotcopy - ../. -> /zotcopy
run: | run: |

View file

@ -1,7 +1,7 @@
build: build:
from: from:
type: docker type: docker
url: docker://ghcr.io/project-zot/golang:1.21 url: docker://ghcr.io/project-zot/golang:1.22
binds: binds:
- ../. -> /zotcopy - ../. -> /zotcopy
run: | run: |

2
go.mod
View file

@ -2,7 +2,7 @@ module zotregistry.dev/zot
go 1.21 go 1.21
toolchain go1.21.4 toolchain go1.22.1
require ( require (
github.com/99designs/gqlgen v0.17.45 github.com/99designs/gqlgen v0.17.45