From 83639ac94d407d288c42e20d2b1c980d5750dd7a Mon Sep 17 00:00:00 2001 From: Benno Lorenz Date: Tue, 17 Jun 2025 23:36:54 +0200 Subject: [PATCH] replaced hashing function for caching --- .gitea/workflows/deploy.yml | 42 +++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 47ec5e3..a180e28 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -16,6 +16,17 @@ jobs: submodules: false # Don't fetch submodules yet fetch-depth: 0 + # Setup Go for the go-hashfiles action + - uses: actions/setup-go@v3 + with: + go-version: '1.20' + + # Generate hash for submodules + - uses: actions/go-hashfiles@v0.0.1 + id: submodules-hash + with: + patterns: .gitmodules + # Cache the submodule content - name: Cache submodules id: cache-submodules @@ -24,7 +35,7 @@ jobs: path: | .git/modules themes/blowfish - key: ${{ runner.os }}-submodules-${{ hashFiles('.gitmodules') }} + key: ${{ runner.os }}-submodules-${{ steps.submodules-hash.outputs.hash }} restore-keys: | ${{ runner.os }}-submodules- @@ -33,12 +44,18 @@ jobs: if: steps.cache-submodules.outputs.cache-hit != 'true' run: git submodule update --init --recursive + # Generate hash for Hugo dependencies + - uses: actions/go-hashfiles@v0.0.1 + id: hugo-deps-hash + with: + patterns: '**/go.sum' + # Cache Hugo dependencies and modules - name: Cache Hugo dependencies uses: actions/cache@v3 with: path: /tmp/hugo_cache - key: ${{ runner.os }}-hugo-${{ hashFiles('**/go.sum') }} + key: ${{ runner.os }}-hugo-${{ steps.hugo-deps-hash.outputs.hash }} restore-keys: | ${{ runner.os }}-hugo- @@ -48,24 +65,41 @@ jobs: hugo-version: "latest" extended: true + # Generate hash for Hugo resources + - uses: actions/go-hashfiles@v0.0.1 + id: hugo-resources-hash + with: + patterns: |- + content/** + layouts/** + static/** + themes/** + config/** + # Cache resources but not public to prevent infinite loops - name: Cache Hugo resources uses: actions/cache@v3 with: path: resources/_gen - key: ${{ runner.os }}-hugo-resources-${{ hashFiles('content/**', 'layouts/**', 'static/**', 'themes/**', 'config/**') }} + key: ${{ runner.os }}-hugo-resources-${{ steps.hugo-resources-hash.outputs.hash }} restore-keys: | ${{ runner.os }}-hugo-resources- - name: Build run: hugo --minify --buildFuture + # Generate hash for apt cache + - uses: actions/go-hashfiles@v0.0.1 + id: apt-hash + with: + patterns: '**/deploy.yml' + # Cache apt packages - name: Cache apt packages uses: actions/cache@v3 with: path: /var/cache/apt/archives - key: ${{ runner.os }}-apt-${{ hashFiles('**/deploy.yml') }} + key: ${{ runner.os }}-apt-${{ steps.apt-hash.outputs.hash }} restore-keys: | ${{ runner.os }}-apt-