From fead8487e719bc3cd53db3619ca6bd13d0668987 Mon Sep 17 00:00:00 2001 From: Martyn Ranyard Date: Tue, 7 Nov 2023 18:16:11 +0100 Subject: [PATCH] Try a different cache tool --- .gitea/workflows/buildapps.yaml | 1 - buildall.sh | 9 +++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/buildapps.yaml b/.gitea/workflows/buildapps.yaml index 0d2cb3f..774be97 100644 --- a/.gitea/workflows/buildapps.yaml +++ b/.gitea/workflows/buildapps.yaml @@ -11,7 +11,6 @@ jobs: - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." - - uses: Swatinem/rust-cache@v2 - name: Install gotempl run: | mkdir -p $HOME/bin diff --git a/buildall.sh b/buildall.sh index bc81973..decd12b 100644 --- a/buildall.sh +++ b/buildall.sh @@ -1,5 +1,11 @@ #!/bin/sh +FS_DIR_CACHE_ROOT="$HOME/.cache/fs-dir-cache" # directory to hold all cache (sub)directories +FS_DIR_CACHE_LOCK_ID="pid-$$-rnd-$RANDOM" # acquire lock based on the current pid and something random (just in case pid gets reused) +FS_DIR_CACHE_KEY_NAME="build-project-x" # the base name of our key +FS_DIR_CACHE_LOCK_TIMEOUT_SECS="3600" # unlock after timeout (1h) in case our job fails misereably +cargo install fs-dir-cache + mkdir -p app for i in $(seq 0 $(expr $(jq '. | length' < apps.json) - 1)); do @@ -14,6 +20,9 @@ for i in $(seq 0 $(expr $(jq '. | length' < apps.json) - 1)); do $HOME/bin/gotempl --data-json data.json< ../template/src-tauri/Cargo.toml > src-tauri/Cargo.toml $HOME/bin/gotempl --data-json data.json< ../template/src-tauri/tauri.conf.json > src-tauri/tauri.conf.json cd src-tauri + fs-dir-cache gc unused --seconds "$((7 * 24 * 60 * 60))" # delete caches not used in more than a week + cache_dir=$(fs-dir-cache lock --key-file Cargo.toml) + trap "fs-dir-cache unlock --dir ${cache_dir}" EXIT cargo tauri build cargo tauri build --target i686-pc-windows-msvc cd ..