4573 Commits

Author SHA1 Message Date
flatcar-ci
e8a77b8bda
New version: stable-3033.2.1 stable-3033.2.1 2022-01-25 00:21:40 +05:30
flatcar-ci
abaf3c1adb
New version: stable-3033.2.1 2022-01-24 19:48:18 +05:30
Thilo Fromm
64611a67ee Merge pull request #215 from flatcar-linux/scripts
SDK container: enable binpkg cache for nightly builds
2022-01-12 16:12:42 +01:00
Thilo Fromm
0035711cd4 SDK container: enable binpkg cache for nightly builds
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-12 16:12:42 +01:00
Thilo Fromm
8bdcabd389 Merge pull request #213 from flatcar-linux/scripts
settings / ci-automation: remove &quot;binpkg&quot; prefix
2022-01-11 11:26:58 +01:00
flatcar-ci
024b655dbc 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 11:26:58 +01:00
Thilo Fromm
a1196d0895 Merge pull request #211 from flatcar-linux/scripts
checkout: omit checking for tags in submodules
2022-01-10 15:47:28 +01:00
flatcar-ci
a360206686 checkout: omit checking for tags in submodules
Signed-off-by: flatcar-ci <infra+ci@flatcar-linux.org>
2022-01-10 15:47:28 +01:00
Thilo Fromm
f906d6cb0a Merge pull request #210 from flatcar-linux/scripts
ci-automation/garbage_collect: fix binpkg url
2022-01-10 14:45:04 +01:00
Thilo Fromm
701c25a230 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:45:04 +01:00
flatcar-ci
0504098af2 ci-automation + setup_board: publish and use binpkgs
It is a back-port of the 3 commits in
https://github.com/flatcar-linux/scripts/pull/209
to flatcar-3033. The backport was required because of a conflict
in set_version.

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.

Lastly, ci-automation/README.md is updated to reflect the changes. THe
readme now also elaborates on the binary package cache server (build
infrastructure).

Co-authored-by: Krzesimir Nowak <knowak@microsoft.com>
2022-01-10 12:18:14 +01:00
Thilo Fromm
f471c81a13 Merge pull request #202 from flatcar-linux/scripts
checkout: helper script for checking out branches and tags
2022-01-07 16:10:36 +01:00
Thilo Fromm
d5387aa8a2 checkout: fix typo in update strategy detection
Co-authored-by: Kai Lüke <pothos@users.noreply.github.com>
2022-01-07 16:10:36 +01:00
Thilo Fromm
758d3ebf07 checkout: helper script for checking out branches and tags
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-07 16:10:36 +01:00
Thilo Fromm
dfd5ff23a5 Merge pull request #205 from flatcar-linux/scripts
fix sdk_entry.sh setup_board fallout
2022-01-07 13:27:44 +01:00
Thilo Fromm
4c80a20051 sdk_lib/sdk_entry.sh: only call setup_board if /build/... exists
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-07 13:27:44 +01:00
Thilo Fromm
07a51425d5 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-07 13:27:44 +01:00
Thilo Fromm
2981cfdbb4 Merge pull request #207 from flatcar-linux/scripts
sdk_container: better docker / podman detection
2022-01-07 12:19:02 +01:00
Thilo Fromm
aa508a7ea6 sdk_container: better docker / podman detection
In bce3bd9031fa78c79173f29bcac5bc49c81a03b4, 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 12:19:02 +01:00
Kai Lueke
10051f3895 Merge pull request #206 from flatcar-linux/scripts
build_sdk_container_image: force removal of running container
2022-01-07 11:52:02 +01:00
Kai Lueke
b3bd8eba56 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-07 11:52:02 +01:00
Kai Lueke
e537a89c5a Merge pull request #199 from flatcar-linux/scripts
run/build_sdk_container: support Podman
2022-01-07 11:51:52 +01:00
Kai Lueke
85bb8bcd1f 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-07 11:51:52 +01:00
Kai Lueke
4c9c7d0b7a Merge pull request #203 from flatcar-linux/scripts
sdk_lib/sdk_entry: handle permission error for target version file
2022-01-06 19:01:57 +01:00
Kai Lueke
4d0f89724a 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 19:01:57 +01:00
Thilo Fromm
ea0a8f9f3a Merge pull request #201 from flatcar-linux/scripts
sdk_entry.sh: ensure currect binpkg host
2022-01-06 17:13:46 +01:00
Thilo Fromm
6c14ecee3e 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-06 17:13:46 +01:00
flatcar-ci
eb37545447 Merge pull request #200 from flatcar-linux/scripts
sdk_lib/sdk_entry.sh: use a login shell to source /etc/profile
2022-01-05 18:15:00 +01:00
flatcar-ci
f37f8e825d 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:15:00 +01:00
flatcar-ci
4c1ae97bc9 Merge pull request #198 from flatcar-linux/scripts
ci-automation: allow to optionally push and sign the commit
2022-01-05 18:13:59 +01:00
Kai Lueke
266f4802c4 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 18:13:59 +01:00
Thilo Fromm
7e3fdaf3ae Merge pull request #196 from flatcar-linux/scripts
run_sdk_container: use exact match for existing containers
2022-01-05 15:00:08 +01:00
Thilo Fromm
1573e861f3 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 15:00:08 +01:00
Thilo Fromm
bf20bb3ed6 Merge pull request #197 from flatcar-linux/scripts
build_packages: fix default torcx output root
2022-01-05 14:32:11 +01:00
Thilo Fromm
48a804872d build_packages: fix default torcx output root
In 9fba5789f95bf79a393c5e35cb2346d3900e29ba 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 14:32:11 +01:00
Krzesimir Nowak
a842288aa5 changelog: Add bugfix entry 2021-12-22 17:38:04 +01:00
Krzesimir Nowak
8cf1ebd5a2 *: 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-22 17:37:57 +01:00
Thilo Fromm
e7ccf1e1d9 coreos-overlay: bump to latest 3033
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2021-12-16 19:02:25 +01:00
Thilo Fromm
49a469a22c
Merge pull request #190 from flatcar-linux/t-lo/sdk-container-release-3033.2.0
New release: stable-3033.2.0
stable-3033.2.0
2021-12-15 10:18:07 +01:00
Thilo Fromm
efdf4daff9 New release: stable-3033.2.0 2021-12-15 09:46:26 +01:00
Dongsu Park
8a602c437e changelog: add bugfix for publishing arm64 Stable images 2021-12-10 14:31:21 +01:00
Dongsu Park
6892eaef62 jenkins: make release.sh publish arm64 for Stable
From flatcar-3033 on, arm64 images are available for Stable channel, we
need to also add arm64 to Stable boards.
2021-12-10 14:31:16 +01:00
Dongsu Park
ab8fc691d1 changelog: add bugfix for publishing arm64 Beta images 2021-12-10 09:52:05 +01:00
Dongsu Park
084ceda84f jenkins: make release.sh publish arm64 for Beta
Now that arm64 images are available for Beta channel, we need to also
add arm64 to Beta boards.
2021-12-10 09:51:57 +01:00
Thilo Fromm
685e95531f
Merge pull request #186 from flatcar-linux/t-lo/sdk-container-for-3033
sdk-container: add scripts for containerised SDK (3033 backport)
2021-12-08 14:00:33 +01:00
Thilo Fromm
4e62a01391 sdk-container: add scripts for containerised SDK
Back-port for flatcar-3033 branch.

