Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Snapshot builds failing due to the lack of go 1.20 #3739

Closed
rafaeldtinoco opened this issue Dec 6, 2023 · 1 comment · Fixed by #3740
Closed

Snapshot builds failing due to the lack of go 1.20 #3739

rafaeldtinoco opened this issue Dec 6, 2023 · 1 comment · Fixed by #3740
Labels
Milestone

Comments

@rafaeldtinoco
Copy link
Contributor

rafaeldtinoco commented Dec 6, 2023

Description

Tracee is now requiring Go 1.20 because of dependencies ?

image

https://github.com/aquasecurity/tracee/actions/runs/7096403839/job/19314871848

Snapshot releases are failing. That happens because tracee-operator binary uses a package that needs Go 1.20 (now ?) and we're not building tracee-operator in the current pr.yaml workflow (so we did not catch that before).

Reproduce

$ make -f builder/Makefile.tracee-make alpine-make ARG="tracee-operator"
docker \
        run --rm --pid=host --cgroupns=host --network=host --privileged -v /etc/os-release:/etc/os-release-host:ro -v /boot/config-6.5.9-arch2-1:/boot/config-6.5.9-arch2-1:ro -v /home/rafaeldtinoco/work/projects/tracee:/tracee -v /sys/kernel/security:/sys/kernel/security:ro -e LIBBPFGO_OSRELEASE_FILE=/etc/os-release-host  -v /tmp/tracee:/tmp/tracee:rw \
        alpine-tracee-make \
        make tracee-operator
go build \
        -v -o dist/tracee-operator \
        ./cmd/tracee-operator
go: downloading k8s.io/apimachinery v0.28.3
go: downloading sigs.k8s.io/controller-runtime v0.16.3
go: downloading k8s.io/client-go v0.28.3
go: downloading k8s.io/api v0.28.3
go: downloading github.com/go-logr/logr v1.2.4
go: downloading github.com/go-logr/zapr v1.2.4
go: downloading go.uber.org/zap v1.25.0
go: downloading github.com/prometheus/client_golang v1.16.0
...
k8s.io/client-go/kubernetes/typed/storage/v1
k8s.io/client-go/kubernetes/typed/resource/v1alpha2
sigs.k8s.io/controller-runtime/pkg/controller/controllerutil
sigs.k8s.io/controller-runtime/pkg/cache
k8s.io/client-go/kubernetes/typed/storage/v1beta1
# sigs.k8s.io/controller-runtime/pkg/cache
/home/tracee/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.3/pkg/cache/cache.go:412:58: fields.Selector does not implement comparable
/home/tracee/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.3/pkg/cache/cache.go:442:20: fields.Selector does not implement comparable
note: module requires Go 1.20
@rafaeldtinoco rafaeldtinoco added this to the v0.20.0 milestone Dec 6, 2023
@rafaeldtinoco
Copy link
Contributor Author

Currently our testers rely in AMIs that do not have Go 1.20 installed. I guess it's okay, for now, as long as they don't need to test the tracee-operator binary (or build it at least).

So, I think that we can bump go to 1.21 in the container Dockerfiles that generate tracee binary with no side effect (and probably update both golang and clang versions in the next release).

rafaeldtinoco added a commit that referenced this issue Dec 6, 2023
- ubuntu tracee-make uses go1.21 (since its already available)

Fixes: #3739
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant