Arch Builder INIT
This commit is contained in:
Executable
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
version="${1:?version required}"
|
||||
tag="${2:?release tag required}"
|
||||
|
||||
echo "==> Resolving exact tdlib commit from ${tag}"
|
||||
td_commit="$(./scripts/get-tdlib-commit.sh "$tag")"
|
||||
echo "tdlib commit: ${td_commit}"
|
||||
|
||||
./scripts/update-pkgbuild.sh "$version" "$td_commit"
|
||||
|
||||
rm -rf src pkg build
|
||||
|
||||
echo "==> Building ${version} with makepkg"
|
||||
|
||||
# AyuGram is a very large C++ project. Limit parallelism to avoid OOM on
|
||||
# smaller runners. Override with AYUGRAM_JOBS if your runner has more RAM.
|
||||
jobs="${AYUGRAM_JOBS:-$(nproc)}"
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL="$jobs"
|
||||
|
||||
# makepkg must not be run as root.
|
||||
if [[ "$(id -u)" -eq 0 ]]; then
|
||||
echo "ERROR: makepkg must run as an unprivileged user." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
makepkg \
|
||||
--syncdeps \
|
||||
--cleanbuild \
|
||||
--clean \
|
||||
--noconfirm \
|
||||
--skippgpcheck
|
||||
|
||||
pkg="$(find . -maxdepth 1 -type f -name '*.pkg.tar.zst' -print -quit)"
|
||||
|
||||
[[ -n "$pkg" ]] || {
|
||||
echo "ERROR: no package produced" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "PACKAGE=$pkg" >> "$GITHUB_OUTPUT"
|
||||
echo "VERSION=$version" >> "$GITHUB_OUTPUT"
|
||||
echo "TD_COMMIT=$td_commit" >> "$GITHUB_OUTPUT"
|
||||
|
||||
echo "==> Package: $pkg"
|
||||
Reference in New Issue
Block a user