Merge pull request #920 from fluxcd/build-go1.19

Build with Go 1.19
This commit is contained in:
Stefan Prodan 2022-09-28 15:54:48 +03:00 committed by GitHub
commit ac80849d29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 122 additions and 142 deletions

View File

@ -20,7 +20,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.18.x go-version: 1.19.x
- id: go-env - id: go-env
run: | run: |
echo "::set-output name=go-mod-cache::$(go env GOMODCACHE)" echo "::set-output name=go-mod-cache::$(go env GOMODCACHE)"

View File

@ -23,7 +23,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.18.x go-version: 1.19.x
- name: Restore Go cache - name: Restore Go cache
uses: actions/cache@v3 uses: actions/cache@v3
with: with:
@ -60,7 +60,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.18.x go-version: 1.19.x
- name: Enable integration tests - name: Enable integration tests
# Only run integration tests for main branch # Only run integration tests for main branch
if: github.ref == 'refs/heads/main' if: github.ref == 'refs/heads/main'

View File

@ -34,7 +34,7 @@ jobs:
- name: Set up Go - name: Set up Go
uses: actions/setup-go@v2 uses: actions/setup-go@v2
with: with:
go-version: 1.18 go-version: 1.19.x
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v2 uses: github/codeql-action/init@v2
with: with:

View File

@ -24,7 +24,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.18.x go-version: 1.19.x
- name: Restore Go cache - name: Restore Go cache
uses: actions/cache@v3 uses: actions/cache@v3
with: with:
@ -48,7 +48,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.18.x go-version: 1.19.x
- name: Run tests - name: Run tests
env: env:
TEST_AZURE_ACCOUNT_NAME: ${{ secrets.TEST_AZURE_ACCOUNT_NAME }} TEST_AZURE_ACCOUNT_NAME: ${{ secrets.TEST_AZURE_ACCOUNT_NAME }}
@ -77,7 +77,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.18.x go-version: 1.19.x
- name: Restore Go cache - name: Restore Go cache
uses: actions/cache@v3 uses: actions/cache@v3
with: with:

View File

@ -24,7 +24,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.18.x go-version: 1.19.x
- name: Restore Go cache - name: Restore Go cache
uses: actions/cache@v3 uses: actions/cache@v3
with: with:

View File

@ -1,5 +1,5 @@
ARG BASE_VARIANT=alpine ARG BASE_VARIANT=alpine
ARG GO_VERSION=1.18 ARG GO_VERSION=1.19
ARG XX_VERSION=1.1.2 ARG XX_VERSION=1.1.2
ARG LIBGIT2_IMG=ghcr.io/fluxcd/golang-with-libgit2-only ARG LIBGIT2_IMG=ghcr.io/fluxcd/golang-with-libgit2-only

View File

@ -125,8 +125,8 @@ api-docs: gen-crd-api-reference-docs ## Generate API reference documentation
$(GEN_CRD_API_REFERENCE_DOCS) -api-dir=./api/v1beta2 -config=./hack/api-docs/config.json -template-dir=./hack/api-docs/template -out-file=./docs/api/source.md $(GEN_CRD_API_REFERENCE_DOCS) -api-dir=./api/v1beta2 -config=./hack/api-docs/config.json -template-dir=./hack/api-docs/template -out-file=./docs/api/source.md
tidy: ## Run go mod tidy tidy: ## Run go mod tidy
cd api; rm -f go.sum; go mod tidy -compat=1.18 cd api; rm -f go.sum; go mod tidy -compat=1.19
rm -f go.sum; go mod tidy -compat=1.18 rm -f go.sum; go mod tidy -compat=1.19
fmt: ## Run go fmt against code fmt: ## Run go fmt against code
go fmt ./... go fmt ./...
@ -155,7 +155,7 @@ docker-push: ## Push Docker image
CONTROLLER_GEN = $(GOBIN)/controller-gen CONTROLLER_GEN = $(GOBIN)/controller-gen
.PHONY: controller-gen .PHONY: controller-gen
controller-gen: ## Download controller-gen locally if necessary. controller-gen: ## Download controller-gen locally if necessary.
$(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.7.0) $(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.8.0)
# Find or download gen-crd-api-reference-docs # Find or download gen-crd-api-reference-docs
GEN_CRD_API_REFERENCE_DOCS = $(GOBIN)/gen-crd-api-reference-docs GEN_CRD_API_REFERENCE_DOCS = $(GOBIN)/gen-crd-api-reference-docs

View File

