Commit Graph

4611 Commits

Author SHA1 Message Date
flatcar-ci
0bbae51a5e settings / ci-automation: remove "binpkg" prefix
The original intention of the "binpkg" prefix in the CI binary package
cache URL was to separate packages from other build artifacts like
containers, images, and SDK tarballs. Motivation was to separate
developer content (binary packages) from CI automation artifacts
(everything else); since binary packages are not used by the CI.

This broke assumptions in scripts which use the binary host URL for
other things than packages - e.g. SDK tarballs or images. These
scripts would get a bincache URL with "binpkg/" prepended, while CI
automation would *not* use that prefix.

This change removes the use of "binpkg/" altogether since it would not
work as intended without more significant changes to build scripts.
2022-01-11 09:56:21 +01:00
Thilo Fromm
bf053ed800
Merge pull request #211 from flatcar-linux/t-lo/checkout-imgrove-tag-handling
checkout: omit checking for tags in submodules
2022-01-10 15:46:53 +01:00
flatcar-ci
fa090f839e checkout: omit checking for tags in submodules
Signed-off-by: flatcar-ci <infra+ci@flatcar-linux.org>
2022-01-10 15:23:25 +01:00
Thilo Fromm
a2ae11cb3d
Merge pull request #210 from flatcar-linux/t-lo/garbage_collect-fix-binpkg-url
ci-automation/garbage_collect: fix binpkg url
2022-01-10 14:44:10 +01:00
Thilo Fromm
e076931c7d ci-automation/garbage_collect: fix binpkg url
garbage_collect.sh was using 'docker_vernum' where it should have been
using 'vernum' (as push_pkgs.sh does).

Also, make sure release directories are removed, not just packages.

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-10 14:07:33 +01:00
Thilo Fromm
567a526a5d
Merge pull request #209 from flatcar-linux/t-lo/container-ci-builds-publish-nightly-packages
ci-automation + setup_board: publish and use binpkgs
2022-01-10 12:09:21 +01:00
Thilo Fromm
a6ddcda88e ci-automation: Apply suggestions from PR review
Co-authored-by: Krzesimir Nowak <knowak@microsoft.com>
2022-01-10 11:41:03 +01:00
Thilo Fromm
0ecd0be77a ci-automation/README.md: pkg publish, bin cache added
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-07 17:47:50 +01:00
flatcar-ci
7d76cfedf7 ci-automation + setup_board: publish and use binpkgs
This change adds a job for publishing binary packages to the build cache
server to the ci automation.

Also, setup_board is updated to use the buildcache package cache if a
nightly build version is detected.

Signed-off-by: flatcar-ci <infra+ci@flatcar-linux.org>
2022-01-07 17:16:44 +01:00
Thilo Fromm
13a6f6e0eb
Merge pull request #202 from flatcar-linux/t-lo/add-checkout-helper
checkout: helper script for checking out branches and tags
2022-01-07 16:08:04 +01:00
Jeremi Piotrowski
a3ac30292a
Merge pull request #208 from flatcar-linux/jepio/azure-gallery
jenkins/kola/azure: make use of --azure-use-gallery parameter
2022-01-07 15:43:16 +01:00
Thilo Fromm
e9299efb36
checkout: fix typo in update strategy detection
Co-authored-by: Kai Lüke <pothos@users.noreply.github.com>
2022-01-07 15:26:17 +01:00
Jeremi Piotrowski
7cafff85f4 jenkins/kola/azure: make use of --azure-use-gallery parameter
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2022-01-07 13:56:32 +01:00
Thilo Fromm
301e80e7f5 checkout: helper script for checking out branches and tags
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-07 13:54:10 +01:00
Thilo Fromm
ee43062399
Merge pull request #205 from flatcar-linux/t-lo/fix-sdk_entry-setup_board-fallout
fix sdk_entry.sh setup_board fallout
2022-01-07 13:26:38 +01:00
Thilo Fromm
593d95a845
Merge pull request #207 from flatcar-linux/t-lo/improve-podman-docker-detection
sdk_container: better docker / podman detection
2022-01-07 12:11:45 +01:00
Kai Lüke
ff0dbfb3c9
Merge pull request #206 from flatcar-linux/kai/sdk-container-build-rm
build_sdk_container_image: force removal of running container
2022-01-07 11:49:02 +01:00
Thilo Fromm
43e8730ffe sdk_container: better docker / podman detection
In bce3bd9031, we added support for podman
for building and running the SDK container. The presence of podman is
auto-detected in sdk_container_common.sh. However, podman is preverred
over docker, requiring users to use *sudo* (which podman requires and
docker does not).

