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

Decide on golang version strategy #15

Closed
jodh-intel opened this issue Feb 21, 2018 · 4 comments
Closed

Decide on golang version strategy #15

jodh-intel opened this issue Feb 21, 2018 · 4 comments
Labels
stale Issue or PR was not updated in a timely fashion

Comments

@jodh-intel
Copy link
Contributor

jodh-intel commented Feb 21, 2018

Minimum supported version of golang

Currently, https://github.com/kata-containers/documentation/wiki/Developer-Guide#assumptions states we support "golang version 1.8.3 or newer.".

Range of golang versions supported

We need to decide on a strategy for determining which versions of golang we support:

$ cd $GOPATH/src/github.com/kata-containers
$ cat */.travis.yml|grep -A 4 "go:"|sed 's/^ *//g'|egrep -- "- (1.[0-9]|tip)"|sort -u 
- 1.8
- 1.9
- tip

Consistency

What isn't clear from the uniq(1)'d list above is that different components are testing with a different range of golang versions.

Introduce Process

We should be fine to retain go1.8.3 as our minimum version, but we do need a process to decide:

  • how we decide the range of go versions we support.
  • how we move to a new version for CI/PnP.
  • how we remove old versions.

Something similar to:

How do we handle the "bleeding edge"?

There is also the issue of whether we test with golang "tip" or not, and if we do, whether that should block a PR (probably not):

Travis-specifics