@ -1,10 +1,9 @@
--- ---
apiVersion: apiextensions.k8s.io/v1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.7.0 controller-gen.kubebuilder.io/version: v0.8.0
creationTimestamp: null creationTimestamp: null
name: buckets.source.toolkit.fluxcd.io name: buckets.source.toolkit.fluxcd.io
spec: spec:
@ -167,14 +166,12 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
\n \ttype FooStatus struct{ \t // Represents the observations \n type FooStatus struct{ // Represents the observations of a
of a foo's current state. \t // Known .status.conditions.type foo's current state. // Known .status.conditions.type are: \"Available\",
are: \"Available\", \"Progressing\", and \"Degraded\" \t // \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map // +listType=map // +listMapKey=type Conditions []metav1.Condition
\t // +listMapKey=type \t Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
\t}"
properties: properties:
lastTransitionTime: lastTransitionTime:
description: lastTransitionTime is the last time the condition description: lastTransitionTime is the last time the condition
@ -422,14 +419,12 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
\n \ttype FooStatus struct{ \t // Represents the observations \n type FooStatus struct{ // Represents the observations of a
of a foo's current state. \t // Known .status.conditions.type foo's current state. // Known .status.conditions.type are: \"Available\",
are: \"Available\", \"Progressing\", and \"Degraded\" \t // \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map // +listType=map // +listMapKey=type Conditions []metav1.Condition
\t // +listMapKey=type \t Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
\t}"
properties: properties:
lastTransitionTime: lastTransitionTime:
description: lastTransitionTime is the last time the condition description: lastTransitionTime is the last time the condition

View File

@ -1,10 +1,9 @@
--- ---
apiVersion: apiextensions.k8s.io/v1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.7.0 controller-gen.kubebuilder.io/version: v0.8.0
creationTimestamp: null creationTimestamp: null
name: gitrepositories.source.toolkit.fluxcd.io name: gitrepositories.source.toolkit.fluxcd.io
spec: spec:
@ -236,14 +235,12 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
\n \ttype FooStatus struct{ \t // Represents the observations \n type FooStatus struct{ // Represents the observations of a
of a foo's current state. \t // Known .status.conditions.type foo's current state. // Known .status.conditions.type are: \"Available\",
are: \"Available\", \"Progressing\", and \"Degraded\" \t // \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map // +listType=map // +listMapKey=type Conditions []metav1.Condition
\t // +listMapKey=type \t Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
\t}"
properties: properties:
lastTransitionTime: lastTransitionTime:
description: lastTransitionTime is the last time the condition description: lastTransitionTime is the last time the condition
@ -597,14 +594,12 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
\n \ttype FooStatus struct{ \t // Represents the observations \n type FooStatus struct{ // Represents the observations of a
of a foo's current state. \t // Known .status.conditions.type foo's current state. // Known .status.conditions.type are: \"Available\",
are: \"Available\", \"Progressing\", and \"Degraded\" \t // \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map // +listType=map // +listMapKey=type Conditions []metav1.Condition
\t // +listMapKey=type \t Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
\t}"
properties: properties:
lastTransitionTime: lastTransitionTime:
description: lastTransitionTime is the last time the condition description: lastTransitionTime is the last time the condition

View File

@ -1,10 +1,9 @@
--- ---
apiVersion: apiextensions.k8s.io/v1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.7.0 controller-gen.kubebuilder.io/version: v0.8.0
creationTimestamp: null creationTimestamp: null
name: helmcharts.source.toolkit.fluxcd.io name: helmcharts.source.toolkit.fluxcd.io
spec: spec:
@ -192,14 +191,12 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
\n \ttype FooStatus struct{ \t // Represents the observations \n type FooStatus struct{ // Represents the observations of a
of a foo's current state. \t // Known .status.conditions.type foo's current state. // Known .status.conditions.type are: \"Available\",
are: \"Available\", \"Progressing\", and \"Degraded\" \t // \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map // +listType=map // +listMapKey=type Conditions []metav1.Condition
\t // +listMapKey=type \t Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
\t}"
properties: properties:
lastTransitionTime: lastTransitionTime:
description: lastTransitionTime is the last time the condition description: lastTransitionTime is the last time the condition
@ -469,14 +466,12 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
\n \ttype FooStatus struct{ \t // Represents the observations \n type FooStatus struct{ // Represents the observations of a
of a foo's current state. \t // Known .status.conditions.type foo's current state. // Known .status.conditions.type are: \"Available\",
are: \"Available\", \"Progressing\", and \"Degraded\" \t // \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map // +listType=map // +listMapKey=type Conditions []metav1.Condition
\t // +listMapKey=type \t Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
\t}"
properties: properties:
lastTransitionTime: lastTransitionTime:
description: lastTransitionTime is the last time the condition description: lastTransitionTime is the last time the condition

View File

