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

Prepare 13.2 #3625

Merged
merged 31 commits into from
Oct 15, 2024
Merged

Prepare 13.2 #3625

merged 31 commits into from
Oct 15, 2024

Conversation

sairon
Copy link
Member

@sairon sairon commented Oct 15, 2024

Summary by CodeRabbit

Release Notes

  • New Features

    • Enhanced artifact purging process with dynamic URL generation for improved cache management.
    • Updated Docker version in the Docker-in-Docker setup for better performance.
  • Bug Fixes

    • Improved time synchronization reliability by ensuring the service starts only after network connectivity is confirmed.
  • Documentation

    • Updated kernel version information across various configurations to reflect the latest version (6.6.54).
  • Tests

    • Added a new smoke test to check for failed systemd units.
  • Chores

    • Updated the minor version in the project metadata.

dependabot bot and others added 30 commits August 20, 2024 16:36
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.6.1 to 6.7.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v6.6.1...v6.7.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3549)

Since updating to Buildroot 2024.02, the iwlwifi loads a different version of
firmware for Intel AX cards (reported on AX210) which also needs the pnvm file.
However, unlike firmwares, the load method is different and the driver can't
load a compressed file. Disable compression for all .pnvm files to fix this.

* buildroot baa16784d2...55be56d521 (1):
  > package/linux-firmware: exclude some files from compression

Fixes #3477
* buildroot 55be56d521...01188d9c38 (1):
  > Merge tag '2024.02.5' into 2024.02.x-haos
Fix AX210 firmware files, this time for real. In #3549 we still had only
ucode and pnvm files for AX211, AX210 was still missing the pnvm file,
because its ucode was provided through IWLWIFI_22000 without appropriate
pnvm file. Both AX210 and AX211 firmwares are now installed with
IWLWIFI_6E which includes both pnvm and ucode files.

Also some firmwares which are not used by the current kernel can be
removed, because the kernel always only loads the most recent one.

* buildroot 01188d9c38...a2c10a16a0 (2):
  > Revert "package/linux-firmware: exclude some files from compression"
  > package/linux-firmware: fix AX210 support, stick to latest supported ucode API, reorganize the split

Fixes #3477
HP t520 have been reported to have the same issues as Atom boards with bad UEFI
firmware that doesn't work well with the new EFI loader used since GRUB 2.12.
Apply the patch to use legacy loader for its CPU ID as well.

Fixes #3557
)

If an attempt to access R2 artifacts is made before the files exist, the 404
reply gets cached and it's not possible to access the file after it's been
created without purging the cache, essentially doing a cache poisoning for
future build artifacts. To avoid it, list all files that have been created by
the build and call the purge cache API.

As there's a limit for number of files that can be purged in a single API call
[1], the GNU split utility is used to split intermediary list of files to
chunks of 30 URLs, which is then converted to a JSON array and passed to the
curl command.

[1] https://developers.cloudflare.com/api/operations/zone-purge#purge-cached-content-by-url
* Update Docker to v27.2.0

Update Docker and containerd to latest supported version.

* buildroot a2c10a16a0...c68e03d96b (3):
  > package/containerd: bump version to v1.7.21
  > package/docker-cli: bump version to v27.2.0
  > package/docker-engine: bump version to v27.2.0

* package/hassio: update DinD container to v27.2
Bump labgrid to latest release. None of the changes require adjustments in the
tests. Remove pytest from requirements.txt, it's not needed anymore, so let pip
to resolve the correct (latest) version from labgrid's dependencies. With these
new dependencies, previous DeprecationWarnings on Python 3.12 are gone now.
Test that systemctl reports no failed units at the end of the basic test.
If the system fails to boot, some kernel messages may not be shown before the
system fully boots. Enable the debug option for rescue shell options to have an
easy way to see those without modifying GRUB options. This will increase log
verbosity and turn on debug logging for Systemd as well [1].

[1] https://www.freedesktop.org/software/systemd/man/latest/systemd.html#debug
* Relocate HAOS Systemd drop-ins to /usr/lib/systemd

With some exceptions, Systemd drop-ins overriding default unit configuration
have been placed to `/etc/systemd/system`. This is meant for user overrides of
those, or per `man 5 systemd.unit` for "system unites created by the
administrator". Relocate all of these to `/usr/lib/systemd` which should be
used as path for units "installed by the distribution package manager" which is
closer to what we're trying to achieve.

