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

CI: Add FreeBSD 14.2 RELEASE+STABLE builds #16869

Merged
merged 1 commit into from
Dec 17, 2024

Conversation

behlendorf
Copy link
Contributor

Motivation and Context

FreeBSD 14.2 has been released. Issue #16865.

Description

Update the CI to include FreeBSD 14.2 as a regularly tested platform.

@mcmilk thanks for prompty pulling the FreeBSD 14.2 images in to your repo.

How Has This Been Tested?

This is a draft for now until the CI verifies everything runs properly.

Checklist:

@behlendorf behlendorf added the Status: Code Review Needed Ready for review and testing label Dec 13, 2024
@github-actions github-actions bot added the Status: Work in Progress Not yet ready for general review label Dec 13, 2024
@mcmilk
Copy link
Contributor

mcmilk commented Dec 14, 2024

I added some more changes: behlendorf/zfs@ci-freebsd-14.2...mcmilk:zfs:ci-freebsd-14.2
This should run fine.

The RELEASE builds should be checked in CI, cause STABLE and CURRENT builds are changing weekly add mark sth. like pre-release to the next RELEASE.

So e.g. the 13.5 release will come in march 2025 and the base is 13.4-STABLE: https://www.freebsd.org/releases/13.5R/schedule/

@amotin
Copy link
Member

amotin commented Dec 15, 2024

@mcmilk FreeBSD Current and Stable are the names known for decades, why did you invent some Devel in the comments?

The RELEASE builds should be checked in CI, cause STABLE and CURRENT builds are changing weekly add mark sth. like pre-release to the next RELEASE.

Right. But why did you remove them from CI? We want to know that ZFS is working on present Stable and Current branches to reduce surprises during the integration process, even if CI breakages there might be caused by FreeBSD changes, not ZFS.

@mcmilk
Copy link
Contributor

mcmilk commented Dec 15, 2024

@mcmilk FreeBSD Current and Stable are the names known for decades, why did you invent some Devel in the comments?

I will revert this. It was a hint, that these are not on by default and should be uncommented separately.

The RELEASE builds should be checked in CI, cause STABLE and CURRENT builds are changing weekly add mark sth. like pre-release to the next RELEASE.

Right. But why did you remove them from CI? We want to know that ZFS is working on present Stable and Current branches to reduce surprises during the integration process, even if CI breakages there might be caused by FreeBSD changes, not ZFS.

I didn't remove the STABLE and CURRENT release, but I enabled only the 4 production lines.
They change only every 3 months - so maintenance should be easier.

What about intruducing ZFS-CI-Type: freebsd - which then enables all FreeBSD releases?

@amotin Do you know, if FreeBSD will release some cloud-init enabled image in future?

@amotin
Copy link
Member

amotin commented Dec 15, 2024

I didn't remove the STABLE and CURRENT release, but I enabled only the 4 production lines. They change only every 3 months - so maintenance should be easier.

What changes "only every 3 months"? STABLE and CURRENT branches are changing daily. I am not sure how often new images are published, but I think weekly. And merges of ZFS into CURRENT are done every several weeks, so would be good to know about breakages in advance, not when it is time to update.

Do you know, if FreeBSD will release some cloud-init enabled image in future?

No, I don't know. Google says there is some development, but I never used it myself, so haven't tracked.

@mcmilk
Copy link
Contributor

mcmilk commented Dec 15, 2024

I didn't remove the STABLE and CURRENT release, but I enabled only the 4 production lines. They change only every 3 months - so maintenance should be easier.

What changes "only every 3 months"? STABLE and CURRENT branches are changing daily. I am not sure how often new images are published, but I think weekly. And merges of ZFS into CURRENT are done every several weeks, so would be good to know about breakages in advance, not when it is time to update.

Yes, for STABLE and CURRENT they change weekly on around friday.
I am really no FreeBSD user, I just implemented the automatic testing for OpenZFS. I asked Alan what versions of FreeBSD should be tested, but he didn't answer this in detail.

