Nightly Build / build (push) Successful in 6m43s
Nightly/release workflows: matrix tweaks, artifact path fixes. Package-macos: streamline dmg build, codesigning improvements. Install scripts: rewrite install.sh and install-nightly.sh with robust error handling, add uninstall.sh, overhaul update.sh.
67 lines
2.2 KiB
YAML
67 lines
2.2 KiB
YAML
name: Nightly Build
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: linux-amd64
|
|
|
|
env:
|
|
CARGO_TARGET_DIR: /home/dguiducci/.cache/skald-ci/target
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Build native (linux/amd64)
|
|
run: |
|
|
RUSTFLAGS="-A warnings" cargo build --release --no-default-features
|
|
RUSTFLAGS="-A warnings" cargo build --release --no-default-features -p skald-setup
|
|
|
|
- name: Cross-compile (linux/arm64)
|
|
env:
|
|
CC_aarch64_unknown_linux_gnu: aarch64-linux-gnu-gcc
|
|
AR_aarch64_unknown_linux_gnu: aarch64-linux-gnu-ar
|
|
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
|
|
run: |
|
|
RUSTFLAGS="-A warnings" cargo build --release --no-default-features --target aarch64-unknown-linux-gnu
|
|
RUSTFLAGS="-A warnings" cargo build --release --no-default-features -p skald-setup --target aarch64-unknown-linux-gnu
|
|
|
|
- name: Package amd64
|
|
run: |
|
|
cd "${GITHUB_WORKSPACE:-.}"
|
|
./ci/package.sh \
|
|
--version nightly \
|
|
--os linux \
|
|
--arch amd64 \
|
|
--target-dir /home/dguiducci/.cache/skald-ci/target/release \
|
|
--output dist/
|
|
|
|
- name: Package arm64
|
|
run: |
|
|
cd "${GITHUB_WORKSPACE:-.}"
|
|
./ci/package.sh \
|
|
--version nightly \
|
|
--os linux \
|
|
--arch arm64 \
|
|
--target-dir /home/dguiducci/.cache/skald-ci/target/aarch64-unknown-linux-gnu/release \
|
|
--output dist/
|
|
|
|
- name: Deploy to builds.skaldagent.net
|
|
run: |
|
|
cd "${GITHUB_WORKSPACE:-.}"
|
|
DEST=/var/www/builds.skaldagent.net/nightly
|
|
mkdir -p "$DEST"
|
|
# Nightly reuses a fixed filename, so publish atomically: copy to a
|
|
# temp name on the same filesystem, then rename over the target. A
|
|
# concurrent download never sees a half-written tarball.
|
|
for f in dist/*.tar.gz; do
|
|
name="$(basename "$f")"
|
|
cp "$f" "$DEST/.$name.tmp"
|
|
mv -f "$DEST/.$name.tmp" "$DEST/$name"
|
|
done
|
|
echo "[nightly] Deployed:"
|
|
ls -lh "$DEST/"
|