187 Commits

Author SHA1 Message Date
Jan Čermák
d9e46d6dbb
Purge Cloudflare cache for all files after uploading R2 artifacts (#3568)
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
2024-09-02 10:38:04 +02:00
dependabot[bot]
3c2f014acb
Bump docker/build-push-action from 6.6.1 to 6.7.0 (#3542)
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](https://github.com/docker/build-push-action/compare/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>
2024-08-20 16:36:37 +02:00
dependabot[bot]
fd31ce14ea
Bump docker/build-push-action from 6.5.0 to 6.6.1 (#3519)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.5.0 to 6.6.1.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.5.0...v6.6.1)

---
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>
2024-08-12 19:51:32 +02:00
Jan Čermák
d8baa98ae2
Add documentation and dependencies category to release-drafter config (#3506)
* add Documentation category
* add Dependencies (to easily filter them out if not needed in changelog)
* adjust the order a bit to have user-facing changes first
2024-08-07 15:06:46 +02:00
dependabot[bot]
9cc45f65ea
Bump docker/setup-buildx-action from 3.6.0 to 3.6.1 (#3501)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-05 15:33:44 +02:00
dependabot[bot]
13c4bb56c0
Bump docker/setup-buildx-action from 3.5.0 to 3.6.0 (#3496)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-29 16:39:08 +02:00
Jan Čermák
a80311a285
Use EROFS for the root filesystem (#3456)
* Use name.sh functions for paths in genimage

Paths for images generated outside of genimage were not used in genimage
definitions. Use them as the single source of truth.

Images generated by genimage itself (e.g. kernel.img) don't need to use those
functions, so remove the unused ones.

* Use EROFS instead of SquashFS for root FS

* Enabled EROFS in common kernel fragment
* RootFS image switched to EROFS with options to get decent compression
* rootfstype removed from kernel command line

* Get size of correct FS image in GH build summary
2024-07-24 16:34:26 +02:00
dependabot[bot]
5d5bc36892
Bump docker/login-action from 3.2.0 to 3.3.0 (#3484)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: docker/login-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>
2024-07-22 17:30:38 +02:00
dependabot[bot]
77a28bd1df
Bump docker/build-push-action from 6.4.0 to 6.5.0 (#3486)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.4.0 to 6.5.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.4.0...v6.5.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>
2024-07-22 17:29:13 +02:00
dependabot[bot]
038bfd9073
Bump docker/setup-buildx-action from 3.4.0 to 3.5.0 (#3485)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 17:11:32 +02:00
dependabot[bot]
d148ad2b50
Bump docker/build-push-action from 6.3.0 to 6.4.0 (#3475) 2024-07-15 18:27:37 +02:00
dependabot[bot]
777432913e
Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 (#3465)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 15:57:05 +02:00
dependabot[bot]
d57b6be01e
Bump docker/build-push-action from 6.2.0 to 6.3.0 (#3466)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 15:56:48 +02:00
dependabot[bot]
c20841ac1e
Bump docker/build-push-action from 6.1.0 to 6.2.0 (#3454)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.1.0...v6.2.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>
2024-07-01 15:51:21 +02:00
dependabot[bot]
7298ffc13f
Bump docker/build-push-action from 6.0.0 to 6.1.0 (#3444)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-24 15:51:19 +02:00
dependabot[bot]
62d7794a6c
Bump docker/build-push-action from 5.4.0 to 6.0.0 (#3421)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.4.0 to 6.0.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5.4.0...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 17:08:08 +02:00
Jan Čermák
d847b9803a
Add hardware details to bug issue template (#3413)
Very often we have to ask for further details about the hardware that HAOS is
running on. Add a required field that asks for these details - in the end it
should't complicate the form a lot and might result in faster turnaround of
resolving the issues.

Also adjust the question about the upgrade and swap the order (people often
don't care and keep the pre-selected value).
2024-06-12 21:52:48 +02:00
dependabot[bot]
ae588b762a
Bump docker/build-push-action from 5.3.0 to 5.4.0 (#3405)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 15:08:18 +02:00
dependabot[bot]
5ed9057728
Bump docker/login-action from 3.1.0 to 3.2.0 (#3399)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 15:15:55 +02:00
Jan Čermák
4e44b101f3
Enable KVM for running tests in GH Actions (#3329)
It was not possible on free runners previously, but it should be now:
https://github.com/actions/runner-images/discussions/7191#discussioncomment-9018826
2024-04-26 15:30:23 +02:00
dependabot[bot]
de3f2c6420
Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 (#3293)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-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>
2024-04-08 16:05:29 +02:00
dependabot[bot]
e144c2bc96
Bump docker/setup-buildx-action from 3.1.0 to 3.2.0 (#3257)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-18 15:35:15 +01:00
dependabot[bot]
6c7c972c5d
Bump docker/build-push-action from 5.2.0 to 5.3.0 (#3256)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-18 15:31:55 +01:00
dependabot[bot]
1953c2afdb
Bump docker/login-action from 3.0.0 to 3.1.0 (#3258)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-18 15:31:40 +01:00
Jan Čermák
454d764676
Update Buildroot to 2024.02 (#3241)
* Update Buildroot to tag 2024.02 with rebased HAOS patchset

* udisks2: update to v2.10.1

  * Updated to version 2.10.x compatible with libblockdev v3
  * Rebased patches to new codebase
  * Autoreconf patch is not needed anymore
  * libblockdev-nvme is now hard dependency of udisks daemon

* patches/grub2: remove upstreamed efidisk patch

* patches/network-manager: update multiple gateway patch

* package/os-agent: fix go download

  After the Go update, build fails with the following error on mod vendor:

    GOPROXY list is not the empty string, but contains no entries

  Turns out this step is not having the environment variables set, use
  those used for download to fix it.

* package/xe-guest-utilities: set DL env for go mod vendor

* Bump buildroot to fix missing unit file from nfs-utils

* buildroot 3f950a1aee...a1b2d12f32 (1):
  > package/nfs-utils: only install fsidd binary and unit file with enabled nfsd

* CI: install flake8 for pr-checks runner

  Use distribution package, as it's what's used in Buidlroot's Gitlab CI
  Docker image at buildroot/support/docker/Dockefile.

* Disable check for Upstream section in the patch header for now

  It was introduced in latest BR - disable it for now and re-enable
  for HAOS in a later separate PR.
2024-03-13 15:16:54 +01:00
dependabot[bot]
541afd452b
Bump docker/build-push-action from 5.1.0 to 5.2.0 (#3235)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5.1.0...v5.2.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>
2024-03-11 18:28:48 +01:00
dependabot[bot]
6ac4f3435b
Bump docker/setup-buildx-action from 3.0.0 to 3.1.0 (#3221)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.0.0...v3.1.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-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>
2024-03-04 14:26:47 +01:00
Tim L
9614f769f2
M1S issues template (#3181)
* Add Odroid M1S to issues template

* Add M1S to Hardkernel readme
2024-02-17 09:17:11 +01:00
Jan Čermák
cf0bde1f5a
Move output directory to /mnt in GH build action (#3174)
With recent change of Azure VM type, the disk layout has changed and
the build of ova target fails with insufficient space. Since there
is now plenty of space on /mnt partition, we can use that, just like
we've been using it for cache for now.

Ref: https://github.com/easimon/maximize-build-space/issues/39#issuecomment-1935591779
2024-02-14 17:42:17 +01:00
Tim L
1b66f81dfa
Add support for Odroid M1S Board (#3121)
* Copy Odroid-m1 config for new odroid-m1s board

* config: Adjust names and paths for odroid-m1s

* configs: Use rk3566 blobs for ATF

* set correct fdt in uboot.ush

* Add linux patches with Odroid-m1s devicetree

Synced from Hardkernel unofficial 6.1 tree
ae33b44557/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts

With additional cleanup and fixes for mainline linux

* Add Odroid M1S to Github actions

* uboot: Patch boot order to set SD Card first

* Create u-boot placeholder partion for odroid-m1s also

* Switch u-boot to full odroid-m1s config

* cherry-pick emmc stability improvements

* Generalise u-boot to use ${devtype} instead of hardcoded mmc

* Remove deprecated snps, reset options from device tree

* re-enable uboot ethernet
2024-02-14 12:01:15 +01:00
Jan Čermák
b599d24658
Update issue template with better links to logs, add CLI instructions (#3169)
* Update issue template with better links to logs, add CLI instructions

Legacy supervisor_logs target (which is currently kind of broken) replaced
with standard logs with provider specified. Added instructions how to get
logs in HA CLI.

* Apply suggestions from code review

Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-02-12 16:05:12 +01:00
Stefan Agner
f770a3f4b2
Bump Pi 5 image on release in Raspberry Pi Imager json (#3161) 2024-02-08 19:24:18 +01:00
dependabot[bot]
37c2f951d6
Bump release-drafter/release-drafter from 5 to 6 (#3144)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5 to 6.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5...v6)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-05 18:02:50 +01:00
Jan Čermák
4b2d34368d
Fix path to VHDX artifact in OS build job (#3105) 2024-01-25 09:46:10 +01:00
dependabot[bot]
ab586e285f
Bump actions/cache from 3 to 4 (#3095)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 18:09:15 +01:00
Tom Pipe
ff84663caa
Fix build_haos_builder step to fetch the correct version (#3091)
Fixes the build_haos_builder step to fetch the version correctly from the version step, not the (non-existent) version_main step
2024-01-19 13:18:03 +01:00
Tom Pipe
e7c15f9aa6
Fix self_signed_cert variable value (#3071)
The value of ```self_signed_cert``` is being set incorrectly, resulting in a failed build, as the self signed certs aren't copied correctly.

Updated so the value is set from ```self_signed_cert``` and not ```self_signed```
2024-01-17 10:45:12 +01:00
Jan Čermák
714912a2a9
Suppress action-shellcheck warning from deprecated option (#3030)
Use ignore_paths instead of ignore for the buildroot directory.
2024-01-03 10:02:44 +01:00
Jan Čermák
364ca718fb
Remove duplicated step uploading ova QEMU image for the test job (#3011)
* Remove duplicated step uploading ova QEMU image for the test job

Instead of uploading the file twice with a fixed name, upload it in the
same step that is used for unpublished builds and pass the version string
to the test job.

* Update .github/workflows/test.yaml

Co-authored-by: Stefan Agner <stefan@agner.ch>

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2023-12-26 17:53:00 +01:00
Jan Čermák
978e13b180
Generate self-signed certificate in the prepare step and archive it (#3015)
Generate the certificate only once and make it available. The preferred
option that doesn't generate warnings would be to use secrets in the
repository config, in that case no certificate is generated or archived.
2023-12-22 14:49:40 +01:00
Jan Čermák
5a9be34007
Add script for checking resulting kernel config (#3006)
There is bunch of kernel config options that are not propagated
correctly to the kernel configuration after fragments are merged
and processed by Kconfig. Current Buildroot tools are not good at
discovering these - while we cleaned up most inconsistencies by using
linux-diff-config and output from the merge_config.sh script, there
are still options that were removed or get a different value than
intended because of dependencies, etc.

This commit adds a Python script that is using Kconfiglib to parse
current kernel's Kconfig files and the generated .config and compare
the requested values from individual kernel config fragments. The
script can be used manually by running `make linux-check-dotconfig`
from the buildroot directory (with path to BR2_EXTERNAL directory set)
and it's called also from the CI, where it generates Github Workflow
warning annotations when some of the values are not present or when set
incorrectly.

The kconfiglib.py is checked-in to the repo as well, because the library
is currently abandoned on PyPI and packaged version has a bug that causes
errors parsing Kconfigs in newer Linux versions, fixed in outstanding
pull request ulfalizer/Kconfiglib#119 - so version from this PR is used
here.

If pypi/support#2526 is ever resolved, we could remove it from our repo
and use pip for installing the package as a requirement during build
of the build container.
2023-12-20 17:41:39 +01:00
Jan Čermák
069614a968
Adjust build to allow running from forks or feature branches (#2998)
Make it possible to run build on feature branches by adding a flag that
can be used to select whether the build output will be uploaded to the
R2 artifacts bucket or kept only as build artifact on GH. The latter is
also used for 3rd party repos, allowing builds in forked repositories.

Feature builds are using Unix timestamp as the dev version suffix. This
makes them easily distiguishable, yet it makes them appear to be newer
than standard daily dev version builds when compared by AwesomeVersion.
2023-12-19 16:57:26 +01:00
dependabot[bot]
e4fab0ab93
Bump actions/upload-artifact from 3 to 4 (#2997)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 21:58:24 +01:00
dependabot[bot]
7fc91c7bd7
Bump actions/download-artifact from 3 to 4 (#2996)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 17:06:50 +01:00
Jan Čermák
f605dd43ec
Add build summary for each board build (#2990)
This allows for rudimentary image/partition size tracking between builds,
potentially this could be further extended with more useful information
about the build (TBD).
2023-12-14 15:49:40 +01:00
Stefan Agner
5b3447ae38
Add Raspberry Pi 5 to GitHub Action (#2985) 2023-12-12 13:34:31 +01:00
dependabot[bot]
77c7def4e3
Bump actions/setup-python from 4 to 5 (#2981)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-11 15:24:01 +01:00
dependabot[bot]
c6ca14182b
Bump actions/stale from 8.0.0 to 9.0.0 (#2980)
Bumps [actions/stale](https://github.com/actions/stale) from 8.0.0 to 9.0.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v8.0.0...v9.0.0)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-11 15:23:33 +01:00
Stefan Agner
20295a5f0b
Fix RAUC certificate check (#2955)
Check the right environment variable when determining if RAUC
certificates through secrets are provided.
2023-11-30 17:49:16 +01:00
Stefan Agner
c3b9912e2e
Generate self-signed certificates for development (#2943)
* Generate self-signed certificates for development

To simplify development generate a self-signed certificate on first
build. Also make sure that the self-signed certificate is being added
the RAUC keyring so that manual updates can be performed.

* Add self-signed certificat independent of deployment type

* Add a warning when building with self-signed certificate
2023-11-27 18:36:12 +01:00