This change uses docker when present, podman otherwise. It also improves
podman detection - 'podman' uses argv[0] in its version string, so if
'docker' is a symlink to 'podman', 'podman --version' output uses
'docker'. This broke the SDK container on hosts which have a 'docker'
symlink to 'podman' since 'podman' is then run w/o 'sudo'.

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-07 11:06:30 +01:00
Thilo Fromm
4273b51cd6 sdk_lib/sdk_entry.sh: only call setup_board if /build/... exists
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-07 09:58:34 +01:00
Kai Lueke
98b46e042a build_sdk_container_image: force removal of running container
At least with Podman it's not possible to call "container rm" on a
running container without the force flag.
Add the force flag which is also used elsewhere already.
2022-01-06 21:28:30 +01:00
Thilo Fromm
e6a4349355 sdk_lib/Dockerfile.sdk-import: use root user by default
sdk_entry.sh is expected to be called by the root user, so we set USER
root:root. Also we add a "root" entry to passwd and group since it does
not exist in the SDK tarball.

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-06 20:17:19 +01:00
Kai Lüke
1928852af0
Merge pull request #203 from flatcar-linux/kai/sdk-entry
sdk_lib/sdk_entry: handle permission error for target version file
2022-01-06 19:01:20 +01:00
Kai Lueke
38729ac1dc sdk_lib/sdk_entry: handle permission error for target version file
The creation of the target version file failed:
/home/sdk/sdk_entry.sh: line 32: /build/amd64-usr/etc/target-version.txt: Permission denied
Use root permissions to create the file.
2022-01-06 18:52:40 +01:00
Kai Lüke
5c170c54c3
Merge pull request #199 from flatcar-linux/kai/sdk-podman-support
run/build_sdk_container: support Podman
2022-01-06 18:51:43 +01:00
Kai Lueke
bce3bd9031 run/build_sdk_container: support Podman
When the docker wrapper script for Podman is used, we need to
explicitly create a root user container with "sudo podman".
Podman also has its own bridge for root user containers which we need
to detect, and it requires to explicitly say to use the Docker Hub
Caddy image.
Add a "$docker" variable that uses sudo podman as needed, and also
check which bridge interface to use. The filter had to be changed
because it didn't work with Podman. Use the Docker Hub Caddy image
explicitly.
2022-01-06 18:05:24 +01:00
Thilo Fromm
b9d555fdd4
Merge pull request #201 from flatcar-linux/t-lo/sdk-container-ensure-correct-bincache-url
sdk_entry.sh: ensure currect binpkg host
2022-01-06 13:59:54 +01:00
Thilo Fromm
8fd5fc8a65 sdk_entry.sh: ensure currect binpkg host
This change ensures the binpkg host is updated if the board (OS) version
differs from the SDK version.

This is to ensure /build/[arch] uses the correct binary package cache.

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-05 21:03:42 +01:00
Kai Lüke
ee9cc95bac
Merge pull request #200 from flatcar-linux/kai/sdk-container-source-qemu-user
sdk_lib/sdk_entry.sh: use a login shell to source /etc/profile
2022-01-05 18:14:43 +01:00
flatcar-ci
459fcb89c6 sdk_lib/sdk_entry.sh: use a login shell to source /etc/profile
For execution of the compiled binaries in /build/arm64-usr we rely on
qemu-user binfmt emulation and have to tell it where the root is with
QEMU_LD_PREFIX because build systems don't chroot into /build/arm64-usr
themselves (which also works just by chance on amd64 because we have
similar glibc versions and so on). The env var setup was done in
/etc/profile.d/qemu-aarch64.sh but is now not read anymore since the
container runs the shell not as login shell.

Add the login options to the bash and su calls when starting the
container.
2022-01-05 18:06:37 +01:00
Kai Lüke
41f6ea4020
Merge pull request #198 from flatcar-linux/kai/submodule-update-allow-push
ci-automation: allow to optionally push and sign the commit
2022-01-05 15:43:47 +01:00
Kai Lueke
e85a16fe1c ci-automation: allow to optionally push and sign the commit
For test builds the commit that updates the submodules can be free-
standing but for releases we need to push it to the branch and also
sign the tag.
Add optional arguments that are used by the tag-release script in
flatcar-build-scripts.
2022-01-05 15:25:31 +01:00
Thilo Fromm
4163920770
Merge pull request #196 from flatcar-linux/t-lo/sdk-container-fix-exact-match
run_sdk_container: use exact match for existing containers
2022-01-05 14:59:44 +01:00
Thilo Fromm
c0e95313ba
Merge pull request #197 from flatcar-linux/t-lo/build_packages-fix-default-torcx-output-root
build_packages: fix default torcx output root
2022-01-05 14:29:44 +01:00
Thilo Fromm
15778e54e9
build_packages: fix default torcx output root
In 9fba5789f9 we introduced 
--torcx_output_root as an optional command line parameter
and had it default to "${DEFAULT_BUILD_ROOT}", inadvertently 
diverging from the previous default, which was
"${DEFAULT_BUILD_ROOT}/torcx".

