Files
wakey/scripts
T
c5c7fd8cca · 2025-12-16 17:49:36 +07:00
History
..
2025-08-26 22:38:43 +07:00
ok
2025-12-16 17:49:36 +07:00
2025-12-06 00:57:14 +07:00
2025-12-16 17:34:56 +07:00

Scripts

This folder has small helpers for build, CI, and router install. Keep it simple; use only what you need.

  1. Start your Gitea runner on this Windows PC (if not already running):

    ./scripts/act_runner.ps1
    

    If first-time, it prints the exact register command. Run it once, check labels include windows:host,self-hosted, then rerun the script.

  2. Publish, tag, and push (recommended):

    ./scripts/publish.ps1 -Tag
    

    This will bump the version (if you specify one), build, ensure the runner is started, tag, and push. To also publish to the registry, add -Publish.

  3. Install on the router

    Use the updater on the router to fetch the latest automatically:

    WAKEY_HOST=git.ldlda.com WAKEY_OWNER=lda WAKEY_REPO=wakey sh /etc/ldlda_help/update_wakey.sh
    

    Alternatively, use the release asset URL from your Gitea Release page:

    wget -O- https://<gitea>/<owner>/<repo>/releases/download/v0.1.0/wakey-rootfs-v0.1.0-armv7-unknown-linux-musleabihf.tgz | tar -xz -C /
    chmod +x /etc/init.d/wakey && /etc/init.d/wakey enable && /etc/init.d/wakey restart
    

Scripts overview

  • act_runner.ps1 — Start/seed the local Gitea runner. Use -Attach to see logs, -ForceConfigure to register non-interactively.
  • dev_push.ps1 — Fast dev loop: build + upload to router. Usage:
    • ./scripts/dev_push.ps1 -Pass <password> [-HostName <ip>] [-RemotePath </root/.bin/wakey>] [-Restart] [-Quiet]
    • Uploads to <RemotePath>.tmp then atomically moves into place; -Restart restarts the service; -Quiet silences MOTD.
  • package_rootfs.ps1 — Produces dist/wakey-rootfs-<version>-<target>.tgz with /root/.bin/wakey and /etc/init.d/*.
  • publish.ps1 — Optional version bump + build + tag (and cargo publish only if you pass -Publish).

CI (Gitea)

  • Defined in .gitea/workflows/release.yml.
  • Runs on your self-hosted, windows runner.
  • Steps: cross build → package rootfs → upload artifact (v3) → publish a release and attach tgz.
  • Requires secrets.GITEA_TOKEN in the repo to publish the release.

Local build/install (manual path)

# Build
cargo build --release --target armv7-unknown-linux-musleabihf

# Package rootfs
./scripts/package_rootfs.ps1 -Version v0.1.0 -Target armv7-unknown-linux-musleabihf

# Copy to router (PowerShell)
scp -O .\dist\wakey-rootfs-v0.1.0-armv7-unknown-linux-musleabihf.tgz root@<router-ip>:/tmp/wakey.tgz
# On the router
tar -xz -f /tmp/wakey.tgz -C /
chmod +x /etc/init.d/wakey && /etc/init.d/wakey enable && /etc/init.d/wakey restart

Or you can use the script:

./scripts/dev_push.ps1 -Pass <password>

Thats it. Keep the flow: start runner → tag push → install.