This change introduces a containerised SDK as a replacement for cork SDK
operations. It also simplifies versioning by removing the need for
manifest repos as well as usage of the "repo" tool by use of git
submodules for coreos-overlay and portage-stable.

The following feature scripts are added:
- run_sdk_container: Run a command in an SDK container, using the
        current scripts repo + ebuild submodules.
        current scripts repo + ebuild submodules.
- bootstrap_sdk_container / build_sdk_container_image: Bootstrap a new
        SDK and create an SDK container from the resulting SDK tarball.

The following additions have been made to SDK scripts:
- setup_board: add --pkgdir parameter to use a custom binary packge
  directory.
2021-12-07 19:40:32 +01:00
Dongsu Park
b2da998bc1 jenkins: override PARALLEL_TESTS for ARM servers in da11
We override `PARALLEL_TESTS`, because kola run with PARALLEL_TESTS >= 4
causes the tests to provision >= 12 ARM servers at the same time. As the
da11 region does not have that many free ARM servers, the whole tests
will fail. With PARALLEL_TESTS=2 the total number of servers stays < 10.
In addition, we override `timeout` to 10 hours, because it takes more
than 8 hours to run all tests only with 2 tests in parallel.
2021-11-26 15:51:42 +01:00
Mathieu Tortuyaux
2cd9ef35de
kola/packet: override EM region for ARM64 server
Equinix Metal ARM server are not yet hourly available in the default `sv15` region
so we override the `PACKET_REGION` to `Dallas` since it's available in this region.
We do not override `PACKET_REGION` for both board on top level because we need to keep proximity
for PXE booting.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
beta-3033.1.1
2021-11-22 20:01:49 +01:00
Kai Lueke
1908337c60 Merge pull request #176 from flatcar-linux/scripts
jenkins/kola/packet: Remove c3.small.x86 to try running cl.internet
beta-3033.1.0 alpha-3033.0.0
2021-10-22 18:26:26 +02:00
Sayan Chowdhury
43f130f15a jenkins/kola/packet: Remove c3.small.x86 to try running cl.internet
Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
2021-10-22 18:26:26 +02:00