revert dynamic matrix, add rclone-openrc to static build matrix
Build Alpine Packages / preflight (pull_request) Successful in 8s
Build Alpine Packages / build (gitea) (pull_request) Successful in 7s
Build Alpine Packages / build (greptimedb) (pull_request) Successful in 6s
Build Alpine Packages / build (lavinmq) (pull_request) Successful in 6s
Build Alpine Packages / build (nifi) (pull_request) Successful in 5s
Build Alpine Packages / build (rclone-openrc) (pull_request) Successful in 9s
Build Alpine Packages / build (seaweedfs) (pull_request) Successful in 3s
Build Alpine Packages / verify-and-publish (pull_request) Successful in 27s

This commit is contained in:
Joachim Schlöffel
2026-10-07 14:09:12 +02:00
parent 55ce31db00
commit 0d85e29b5e
2 changed files with 18 additions and 5 deletions
+17 -2
View File
@@ -32,7 +32,6 @@ jobs:
outputs: outputs:
packages_selected: "${{ steps.package-selection.outputs.packages_selected }}" packages_selected: "${{ steps.package-selection.outputs.packages_selected }}"
selected_packages: "${{ steps.package-selection.outputs.selected_packages }}" selected_packages: "${{ steps.package-selection.outputs.selected_packages }}"
build_matrix: "${{ steps.package-selection.outputs.build_matrix }}"
greptimedb_selected: "${{ steps.package-selection.outputs.greptimedb_selected }}" greptimedb_selected: "${{ steps.package-selection.outputs.greptimedb_selected }}"
steps: steps:
- name: Prepare Environment - name: Prepare Environment
@@ -63,6 +62,18 @@ jobs:
id: package-selection id: package-selection
run: scripts/apk/ci-package-cache.sh prepare run: scripts/apk/ci-package-cache.sh prepare
- name: Validate selected package matrix
run: |
for package in ${ALPINE_PACKAGES}; do
case "${package}" in
seaweedfs|greptimedb|lavinmq|gitea|nifi|rclone-openrc) ;;
*)
printf 'selected package is missing from the CI build matrix: %s\n' "${package}" >&2
exit 1
;;
esac
done
build: build:
needs: preflight needs: preflight
if: needs.preflight.outputs.packages_selected == 'true' if: needs.preflight.outputs.packages_selected == 'true'
@@ -70,7 +81,8 @@ jobs:
timeout-minutes: 180 timeout-minutes: 180
strategy: strategy:
fail-fast: false fail-fast: false
matrix: ${{ fromJSON(needs.preflight.outputs.build_matrix) }} matrix:
package: [seaweedfs, greptimedb, lavinmq, gitea, nifi, rclone-openrc]
container: container:
image: "alpine:3.24" image: "alpine:3.24"
env: env:
@@ -87,11 +99,13 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Build package - name: Build package
if: contains(needs.preflight.outputs.selected_packages, matrix.package)
run: | run: |
scripts/apk/ci-build.sh scripts/apk/ci-build.sh
scripts/apk/list-packages.sh scripts/apk/list-packages.sh
- name: Check artifact upload support - name: Check artifact upload support
if: contains(needs.preflight.outputs.selected_packages, matrix.package)
run: | run: |
test -n "${ACTIONS_RUNTIME_TOKEN:-}" || { test -n "${ACTIONS_RUNTIME_TOKEN:-}" || {
echo "artifact upload support is required for split package builds" >&2 echo "artifact upload support is required for split package builds" >&2
@@ -99,6 +113,7 @@ jobs:
} }
- name: Upload package artifacts - name: Upload package artifacts
if: contains(needs.preflight.outputs.selected_packages, matrix.package)
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: alpine-package-${{ matrix.package }}-${{ github.sha }} name: alpine-package-${{ matrix.package }}-${{ github.sha }}
+1 -3
View File
@@ -111,7 +111,7 @@ registry_upgrade_packages() {
} }
prepare() { prepare() {
local build_matrix selected local selected
declare -A selected_map=() declare -A selected_map=()
download_registry_metadata download_registry_metadata
@@ -138,9 +138,7 @@ prepare() {
} >> "${GITHUB_ENV}" } >> "${GITHUB_ENV}"
fi fi
if [[ -n "${GITHUB_OUTPUT:-}" ]]; then if [[ -n "${GITHUB_OUTPUT:-}" ]]; then
build_matrix="$({ printf '%s\n' "${ALPINE_PACKAGES}" | tr ' ' '\n' | jq -Rsc 'split("\n") | map(select(length > 0)) | {package: .}'; })"
printf 'selected_packages=%s\n' "${ALPINE_PACKAGES}" >> "${GITHUB_OUTPUT}" printf 'selected_packages=%s\n' "${ALPINE_PACKAGES}" >> "${GITHUB_OUTPUT}"
printf 'build_matrix=%s\n' "${build_matrix}" >> "${GITHUB_OUTPUT}"
if [[ -n "${ALPINE_PACKAGES}" ]]; then if [[ -n "${ALPINE_PACKAGES}" ]]; then
printf 'packages_selected=true\n' >> "${GITHUB_OUTPUT}" printf 'packages_selected=true\n' >> "${GITHUB_OUTPUT}"
else else