diff --git a/.riahub/workflows/train.yaml b/.riahub/workflows/train.yaml index df3e87c..938f513 100644 --- a/.riahub/workflows/train.yaml +++ b/.riahub/workflows/train.yaml @@ -15,11 +15,11 @@ permissions: jobs: WavesFM-Training: - runs-on: "ubuntu-latest" + runs-on: "ubuntu-24.04" env: WAVESFM_TASK: "rml" - WAVESFM_EPOCHS: "1" - WAVESFM_BATCH_SIZE: "8" + WAVESFM_EPOCHS: "10" + WAVESFM_BATCH_SIZE: "2048" WAVESFM_OUTPUT_DIR: "/opt/wavesfm/output" # Single source of truth for the cloned WavesFM repo location. # Referenced as ${{ env.WAVESFM_REPO_DIR }} in steps. To relocate @@ -44,7 +44,6 @@ jobs: echo "No NVIDIA GPU available." fi - - name: "Download Model (qoherent/wavesfm-base/wavesfm-v1p0.pth)" shell: bash timeout-minutes: 4 @@ -181,8 +180,7 @@ jobs: fi exit 1 fi - - - name: "Checkout Dataset (qoherent/icc-demo/datasets/icc28-train_v1.0.0.h5)" + - name: Checkout Training Dataset shell: bash timeout-minutes: 10 env: @@ -212,16 +210,8 @@ jobs: AUTH_HEADER="" if [[ -n "${RIAHUB_USER:-}" && -n "${RIAHUB_TOKEN:-}" ]]; then - AUTH_HEADER=$(printf 'Authorization: basic %s' \ - "$(printf '%s:%s' "$RIAHUB_USER" "$RIAHUB_TOKEN" | base64 | tr -d '\n')") + AUTH_HEADER=$(printf 'Authorization: basic %s' "$(printf '%s:%s' "$RIAHUB_USER" "$RIAHUB_TOKEN" | base64 | tr -d '\n')") fi - # ``sudo env GIT_TERMINAL_PROMPT=0`` propagates the env var across - # sudo's default ``env_reset`` boundary; a bare ``sudo git`` would - # see an empty env on most distros' default sudoers, so the - # step-level ``env:`` block's GIT_TERMINAL_PROMPT=0 would NOT - # actually reach git child processes. Without it, git falls back - # to opening ``/dev/tty`` (the PTY allocated by act_runner) and - # prompting for credentials on a 401, hanging until timeout. git_auth() { if [[ -n "$AUTH_HEADER" ]]; then sudo env GIT_TERMINAL_PROMPT=0 git -c "http.extraheader=$AUTH_HEADER" "$@" @@ -229,9 +219,8 @@ jobs: sudo env GIT_TERMINAL_PROMPT=0 git "$@" fi } - REPO_PATH='/qoherent/icc-demo.git' - DEST_ROOT='/opt/qmb/riahub/dataset/qoherent/icc-demo/ef0a0e430f8e5019dec52794fccab958b3a3c2b7' + DEST_ROOT='/opt/qmb/riahub/dataset/qoherent/icc-demo/main' sudo mkdir -p "$(dirname "$DEST_ROOT")" if ! command -v git-lfs >/dev/null 2>&1; then sudo apt-get update -y @@ -247,28 +236,13 @@ jobs: sudo mkdir -p "$DEST_ROOT" sudo git -C "$DEST_ROOT" init || continue sudo git -C "$DEST_ROOT" remote add origin "$REPO_URL" || continue - # See ``_render_model_checkout`` for the rationale on skipping - # ``git lfs install --local`` — short version: the smudge - # filter it would register tries its own credential lookup - # during ``git checkout FETCH_HEAD`` and hangs forever on - # /dev/tty when the repo is internal/private. We rely on - # the explicit ``git lfs fetch`` (with auth) + - # ``git lfs checkout`` (local) pair below instead. sudo git -C "$DEST_ROOT" sparse-checkout init --no-cone || continue sudo git -C "$DEST_ROOT" sparse-checkout set --no-cone -- \ 'datasets/icc28-train_v1.0.0.h5' || continue if ! git_auth -C "$DEST_ROOT" fetch --depth=1 origin 'ef0a0e430f8e5019dec52794fccab958b3a3c2b7'; then continue fi - # See ``_render_model_checkout`` for the rationale on - # ``GIT_LFS_SKIP_SMUDGE=1`` — short version: the runner has - # the LFS smudge filter installed system-wide - # (``/etc/gitconfig``), so checkout fires it and the filter's - # credential helper hangs on /dev/tty for internal repos. - # Skipping smudge here lets the explicit ``git lfs fetch`` - # below handle materialization with proper auth. - if ! sudo env GIT_TERMINAL_PROMPT=0 GIT_LFS_SKIP_SMUDGE=1 \ - git -C "$DEST_ROOT" -c advice.detachedHead=false checkout FETCH_HEAD; then + if ! sudo env GIT_TERMINAL_PROMPT=0 GIT_LFS_SKIP_SMUDGE=1 git -C "$DEST_ROOT" -c advice.detachedHead=false checkout FETCH_HEAD; then continue fi if ! git_auth -C "$DEST_ROOT" lfs fetch origin --include='datasets/icc28-train_v1.0.0.h5' --exclude=""; then @@ -294,7 +268,7 @@ jobs: if [[ "$MATERIALIZED" -ne 1 ]]; then echo "Failed to materialize dataset using base URL candidates derived from: $BASE_URL_SOURCE" >&2 if [[ -z "$AUTH_HEADER" ]]; then - echo " (set QMBDEMO_USER+QMBDEMO_TOKEN repo secrets for internal/private repos)" >&2 + echo " (no credentials configured: set QMBDEMO_USER and QMBDEMO_TOKEN repo secrets for internal/private repos)" >&2 fi exit 1 fi @@ -498,5 +472,4 @@ jobs: ${{ env.WAVESFM_OUTPUT_DIR }}/best.pth ${{ env.WAVESFM_OUTPUT_DIR }}/log.txt if-no-files-found: warn -# committed at 2026-05-28T11:36:29.397013+00:00 -# retry 2026-05-28T11:38:35+00:00 +# committed at 2026-05-28T11:57:55.094537+00:00