Merge branch 'main' of https://git.valmo.dev/projectbraf/braf
Deploy DEV Workshop / deploy-dev-workshop (push) Failing after 2m33s
Deploy DEV Workshop / deploy-dev-workshop (push) Failing after 2m33s
This commit is contained in:
@@ -7,8 +7,8 @@ on:
|
||||
|
||||
env:
|
||||
STEAM_APP_ID: "107410"
|
||||
HOST_REPO: /home/valmo/braf
|
||||
HOST_CACHE: /home/valmo/braf-ci-cache/dev-workshop
|
||||
HOST_REPO: /data/valmo/braf
|
||||
HOST_CACHE: /data/valmo/braf-ci-cache/dev-workshop
|
||||
BRAF_CI_STAGE_DIR: dist/dev/@braf_dev
|
||||
|
||||
jobs:
|
||||
@@ -29,9 +29,9 @@ jobs:
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
mkdir -p "$HOST_CACHE"
|
||||
|
||||
docker run --rm -i \
|
||||
--user root \
|
||||
-e BRAF_CI_STAGE_DIR \
|
||||
-e GIT_BEFORE \
|
||||
-e GIT_SHA \
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
-v "$HOST_REPO:/repo" \
|
||||
-v "$HOST_CACHE:/cache" \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
docker.gitea.com/runner-images:ubuntu-latest \
|
||||
valmo/braf-mikero:3.23.8.60 \
|
||||
bash -s <<'BRAF_CI'
|
||||
set -euo pipefail
|
||||
|
||||
@@ -65,22 +65,25 @@ jobs:
|
||||
}
|
||||
|
||||
install_mikero() {
|
||||
if [[ ! -x /cache/mikero-tools/bin/makepbo ]]; then
|
||||
rm -rf /tmp/mikero-tools-action /cache/mikero-tools
|
||||
mkdir -p /tmp/mikero-tools-action /cache/mikero-tools
|
||||
curl -fsSL \
|
||||
https://github.com/arma-actions/mikero-tools/archive/refs/heads/master.tar.gz \
|
||||
-o /tmp/mikero-tools-action.tar.gz
|
||||
tar -zxf /tmp/mikero-tools-action.tar.gz \
|
||||
--strip-components=1 \
|
||||
-C /tmp/mikero-tools-action
|
||||
tar -xf /tmp/mikero-tools-action/linux/*.tar \
|
||||
--strip-components=1 \
|
||||
-C /cache/mikero-tools
|
||||
export WINEPREFIX=/cache/mikero-wine
|
||||
export WINEARCH=win64
|
||||
export WINEDEBUG=-all
|
||||
|
||||
if ! command -v pboProject >/dev/null; then
|
||||
echo "pboProject is missing from valmo/braf-mikero image." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
export PATH="/cache/mikero-tools/bin:$PATH"
|
||||
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}:/cache/mikero-tools/lib"
|
||||
if ! command -v winetricks >/dev/null; then
|
||||
apt-get install -y winetricks
|
||||
fi
|
||||
|
||||
if [[ ! -f "$WINEPREFIX/drive_c/windows/system32/mfc140u.dll" ]]; then
|
||||
echo "Initializing the persistent Mikero Wine runtime."
|
||||
xvfb-run -a winetricks -q vcrun2015
|
||||
fi
|
||||
|
||||
sed -i "s#exec /usr/lib/wine/wine64#exec xvfb-run -a /usr/bin/wine#" /usr/local/bin/pboProject
|
||||
}
|
||||
|
||||
is_zero_sha() {
|
||||
@@ -179,7 +182,23 @@ jobs:
|
||||
git_auth lfs fetch origin "$GIT_SHA" --include="$include" --exclude="*"
|
||||
git lfs checkout "${changed_addons[@]}"
|
||||
else
|
||||
echo "Only workshop metadata changed; using cached PBOs."
|
||||
echo "Only workshop metadata changed; seeding any missing PBO cache entries."
|
||||
mapfile -t changed_addons < <(
|
||||
git ls-tree -d --name-only "$GIT_SHA" |
|
||||
awk "/^braf_/ {print}" |
|
||||
while read -r addon; do
|
||||
if git cat-file -e "$GIT_SHA:$addon/config.cpp" 2>/dev/null; then
|
||||
printf "%s\n" "$addon"
|
||||
fi
|
||||
done
|
||||
)
|
||||
include=""
|
||||
for addon in "${changed_addons[@]}"; do
|
||||
include+="${include:+,}${addon}/**"
|
||||
done
|
||||
echo "Fetching LFS for cache seed: $include"
|
||||
git_auth lfs fetch origin "$GIT_SHA" --include="$include" --exclude="*"
|
||||
git lfs checkout "${changed_addons[@]}"
|
||||
fi
|
||||
|
||||
build_args=(
|
||||
|
||||
+10
-11
@@ -352,14 +352,11 @@ def run_pboproject(addon: str, source_root: Path, output_dir: Path) -> None:
|
||||
"+O" if addon in obfuschatedList else "-O",
|
||||
]
|
||||
else:
|
||||
source = repo_root() / addon
|
||||
fallback = output_dir / f"{addon}.pbo"
|
||||
print(
|
||||
"Mikero pboProject is not available; writing raw DEV PBO "
|
||||
f"for {addon} at {fallback}"
|
||||
raise RuntimeError(
|
||||
"Mikero pboProject is required to build DEV Workshop PBOs. "
|
||||
"The installed DePbo makepbo tool only creates a raw archive and "
|
||||
"must not be published as a BRAF build."
|
||||
)
|
||||
write_raw_pbo(addon, source, fallback)
|
||||
return
|
||||
|
||||
print(f"::group::Building {addon}")
|
||||
print(" ".join(cmd))
|
||||
@@ -467,12 +464,14 @@ def main() -> int:
|
||||
source_root = Path(args.source_root).resolve()
|
||||
elif args.dry_run:
|
||||
source_root = (cache_dir / "mikero-source" / "braf").resolve()
|
||||
elif not (shutil.which("pboproject") or shutil.which("pboProject")):
|
||||
source_root = root
|
||||
else:
|
||||
elif shutil.which("pboproject") or shutil.which("pboProject"):
|
||||
source_root_addons = requested_addons if requested_addons is not None else addons
|
||||
source_root = prepare_mikero_source_root(root, cache_dir, source_root_addons).resolve()
|
||||
|
||||
else:
|
||||
raise RuntimeError(
|
||||
"Mikero pboProject is not installed. Refusing to stage or publish "
|
||||
"raw PBO archives as a DEV Workshop build."
|
||||
)
|
||||
current_hashes = {addon: addon_digest(root / addon) for addon in addons}
|
||||
manifest = load_manifest(manifest_path)
|
||||
manifest_addons = manifest.setdefault("addons", {})
|
||||
|
||||
Reference in New Issue
Block a user