@ -1,10 +1,9 @@
--- ---
apiVersion: apiextensions.k8s.io/v1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.7.0 controller-gen.kubebuilder.io/version: v0.8.0
creationTimestamp: null creationTimestamp: null
name: helmrepositories.source.toolkit.fluxcd.io name: helmrepositories.source.toolkit.fluxcd.io
spec: spec:
@ -155,14 +154,12 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
\n \ttype FooStatus struct{ \t // Represents the observations \n type FooStatus struct{ // Represents the observations of a
of a foo's current state. \t // Known .status.conditions.type foo's current state. // Known .status.conditions.type are: \"Available\",
are: \"Available\", \"Progressing\", and \"Degraded\" \t // \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map // +listType=map // +listMapKey=type Conditions []metav1.Condition
\t // +listMapKey=type \t Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
\t}"
properties: properties:
lastTransitionTime: lastTransitionTime:
description: lastTransitionTime is the last time the condition description: lastTransitionTime is the last time the condition
@ -414,14 +411,12 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
\n \ttype FooStatus struct{ \t // Represents the observations \n type FooStatus struct{ // Represents the observations of a
of a foo's current state. \t // Known .status.conditions.type foo's current state. // Known .status.conditions.type are: \"Available\",
are: \"Available\", \"Progressing\", and \"Degraded\" \t // \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map // +listType=map // +listMapKey=type Conditions []metav1.Condition
\t // +listMapKey=type \t Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
\t}"
properties: properties:
lastTransitionTime: lastTransitionTime:
description: lastTransitionTime is the last time the condition description: lastTransitionTime is the last time the condition

View File

@ -1,10 +1,9 @@
--- ---
apiVersion: apiextensions.k8s.io/v1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.7.0 controller-gen.kubebuilder.io/version: v0.8.0
creationTimestamp: null creationTimestamp: null
name: ocirepositories.source.toolkit.fluxcd.io name: ocirepositories.source.toolkit.fluxcd.io
spec: spec:
@ -56,7 +55,7 @@ spec:
either or both of \n - a PEM-encoded client certificate (`certFile`) either or both of \n - a PEM-encoded client certificate (`certFile`)
and private key (`keyFile`); - a PEM-encoded CA certificate (`caFile`) and private key (`keyFile`); - a PEM-encoded CA certificate (`caFile`)
\n and whichever are supplied, will be used for connecting to the \n and whichever are supplied, will be used for connecting to the
\ registry. The client cert and key are useful if you are authenticating registry. The client cert and key are useful if you are authenticating
with a certificate; the CA cert is useful if you are using a self-signed with a certificate; the CA cert is useful if you are using a self-signed
server certificate." server certificate."
properties: properties:
@ -238,14 +237,12 @@ spec:
description: "Condition contains details for one aspect of the current description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example, use as an array at the field path .status.conditions. For example,
\n \ttype FooStatus struct{ \t // Represents the observations \n type FooStatus struct{ // Represents the observations of a
of a foo's current state. \t // Known .status.conditions.type foo's current state. // Known .status.conditions.type are: \"Available\",
are: \"Available\", \"Progressing\", and \"Degraded\" \t // \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map // +listType=map // +listMapKey=type Conditions []metav1.Condition
\t // +listMapKey=type \t Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
\t}"
properties: properties:
lastTransitionTime: lastTransitionTime:
description: lastTransitionTime is the last time the condition description: lastTransitionTime is the last time the condition

View File

@ -1,4 +1,3 @@
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole

View File

@ -40,6 +40,7 @@ type CacheRecorder struct {
// - "miss" // - "miss"
// - "hit" // - "hit"
// - "update" // - "update"
//
// The name is the name of the reconciled resource. // The name is the name of the reconciled resource.
// The namespace is the namespace of the reconciled resource. // The namespace is the namespace of the reconciled resource.
func NewCacheRecorder() *CacheRecorder { func NewCacheRecorder() *CacheRecorder {

View File

@ -53,6 +53,7 @@ func (e *BuildError) Error() string {
// Is returns true if the Reason or Err equals target. // Is returns true if the Reason or Err equals target.
// It can be used to programmatically place an arbitrary Err in the // It can be used to programmatically place an arbitrary Err in the
// context of the Builder: // context of the Builder:
//
// err := &BuildError{Reason: ErrChartPull, Err: errors.New("arbitrary transport error")} // err := &BuildError{Reason: ErrChartPull, Err: errors.New("arbitrary transport error")}
// errors.Is(err, ErrChartPull) // errors.Is(err, ErrChartPull)
func (e *BuildError) Is(target error) bool { func (e *BuildError) Is(target error) bool {

View File

@ -14,7 +14,8 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
/*Package ignore provides tools for writing ignore files (a la .gitignore). /*
Package ignore provides tools for writing ignore files (a la .gitignore).
This provides both an ignore parser and a file-aware processor. This provides both an ignore parser and a file-aware processor.

View File

@ -174,6 +174,7 @@ func ComputeReconcileResult(obj conditions.Setter, res Result, recErr error, rb
// LowestRequeuingResult returns the ReconcileResult with the lowest requeue // LowestRequeuingResult returns the ReconcileResult with the lowest requeue
// period. // period.
// Weightage: // Weightage:
//
// ResultRequeue - immediate requeue (lowest) // ResultRequeue - immediate requeue (lowest)
// ResultSuccess - requeue at an interval // ResultSuccess - requeue at an interval
// ResultEmpty - no requeue // ResultEmpty - no requeue