So I am fine with whatever version here, really ;-)

I used the RELEASE version, because they are known to work and are used in production systems, which we don't want to break. So testing on these systems seemed essential to me.

What version should be used?

Edit: we have these:

  • 13.3-RELEASE (2024-Mar-02)
  • 13.4-RELEASE (2024-Sep-13)
  • 14.1-RELEASE (2024-Jun-01)
  • 14.2-RELEASE (2024-Nov-29)
  • 13.4-STABLE (2024-Dec-13, changes a lot, but will be updated via pkg update + reboot)
  • 14.2-STABLE (2024-Dec-13, changes a lot, but will be updated via pkg update + reboot)
  • 15.0-CURRENT (2024-Dec-13, changes a lot, but will be updated via pkg update + reboot)

Maybe this list: 13.3-RELEASE + 13.4-STABLE + 14.1-RELEASE + 14.2-STABLE ?
This should be the oldest production release + newest "next production" line.

@amotin
Copy link
Member

amotin commented Dec 16, 2024

@mcmilk I do like the idea of oldest release plus newest stable for each branch. But personally I'd also like to see 15.0-CURRENT there. Sure it is in a bigger flux, but that is where we would catch any breakages as soon as they happen. As developer I am running CURRENT on all of my systems for many years, so it is not that bad usually.

@mcmilk
Copy link
Contributor

mcmilk commented Dec 16, 2024

@mcmilk I do like the idea of oldest release plus newest stable for each branch. But personally I'd also like to see 15.0-CURRENT there. Sure it is in a bigger flux, but that is where we would catch any breakages as soon as they happen. As developer I am running CURRENT on all of my systems for many years, so it is not that bad usually.

That would be 5 FreeBSD tests in sum.
Lets see what @tonyhutter and @behlendorf say about this.

Update the CI to include FreeBSD 14.2 as a regularly tested platform.

Signed-off-by: Brian Behlendorf <[email protected]>
@behlendorf
Copy link
Contributor Author

That would be 5 FreeBSD tests in sum.

The more we can catch earlier in the CI the better, I'm okay with enabling the new FreeBSD builders and we'll see how it goes.

From the list above, I've updated the PR to include:

  • 13.3-RELEASE (2024-Mar-02)
  • 13.4-STABLE (2024-Dec-13, changes a lot, but will be updated via pkg update + reboot)
  • 14.1-RELEASE (2024-Jun-01)
  • 14.2-STABLE (2024-Dec-13, changes a lot, but will be updated via pkg update + reboot)
  • 15.0-CURRENT (2024-Dec-13, changes a lot, but will be updated via pkg update + reboot)

@mcmilk I like the idea of having ZFS-CI-Type: freebsd and ZFS-CI-Type: linux as targets but I didn't include those changes in this PR. Feel free to open a new PR for that if you like.

@behlendorf behlendorf marked this pull request as ready for review December 16, 2024 20:57
@behlendorf behlendorf requested a review from amotin December 16, 2024 20:58
@github-actions github-actions bot removed the Status: Work in Progress Not yet ready for general review label Dec 16, 2024
Copy link
Member

@amotin amotin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

I am just not sure what updated via pkg update + reboot means. pkg update just fetches new package database, not even updating anything. pkg upgrade would upgrade installed packages, but for the CI case it would make sense only if package base is used, which honestly I never used myself, so don't know its state and can't say much about.

@amotin
Copy link
Member

amotin commented Dec 17, 2024

@mcmilk According to this committed just now FreeBSD should publish some cloudinit images: https://cgit.freebsd.org/src/commit/?id=2f57e37c43bab5a964d4685f00021fba989e63ee .

@behlendorf behlendorf added Status: Accepted Ready to integrate (reviewed, tested) and removed Status: Code Review Needed Ready for review and testing labels Dec 17, 2024
@behlendorf behlendorf merged commit 830a531 into openzfs:master Dec 17, 2024
21 of 22 checks passed
@mcmilk
Copy link
Contributor

