Add cache for docker compose container

This commit is contained in:
Rickey Fehr
2025-09-14 15:15:42 -07:00
parent 074f1956aa
commit 5b76cbfad0
+30 -5
View File
@@ -8,15 +8,44 @@ on:
branches: branches:
- main - main
workflow_dispatch: workflow_dispatch:
inputs:
clear_cache:
description: 'Clear docker cache before running'
type: boolean
default: false
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Get docker image cache
uses: actions/cache@v4
with:
path: /tmp/docker-cache
key: docker-images-${{ hashFiles('docker-compose.yml') }}
- name: Clear docker cache (if requested)
if: github.event.inputs.clear_cache == 'true'
run: |
echo "Clearing Docker cache..."
rm -rf /tmp/docker-cache
echo "Docker cache cleared"
- name: Load or pull images
run: |
if [ -f /tmp/docker-cache/balatro.tar ]; then
echo "Loading Image"
docker load -i /tmp/docker-cache/balatro.tar
else
echo "Pulling Image"
docker compose pull balatro
mkdir -p /tmp/docker-cache
docker save $(docker compose config | grep image: | awk '{print $2}') -o /tmp/docker-cache/balatro.tar
fi
- name: Export UID/GID for Compose - name: Export UID/GID for Compose
run: | run: |
echo "UID=$(id -u)" >> "$GITHUB_ENV" echo "UID=$(id -u)" >> "$GITHUB_ENV"
@@ -24,7 +53,3 @@ jobs:
- name: Build the project - name: Build the project
run: docker compose -f docker-compose.yml run --rm balatro sh -c "make -j$(nproc)" run: docker compose -f docker-compose.yml run --rm balatro sh -c "make -j$(nproc)"
- name: Compose down
if: always()
run: docker compose -f docker-compose.yml down -v || true