From d1591d3e6c43df46c5ff2e25326b552e12632b4a Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Sat, 7 Mar 2026 13:21:47 -0600 Subject: [PATCH] perf: add comprehensive caching to production workflow --- .forgejo/workflows/production.yaml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.forgejo/workflows/production.yaml b/.forgejo/workflows/production.yaml index 53858244..27431749 100644 --- a/.forgejo/workflows/production.yaml +++ b/.forgejo/workflows/production.yaml @@ -38,6 +38,13 @@ jobs: elixir-version: '1.18.1' otp-version: '27.2' + - name: Cache Mix + uses: https://github.com/actions/cache@v4 + with: + path: ~/.mix + key: ${{ runner.os }}-mix-1.18.1-27.2 + restore-keys: ${{ runner.os }}-mix- + - name: Cache deps uses: https://github.com/actions/cache@v4 with: @@ -108,6 +115,13 @@ jobs: with: node-version: '20' + - name: Cache Mix + uses: https://github.com/actions/cache@v4 + with: + path: ~/.mix + key: ${{ runner.os }}-mix-1.18.1-27.2 + restore-keys: ${{ runner.os }}-mix- + - name: Cache deps uses: https://github.com/actions/cache@v4 with: @@ -122,6 +136,20 @@ jobs: key: ${{ runner.os }}-build-${{ hashFiles('lib/**/*.ex') }}-${{ hashFiles('mix.lock') }} restore-keys: ${{ runner.os }}-build- + - name: Cache npm + uses: https://github.com/actions/cache@v4 + with: + path: e2e/node_modules + key: ${{ runner.os }}-npm-${{ hashFiles('e2e/package-lock.json') }} + restore-keys: ${{ runner.os }}-npm- + + - name: Cache Playwright browsers + uses: https://github.com/actions/cache@v4 + with: + path: ~/.cache/ms-playwright + key: ${{ runner.os }}-playwright-${{ hashFiles('e2e/package-lock.json') }} + restore-keys: ${{ runner.os }}-playwright- + - name: Install system dependencies run: | sudo apt-get update