This change sets the correct default root "${DEFAULT_BUILD_ROOT}/torcx" to bring
build_packages back into alignment with build_image.
2022-01-05 13:28:49 +01:00
Thilo Fromm
2c8d09192d run_sdk_container: use exact match for existing containers
run_sdk_container uses the sourcetree version to decide whether to
re-use existing containers or create new ones. However, containers were
not matched by exact name - instead, plain --filter name="..." was used,
leading to prefix matching. This change updates name="..." to use
regular expressions for exact matching.

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-05 09:10:29 +01:00
Kai Lüke
536acc3dab
Merge pull request #195 from flatcar-linux/kai/changelog-format
changelog/README.md: describe purpose of the changelog entries
2022-01-03 16:05:14 +01:00
Kai Lueke
7e9fc87f34 changelog/README.md: describe purpose of the changelog entries
The changelog entries should be directly used for the release notes,
thus they need to be short and hold only information relevant to the
end user, and should be in the markdown bullet point format.
2022-01-03 15:45:00 +01:00
Krzesimir Nowak
edcc436445
Merge pull request #194 from flatcar-linux/krnowak/replace-kinvolk
*: Replace kinvolk github org with flatcar-linux
2021-12-22 17:35:33 +01:00
Krzesimir Nowak
e07da714fc changelog: Add bugfix entry 2021-12-22 09:50:59 +01:00
Krzesimir Nowak
96b37b89f8 *: Replace kinvolk github org with flatcar-linux
Stop relying on github redirects, they are a mixed blessing and using
them broke emerge-gitclone inside dev-container in silent way. The
script could not find a desired revision of portage-stable or
coreos-overlay, because it tried to pull from kinvolk instead of
flatcar-linux github org. The redirects seem to hinder fetching a
specific commit, so the script pulled something else (HEAD or main?).
2021-12-21 17:22:48 +01:00
Thilo Fromm
cccf9d2740 version.txt + submodules: bumped to 3087 / latest
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2021-12-16 18:57:27 +01:00
Krzesimir Nowak
af242e5d15
Merge pull request #193 from flatcar-linux/krnowak/pr-numbers-for-scripts
jenkins/manifest: Accept PR numbers also for scripts
2021-12-16 18:27:53 +01:00
Krzesimir Nowak
71796c9e23 jenkins/manifest: Accept PR numbers also for scripts 2021-12-16 13:37:15 +01:00
Krzesimir Nowak
4bb8b4c120
Merge pull request #152 from flatcar-linux/krnowak/python-transition2
Python transition: add a way to remove hard blockers and default to python3 interpreter
2021-12-13 14:49:47 +01:00
Krzesimir Nowak
e4dbe66e45 changelog: Add an entry 2021-12-10 20:09:53 +01:00
Krzesimir Nowak
89b5505fe6 build_library/catalyst_sdk.sh: Try different way of picking python as default intepreter
Let's see if `eselect python update` would work. It's certainly nicer,
because there would be one place less to change on the next python
update.
2021-12-10 20:06:40 +01:00
Krzesimir Nowak
790fd0fd2c build_library/catalyst_sdk.sh: Select python 3.9 as a default interpreter
At this point nothing pulls python2 anymore, so it became an invalid
target.
2021-12-10 20:06:40 +01:00
Krzesimir Nowak
186f1de4fa update_chroot: Add a way to remove hard blockers
And set it to remove some old version of dev-python/setuptools_scm
package.
2021-12-10 20:06:40 +01:00
Dongsu Park
2f9ce7b5b0
Merge pull request #189 from flatcar-linux/dongsu/jenkins-arm64-stable
jenkins: make release.sh publish arm64 for Stable
2021-12-10 14:30:27 +01:00
Dongsu Park
73eda72ee9 changelog: add bugfix for publishing arm64 Stable images 2021-12-10 11:33:00 +01:00