The problem becomes easier to manage once we move away from Travis (see kata-containers/ci#4) as we can centralise the logic rather than having 'n' different .travis.yml files to manage...

Where to store range of golang versions

Note that ideally we would specify a list of supported golang versions in a file like a versions.txt database (see kata-containers/runtime#11).

That way, we can have a central list that everything else that needs to know this version range can consume, namely:

Consumers of golang versions list

@sameo
Copy link
Contributor

sameo commented Feb 23, 2018

Can we simply say we support tip, and the 2 last released golang versions?
cc @markdryan

@rbradford
Copy link
Contributor

FYI, you'll need to refer to 1.10 and later as "1.10" in the yaml file otherwise you'll get 1.1

@markdryan
Copy link

Can we simply say we support tip, and the 2 last released golang versions?

Sounds reasonable to me and it's pretty much what I do with the other projects. As the go releases stick to a strict schedule, two releases a year, one in Feb and one in August, the date on which kata-containers would drop support for an older go release would always be predictable; i.e., 1.10 would be supported until Feb 2019.

There's one other thing to be aware of with Go 1.10. There have been some changes to gofmt. If you have three index slices anywhere in your code and you check the formatting of go code in your travis file, you may find it tricky to get the builds to pass on both 1.9 and 1.10. See https://golang.org/doc/go1.10#gofmt

@jodh-intel
Copy link
Contributor Author

I think we might be able to close this issue now that we have:

... which lists the current version of go, plus the newest version we can work with. What do we think?

@egernst egernst added the stale Issue or PR was not updated in a timely fashion label Jul 17, 2019
@egernst egernst closed this as completed Jul 17, 2019
chavafg pushed a commit to chavafg/kata-containers that referenced this issue Apr 23, 2020
vendor: update agent dependency
bergwolf pushed a commit that referenced this issue May 6, 2020
rootfs: Add rootfs based on EulerOS 2
bergwolf pushed a commit that referenced this issue Jun 24, 2020
This commit adds the necessary spec files and scripts in order to be able to create
packages in OBS (Open Build System) and locally.

Fixes #15

Signed-off-by: Erick Cardona <erick.cardona.ruiz@intel.com>
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
bergwolf added a commit that referenced this issue Jun 24, 2020
Reverts #269

The added kernel patch doesn't apply and is causing all CI to fail. FYI, the current guest kernel version is 4.14.67. Please rebase and re-submit your PR cleanly @Pennyzct.

e.g., http://jenkins.katacontainers.io/job/kata-containers-runtime-centos-7-4-PR/995/console

NFO: Applying patch /tmp/jenkins/workspace/kata-containers-runtime-centos-7-4-PR/go/src/github.com/kata-containers/packaging/kernel/patches/0003-backport-Arm64-KVM-Dynamic-IPA-and-52bit-IPA-support.patch
patching file arch/arm/include/asm/kvm_arm.h
patching file arch/arm/include/asm/kvm_host.h
Hunk #1 succeeded at 266 (offset -7 lines).
Hunk #2 succeeded at 314 with fuzz 2 (offset -40 lines).
patching file arch/arm/include/asm/kvm_mmu.h
Hunk #1 FAILED at 35.
Hunk #2 succeeded at 47 with fuzz 2 (offset -5 lines).
Hunk #3 succeeded at 266 with fuzz 2 (offset -96 lines).
1 out of 3 hunks FAILED -- saving rejects to file arch/arm/include/asm/kvm_mmu.h.rej
patching file arch/arm/include/asm/stage2_pgtable.h
patching file arch/arm64/include/asm/cpufeature.h
Hunk #1 FAILED at 262.
Hunk #2 succeeded at 284 (offset -246 lines).
1 out of 2 hunks FAILED -- saving rejects to file arch/arm64/include/asm/cpufeature.h.rej
patching file arch/arm64/include/asm/kvm_arm.h
Hunk #1 succeeded at 102 (offset -5 lines).
Hunk #2 succeeded at 116 (offset -5 lines).
Hunk #3 succeeded at 305 (offset -7 lines).
patching file arch/arm64/include/asm/kvm_asm.h
Hunk #1 succeeded at 27 (offset -3 lines).
Hunk #2 FAILED at 73.
1 out of 2 hunks FAILED -- saving rejects to file arch/arm64/include/asm/kvm_asm.h.rej
patching file arch/arm64/include/asm/kvm_host.h
Hunk #1 succeeded at 48 (offset -5 lines).
Hunk #2 FAILED at 61.
Hunk #3 succeeded at 399 with fuzz 2 (offset -41 lines).
Hunk #4 FAILED at 503.
2 out of 4 hunks FAILED -- saving rejects to file arch/arm64/include/asm/kvm_host.h.rej
patching file arch/arm64/include/asm/kvm_hyp.h
patching file arch/arm64/include/asm/kvm_mmu.h
Hunk #1 succeeded at 154 (offset 13 lines).
Hunk #2 succeeded at 229 with fuzz 1 (offset -17 lines).
Hunk #3 succeeded at 409 with fuzz 2 (offset -110 lines).
patching file arch/arm64/include/asm/stage2_pgtable-nopmd.h
patching file arch/arm64/include/asm/stage2_pgtable-nopud.h
patching file arch/arm64/include/asm/stage2_pgtable.h
patching file arch/arm64/kvm/guest.c
Hunk #1 succeeded at 305 (offset -86 lines).
patching file arch/arm64/kvm/hyp-init.S
Hunk #1 FAILED at 65.
1 out of 1 hunk FAILED -- saving rejects to file arch/arm64/kvm/hyp-init.S.rej
patching file arch/arm64/kvm/hyp/Makefile
Hunk #1 succeeded at 18 (offset -1 lines).
patching file arch/arm64/kvm/hyp/s2-setup.c
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file arch/arm64/kvm/hyp/s2-setup.c.rej
patching file arch/arm64/kvm/hyp/switch.c
Hunk #1 FAILED at 198.
Hunk #2 succeeded at 226 (offset -37 lines).
1 out of 2 hunks FAILED -- saving rejects to file arch/arm64/kvm/hyp/switch.c.rej
patching file arch/arm64/kvm/hyp/tlb.c
Hunk #1 succeeded at 29 (offset -1 lines).
Hunk #2 succeeded at 38 (offset -1 lines).
patching file arch/arm64/kvm/reset.c
Hunk #4 FAILED at 86.
Hunk #5 succeeded at 133 (offset -4 lines).
1 out of 5 hunks FAILED -- saving rejects to file arch/arm64/kvm/reset.c.rej
patching file include/linux/irqchip/arm-gic-v3.h
Hunk #1 succeeded at 374 (offset -14 lines).
patching file include/uapi/linux/kvm.h
Hunk #1 succeeded at 739 (offset -11 lines).
Hunk #2 FAILED at 962.
1 out of 2 hunks FAILED -- saving rejects to file include/uapi/linux/kvm.h.rej
patching file virt/kvm/arm/arm.c
Hunk #1 succeeded at 115 (offset -5 lines).
Hunk #2 succeeded at 207 (offset -6 lines).
Hunk #3 succeeded at 236 (offset -6 lines).
Hunk #4 succeeded at 463 (offset -35 lines).
Hunk #5 FAILED at 546.
Hunk #6 succeeded at 1164 with fuzz 2 (offset -145 lines).
Hunk #7 succeeded at 1261 (offset -147 lines).
1 out of 7 hunks FAILED -- saving rejects to file virt/kvm/arm/arm.c.rej
patching file virt/kvm/arm/mmu.c
Hunk #1 succeeded at 43 with fuzz 2 (offset -2 lines).
Hunk #2 succeeded at 147 (offset -2 lines).
Hunk #3 succeeded at 216 (offset -35 lines).
Hunk #4 succeeded at 226 (offset -35 lines).
Hunk #5 succeeded at 245 (offset -35 lines).
Hunk #6 succeeded at 255 (offset -35 lines).
Hunk #7 succeeded at 272 (offset -35 lines).
Hunk #8 succeeded at 371 with fuzz 2 (offset 40 lines).
Hunk #9 FAILED at 340.
Hunk #10 FAILED at 370.
Hunk #11 FAILED at 388.
Hunk #12 FAILED at 408.
Hunk #13 succeeded at 753 (offset -143 lines).
Hunk #14 succeeded at 842 (offset -143 lines).
Hunk #15 succeeded at 850 (offset -143 lines).
Hunk #16 succeeded at 859 (offset -143 lines).
Hunk #17 succeeded at 881 (offset -143 lines).
Hunk #18 succeeded at 1024 (offset -182 lines).
Hunk #19 succeeded at 1114 (offset -188 lines).
Hunk #20 succeeded at 1148 (offset -188 lines).
Hunk #21 succeeded at 1176 (offset -188 lines).
Hunk #22 succeeded at 1190 (offset -188 lines).
Hunk #23 succeeded at 1333 (offset -196 lines).
Hunk #24 succeeded at 1552 (offset -220 lines).
Hunk #25 succeeded at 1852 (offset -219 lines).
4 out of 25 hunks FAILED -- saving rejects to file virt/kvm/arm/mmu.c.rej
patching file virt/kvm/arm/vgic/vgic-its.c
Hunk #1 succeeded at 233 (offset -8 lines).
Hunk #2 succeeded at 696 (offset -56 lines).
Hunk #3 succeeded at 721 (offset -56 lines).
Hunk #4 succeeded at 736 (offset -56 lines).
Hunk #5 succeeded at 746 (offset -56 lines).
Hunk #6 succeeded at 1214 (offset -80 lines).
Hunk #7 succeeded at 1232 (offset -80 lines).
Hunk #8 succeeded at 1279 (offset -80 lines).
Hunk #9 succeeded at 2135 (offset -82 lines).
Hunk #10 succeeded at 2207 (offset -82 lines).
Hunk #11 succeeded at 2256 (offset -82 lines).
patching file virt/kvm/arm/vgic/vgic-mmio-v3.c
Hunk #1 succeeded at 326 (offset -38 lines).
Hunk #2 succeeded at 343 (offset -38 lines).
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for :.* : True
Logical operation result is TRUE
Running script : #!/bin/bash

Fixes: #296
Signed-off-by: Peng Tao <bergwolf@gmail.com>
dgibson pushed a commit to dgibson/kata-containers that referenced this issue Aug 5, 2021
qemu: Add qemu parameter for PCI address for a bridge.
fengwang666 added a commit to fengwang666/kata-containers that referenced this issue Oct 5, 2022
…ix-github-actions

dbfork: Remove unnecessary github actions
Bevisy added a commit to Bevisy/kata-containers that referenced this issue Apr 16, 2024
ecr-deploy: support install qemu-kvm rpms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Issue or PR was not updated in a timely fashion
Projects
None yet
Development

No branches or pull requests

5 participants