This will make it easier to detect changes to unit files once we enable the
possibility to edit the content of /etc.

* Patch systemd-timesyncd.service instead of replacing it fully
* buildroot c68e03d96b...d59d09ad38 (2):
  > package/procps-ng: fix build with BR2_PACKAGE_SYSTEMD enable
  > Merge tag '2024.02.6' into 2024.02.x-haos
Guest agent doesn't start because if HyperV Enlightenments are enabled, the
virtualization gets detected incorrectly. Backport Systemd patch that fixes the
detection, allowing the guest-agent service to meet its dependencies.

This patch should be no longer needed after update of Systemd to v256, or in
case the patch gets eventually backported to the v254 stable branch.

Fixes #3565
Fix loading issues on this Intel-based platform as well. As described in the
patch commit message, there will be likely bigger collateral effect by
referring just to the CPU ID but it shouldn't have major detrimental effects.

[1] #3305 (comment)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit cf546d6)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
(cherry picked from commit 5d58a25)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit 998d0e3)
@sairon sairon merged commit 3f161bc into main Oct 15, 2024
2 of 3 checks passed
@sairon sairon deleted the prepare-13.2 branch October 15, 2024 11:46
Copy link

coderabbitai bot commented Oct 15, 2024

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

The pull request includes several modifications across multiple files, primarily focusing on enhancing workflows, updating kernel versions, and improving system configurations. Key changes involve a dynamic artifact purging process in the GitHub Actions workflow, updates to the Docker actions used in the build process, and a series of kernel version updates from 6.6.46 to 6.6.54 in various configuration files. Additionally, there are updates to systemd service configurations and the introduction of new test cases in the testing suite.

Changes

File Path Change Summary
.github/workflows/artifacts-index.yaml Enhanced artifact purging process; replaced hardcoded URLs with dynamic generation and chunked processing.
.github/workflows/build.yaml Updated Docker action versions and added conditional checks for publishing build artifacts.
.gitmodules Updated submodule branch from 2022.02.x-haos to 2024.02.x-haos.
Documentation/kernel.md Updated kernel version for multiple boards from 6.6.46 to 6.6.54.
README.md Added a badge indicating Home Assistant is a project from the Open Home Foundation.
buildroot Updated subproject commit reference.
buildroot-external/board/pc/grub.cfg Added debug parameter to rescue shell menu entries for Slot A and Slot B.
buildroot-external/configs/*.defconfig Updated BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE from 6.6.46 to 6.6.54 across multiple configs.
buildroot-external/meta Incremented VERSION_MINOR from "1" to "2".
buildroot-external/package/hassio/create-data-partition.sh Updated Docker version in DinD setup from docker:26.0-dind to docker:27.2-dind.
buildroot-external/patches/grub2/0002-loader-efi-linux-use-legacy-loader-for-broken-Intel-.patch Added fallback mechanism for GRUB2 EFI loader for specific Intel and AMD platforms.
buildroot-external/patches/systemd/0003-systemd-timesyncd-delay-start-after-network-online.t.patch Modified systemd-timesyncd service to start only after network is online.
buildroot-external/patches/systemd/0004-detect-virt-detect-hyperv-enlightened-qemu-as-qemu-n.patch Improved virtualization detection logic for Hyper-V.
buildroot-external/rootfs-overlay/etc/systemd/system/systemd-timesyncd.service Removed the systemd-timesyncd service unit file.
buildroot-external/rootfs-overlay/usr/lib/systemd/system/systemd-timesyncd.service.d/hassos.conf Removed After=network-online.target directive from hassos.conf.
tests/requirements.txt Updated labgrid package version from 23.0.6 to 24.0.1.
tests/smoke_test/test_basic.py Introduced a new test function test_systemctl_check_no_failed to check for failed systemd units.

Sequence Diagram(s)

sequenceDiagram
    participant A as GitHub Actions
    participant B as CloudFlare API
    participant C as Artifacts

    A->>C: Generate purge list for artifacts
    C-->>A: Return purge list
    A->>B: Send purge requests in chunks
    B-->>A: Confirm purging
Loading

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

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

Successfully merging this pull request may close these issues.

4 participants