Switch to Wayland-only and split release notes
build-mesa-git / build-deb (push) Failing after 1m22s

This commit is contained in:
2026-06-21 13:51:43 +02:00
parent 398e91bb2d
commit 072d099260
3 changed files with 70 additions and 22 deletions
+7 -2
View File
@@ -13,9 +13,8 @@ System-Mesa genutzt werden kann.
## Build-Profil ## Build-Profil
Standardmaessig baut das Repo Mesa mit beiden Plattformen: Standardmaessig baut das Repo Mesa fuer:
- `x11`
- `wayland` - `wayland`
Und mit diesem Treiberprofil: Und mit diesem Treiberprofil:
@@ -45,10 +44,16 @@ zu alten Distributionspaketen scheitern.
Die Release-Notes werden automatisch erzeugt und enthalten: Die Release-Notes werden automatisch erzeugt und enthalten:
- eigene Repo-Commits fuer dieses Release
- den verwendeten Mesa-Upstream-Commit - den verwendeten Mesa-Upstream-Commit
- das gebaute Paket - das gebaute Paket
- die Mesa-Commits seit dem vorherigen `mesa-git`-Release - die Mesa-Commits seit dem vorherigen `mesa-git`-Release
Die beiden Bereiche werden getrennt dargestellt:
- `Repo Changes`
- `Mesa Upstream`
Wenn kein vorheriger passender Release-Vergleich gefunden wird, nutzt der Workflow Wenn kein vorheriger passender Release-Vergleich gefunden wird, nutzt der Workflow
als Fallback die juengsten Upstream-Commits. als Fallback die juengsten Upstream-Commits.
+1 -1
View File
@@ -10,7 +10,7 @@ LIBDRM_GIT_REF="main"
INSTALL_PREFIX="/opt/mesa-git" INSTALL_PREFIX="/opt/mesa-git"
BUILD_TYPE="release" BUILD_TYPE="release"
PLATFORMS="x11,wayland" PLATFORMS="wayland"
# Broad desktop profile: AMD, Intel, NVIDIA nouveau plus software fallback. # Broad desktop profile: AMD, Intel, NVIDIA nouveau plus software fallback.
GALLIUM_DRIVERS="radeonsi,r300,r600,iris,crocus,nouveau,zink,llvmpipe,softpipe" GALLIUM_DRIVERS="radeonsi,r300,r600,iris,crocus,nouveau,zink,llvmpipe,softpipe"
+62 -19
View File
@@ -6,6 +6,7 @@ SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
ROOT_DIR=$(cd -- "${SCRIPT_DIR}/.." && pwd) ROOT_DIR=$(cd -- "${SCRIPT_DIR}/.." && pwd)
DIST_ENV="${ROOT_DIR}/dist/package-info.env" DIST_ENV="${ROOT_DIR}/dist/package-info.env"
MESA_SRC_DIR="${ROOT_DIR}/work/mesa" MESA_SRC_DIR="${ROOT_DIR}/work/mesa"
REPO_SRC_DIR="${ROOT_DIR}"
if [[ ! -f "${DIST_ENV}" ]]; then if [[ ! -f "${DIST_ENV}" ]]; then
echo "missing dist metadata: ${DIST_ENV}" >&2 echo "missing dist metadata: ${DIST_ENV}" >&2
@@ -17,6 +18,11 @@ if [[ ! -d "${MESA_SRC_DIR}/.git" ]]; then
exit 1 exit 1
fi fi
if [[ ! -d "${REPO_SRC_DIR}/.git" ]]; then
echo "missing repo checkout: ${REPO_SRC_DIR}" >&2
exit 1
fi
# shellcheck disable=SC1090 # shellcheck disable=SC1090
source "${DIST_ENV}" source "${DIST_ENV}"
@@ -36,7 +42,7 @@ RELEASES_JSON="$(curl -fsS \
-H "Authorization: token ${GITEA_TOKEN}" \ -H "Authorization: token ${GITEA_TOKEN}" \
"${GITEA_SERVER_URL}/api/v1/repos/${GITEA_REPOSITORY}/releases?limit=20")" "${GITEA_SERVER_URL}/api/v1/repos/${GITEA_REPOSITORY}/releases?limit=20")"
PREVIOUS_SHA="$( PREVIOUS_VALUES="$(
python3 - "${RELEASES_JSON}" "${RELEASE_TAG}" "${PACKAGE_NAME}" <<'PY' python3 - "${RELEASES_JSON}" "${RELEASE_TAG}" "${PACKAGE_NAME}" <<'PY'
import json import json
import re import re
@@ -54,43 +60,80 @@ for release in releases:
match = pattern.match(tag) match = pattern.match(tag)
if match: if match:
print(match.group(1)) print(match.group(1))
print(release.get("target_commitish", ""))
break break
PY PY
)" )"
COMMITS_TRUNCATED=0 PREVIOUS_MESA_SHA="$(printf '%s\n' "${PREVIOUS_VALUES}" | sed -n '1p')"
COMMIT_LIMIT=50 PREVIOUS_REPO_SHA="$(printf '%s\n' "${PREVIOUS_VALUES}" | sed -n '2p')"
if [[ -n "${PREVIOUS_SHA}" ]] && git -C "${MESA_SRC_DIR}" rev-parse --verify --quiet "${PREVIOUS_SHA}^{commit}" >/dev/null; then CURRENT_REPO_SHA="$(git -C "${REPO_SRC_DIR}" rev-parse HEAD)"
COMPARE_RANGE="${PREVIOUS_SHA}..${UPSTREAM_GIT_SHA}" REPO_COMMITS_TRUNCATED=0
mapfile -t COMMITS < <(git -C "${MESA_SRC_DIR}" log --no-merges --format='- %h %s' "${COMPARE_RANGE}") REPO_COMMIT_LIMIT=20
RANGE_LABEL="Changes since \`${PREVIOUS_SHA}\`" MESA_COMMITS_TRUNCATED=0
MESA_COMMIT_LIMIT=50
if [[ -n "${PREVIOUS_REPO_SHA}" ]] && git -C "${REPO_SRC_DIR}" rev-parse --verify --quiet "${PREVIOUS_REPO_SHA}^{commit}" >/dev/null; then
REPO_COMPARE_RANGE="${PREVIOUS_REPO_SHA}..${CURRENT_REPO_SHA}"
mapfile -t REPO_COMMITS < <(git -C "${REPO_SRC_DIR}" log --no-merges --format='- %h %s' "${REPO_COMPARE_RANGE}")
REPO_RANGE_LABEL="Repo changes since \`${PREVIOUS_REPO_SHA}\`"
else else
COMPARE_RANGE="${UPSTREAM_GIT_SHA}" REPO_COMPARE_RANGE="${CURRENT_REPO_SHA}"
mapfile -t COMMITS < <(git -C "${MESA_SRC_DIR}" log --no-merges -n "${COMMIT_LIMIT}" --format='- %h %s' "${COMPARE_RANGE}") mapfile -t REPO_COMMITS < <(git -C "${REPO_SRC_DIR}" log --no-merges -n "${REPO_COMMIT_LIMIT}" --format='- %h %s' "${REPO_COMPARE_RANGE}")
RANGE_LABEL="Recent upstream commits" REPO_RANGE_LABEL="Recent repo commits"
fi fi
if (( ${#COMMITS[@]} > COMMIT_LIMIT )); then if (( ${#REPO_COMMITS[@]} > REPO_COMMIT_LIMIT )); then
COMMITS=( "${COMMITS[@]:0:${COMMIT_LIMIT}}" ) REPO_COMMITS=( "${REPO_COMMITS[@]:0:${REPO_COMMIT_LIMIT}}" )
COMMITS_TRUNCATED=1 REPO_COMMITS_TRUNCATED=1
fi
if [[ -n "${PREVIOUS_MESA_SHA}" ]] && git -C "${MESA_SRC_DIR}" rev-parse --verify --quiet "${PREVIOUS_MESA_SHA}^{commit}" >/dev/null; then
MESA_COMPARE_RANGE="${PREVIOUS_MESA_SHA}..${UPSTREAM_GIT_SHA}"
mapfile -t MESA_COMMITS < <(git -C "${MESA_SRC_DIR}" log --no-merges --format='- %h %s' "${MESA_COMPARE_RANGE}")
MESA_RANGE_LABEL="Mesa upstream changes since \`${PREVIOUS_MESA_SHA}\`"
else
MESA_COMPARE_RANGE="${UPSTREAM_GIT_SHA}"
mapfile -t MESA_COMMITS < <(git -C "${MESA_SRC_DIR}" log --no-merges -n "${MESA_COMMIT_LIMIT}" --format='- %h %s' "${MESA_COMPARE_RANGE}")
MESA_RANGE_LABEL="Recent Mesa upstream commits"
fi
if (( ${#MESA_COMMITS[@]} > MESA_COMMIT_LIMIT )); then
MESA_COMMITS=( "${MESA_COMMITS[@]:0:${MESA_COMMIT_LIMIT}}" )
MESA_COMMITS_TRUNCATED=1
fi fi
{ {
printf '## Mesa Upstream\n\n' printf '## Repo Changes\n\n'
printf -- '- Repo commit: `%s`\n' "${CURRENT_REPO_SHA}"
printf -- '- Release tag: `%s`\n\n' "${RELEASE_TAG}"
printf '### %s\n\n' "${REPO_RANGE_LABEL}"
if (( ${#REPO_COMMITS[@]} == 0 )); then
printf -- '- No repo changes found for this release.\n'
else
printf '%s\n' "${REPO_COMMITS[@]}"
fi
if (( REPO_COMMITS_TRUNCATED == 1 )); then
printf '\n_Repo changes truncated to the first %d commits._\n' "${REPO_COMMIT_LIMIT}"
fi
printf '\n## Mesa Upstream\n\n'
printf -- '- Upstream: `%s`\n' "${UPSTREAM_GIT_URL}" printf -- '- Upstream: `%s`\n' "${UPSTREAM_GIT_URL}"
printf -- '- Ref: `%s`\n' "${UPSTREAM_GIT_REF}" printf -- '- Ref: `%s`\n' "${UPSTREAM_GIT_REF}"
printf -- '- Commit: `%s`\n' "${UPSTREAM_GIT_SHA_SHORT}" printf -- '- Commit: `%s`\n' "${UPSTREAM_GIT_SHA_SHORT}"
printf -- '- Package: `%s`\n\n' "${PACKAGE_FILE}" printf -- '- Package: `%s`\n\n' "${PACKAGE_FILE}"
printf '## %s\n\n' "${RANGE_LABEL}" printf '### %s\n\n' "${MESA_RANGE_LABEL}"
if (( ${#COMMITS[@]} == 0 )); then if (( ${#MESA_COMMITS[@]} == 0 )); then
printf -- '- No new upstream commits found for this release.\n' printf -- '- No new upstream commits found for this release.\n'
else else
printf '%s\n' "${COMMITS[@]}" printf '%s\n' "${MESA_COMMITS[@]}"
fi fi
if (( COMMITS_TRUNCATED == 1 )); then if (( MESA_COMMITS_TRUNCATED == 1 )); then
printf '\n_Release notes truncated to the first %d commits._\n' "${COMMIT_LIMIT}" printf '\n_Mesa upstream changes truncated to the first %d commits._\n' "${MESA_COMMIT_LIMIT}"
fi fi
} > "${ROOT_DIR}/dist/release-notes.md" } > "${ROOT_DIR}/dist/release-notes.md"