From 074f1956aaa38eede697c3ab7e40dac55955b843 Mon Sep 17 00:00:00 2001 From: Rickey Fehr Date: Sun, 14 Sep 2025 13:06:41 -0700 Subject: [PATCH] Update Github Actions CI to use Docker Compose --- .github/workflows/build_ci_workflow.yml | 51 +++++-------------------- 1 file changed, 10 insertions(+), 41 deletions(-) diff --git a/.github/workflows/build_ci_workflow.yml b/.github/workflows/build_ci_workflow.yml index 6a3cdc0..45b2760 100644 --- a/.github/workflows/build_ci_workflow.yml +++ b/.github/workflows/build_ci_workflow.yml @@ -2,11 +2,12 @@ name: Build CI on: push: - branches: + branches: - main pull_request: branches: - main + workflow_dispatch: jobs: build: @@ -15,47 +16,15 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 - - - name: Set devkitPro environment variables - run: | - # Installing to home directory to avoid permission denied on caching - echo "DEVKITPRO=/home/runner/devkitpro" >> $GITHUB_ENV - echo "DEVKITARM=/home/runner/devkitpro/devkitARM" >> $GITHUB_ENV - export PATH=$DEVKITARM/bin:$DEVKITPRO/tools/bin:$PATH - - # Caching to avoid excessive request to the devkitpro server from a runner because they - # eventually block and result in permission denied 403. - # If that happens it takes like 2 hours until you can make requests again - - name: Cache devkitPro toolchain - id: cache-devkitpro - uses: actions/cache@v4 - with: - path: /home/runner/devkitpro - # Using a manual key version suffix - v{num}, if changes are made that make the - # cache stale and require a refresh, just bump the version number so there's - # a cache miss. The key needs to match in the "Save devkitPro to cache" stage - # so you need to bump the number there too... - key: devkitpro-${{ runner.os }}-v1 - - name: Set up devkitARM (if not cached) - if: steps.cache-devkitpro.outputs.cache-hit != 'true' + - name: Export UID/GID for Compose run: | - sudo apt update - wget https://apt.devkitpro.org/install-devkitpro-pacman - chmod +x install-devkitpro-pacman - sudo ./install-devkitpro-pacman - mkdir -p "$DEVKITPRO" - sudo dkp-pacman -Sy --noconfirm gba-dev - # Copy from installed directory to cacheable directory - sudo cp -r /opt/devkitpro "/home/runner" - sudo chown -R $USER:$USER "/home/runner/devkitpro" - - name: Save devkitPro to cache - if: steps.cache-devkitpro.outputs.cache-hit != 'true' - uses: actions/cache/save@v4 - with: - path: /home/runner/devkitpro - key: devkitpro-${{ runner.os }}-v1 + echo "UID=$(id -u)" >> "$GITHUB_ENV" + echo "GID=$(id -g)" >> "$GITHUB_ENV" - name: Build the project - run: | - make + 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