docker_image_build: allow to specify multiple platforms, allow to specify secrets and outputs (#852)

* Add note on idempotency.

* Make platform a list of strings.

* Support specifying secrets.

* Add test for secrets.

* Support specifying outputs.

* Ignore invalid choices syntax for ansible-core <= 2.16.

It actually works with ansible-core 2.14+ (though not with <= 2.13),
but the sanity tests only accept it from 2.17 on.

* Only use --secret with type=env for buildx 0.6.0+, and multiple --output for buildx 0.13.0+.
This commit is contained in:
Felix Fontein
2024-05-11 15:52:47 +02:00
committed by GitHub
parent e176a8a17b
commit f2a5d6f872
11 changed files with 354 additions and 7 deletions
@@ -0,0 +1,7 @@
# Copyright (c) 2024, Felix Fontein
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
FROM {{ docker_test_image_busybox }}
RUN --mount=type=secret,id=my-awesome-secret \
cat /run/secrets/my-awesome-secret | base64