mcmilk commented Dec 17, 2024

@mcmilk According to this committed just now FreeBSD should publish some cloudinit images: https://cgit.freebsd.org/src/commit/?id=2f57e37c43bab5a964d4685f00021fba989e63ee .

I will try these images. But the FreeBSD 13.x versions seem to be without cloud-init.

@behlendorf
Copy link
Contributor Author

Well unfortunately it seems the freebsd13-4s builder is reliably failing trying to update itself. Anybody know what might be going wrong there?

https://github.com/openzfs/zfs/actions/runs/12392089770/job/34625872687?pr=16883

 FreeBSD freebsd13-4s 13.4-STABLE FreeBSD 13.4-STABLE stable/13-n258851-a8e22567d3fa GENERIC amd64
Install Development Tools
  Updating FreeBSD repository catalogue...
  pkg: An error occured while fetching package
  pkg: An error occured while fetching package
  repository FreeBSD has no meta file, using default settings
  pkg: An error occured while fetching package
  pkg: An error occured while fetching package
  pkg: An error occured while fetching package
  Unable to update repository FreeBSD
  pkg: An error occured while fetching package
  Error updating repositories!

@mcmilk
Copy link
Contributor

mcmilk commented Dec 19, 2024

Well unfortunately it seems the freebsd13-4s builder is reliably failing trying to update itself. Anybody know what might be going wrong there?

https://github.com/openzfs/zfs/actions/runs/12392089770/job/34625872687?pr=16883

 FreeBSD freebsd13-4s 13.4-STABLE FreeBSD 13.4-STABLE stable/13-n258851-a8e22567d3fa GENERIC amd64
Install Development Tools
  Updating FreeBSD repository catalogue...
  pkg: An error occured while fetching package
  pkg: An error occured while fetching package
  repository FreeBSD has no meta file, using default settings
  pkg: An error occured while fetching package
  pkg: An error occured while fetching package
  pkg: An error occured while fetching package
  Unable to update repository FreeBSD
  pkg: An error occured while fetching package
  Error updating repositories!

I will investigate in this.

Edit: DONE: https://github.com/mcmilk/zfs/actions/runs/12408213008/job/34639501752

mcmilk added a commit to mcmilk/zfs that referenced this pull request Dec 19, 2024
In openzfs#16869 we added FreeBSD 13.4 STABLE, but forget the special
thing, that the virtio nic within FreeBSD 13.x is buggy.

This fix adds the needed rtl8139 nic to the VM.

Signed-off-by: Tino Reichardt <[email protected]>
@mcmilk mcmilk mentioned this pull request Dec 19, 2024
13 tasks
amotin pushed a commit that referenced this pull request Dec 19, 2024
In #16869 we added FreeBSD 13.4 STABLE, but forget the special
thing, that the virtio nic within FreeBSD 13.x is buggy.

This fix adds the needed rtl8139 nic to the VM.

Reviewed-by: George Melikov <[email protected]>
Reviewed-by:  Alexander Motin <[email protected]>
Signed-off-by: Tino Reichardt <[email protected]>
Closes #16885
behlendorf added a commit to behlendorf/zfs that referenced this pull request Dec 29, 2024
Update the CI to include FreeBSD 14.2 as a regularly tested platform.

Reviewed-by: Tino Reichardt <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#16869
behlendorf pushed a commit to behlendorf/zfs that referenced this pull request Dec 29, 2024
In openzfs#16869 we added FreeBSD 13.4 STABLE, but forget the special
thing, that the virtio nic within FreeBSD 13.x is buggy.

This fix adds the needed rtl8139 nic to the VM.

Reviewed-by: George Melikov <[email protected]>
Reviewed-by:  Alexander Motin <[email protected]>
Signed-off-by: Tino Reichardt <[email protected]>
Closes openzfs#16885
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Accepted Ready to integrate (reviewed, tested)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants