diff --git a/.forgejo/workflows/CI.yml b/.forgejo/workflows/CI.yml deleted file mode 100644 index 6b4a105..0000000 --- a/.forgejo/workflows/CI.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: 'CI' - -on: - push: - branches: - - 'main' - pull_request: - -jobs: - test: - runs-on: docker - - strategy: - matrix: - lisp: - - sbcl-bin - - steps: - - uses: actions/checkout@v4 - - - name: Install dependencies - env: - LISP: ${{ matrix.lisp }} - run: | - curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh - ros install fukamachi/qlot - PATH="~/.roswell/bin:$PATH" - qlot install - - - name: Run tests - run: .qlot/bin/rove lack-mw.asd diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml new file mode 100644 index 0000000..dd31d55 --- /dev/null +++ b/.forgejo/workflows/ci.yml @@ -0,0 +1,72 @@ +name: 'CI' + +on: + push: + branches: + - 'main' + pull_request: + +jobs: + test: + runs-on: docker + + strategy: + matrix: + lisp: + - sbcl-bin + + steps: + - uses: actions/checkout@v4 + + - name: Restore cache + id: restore-cache + uses: actions/cache/restore@v4 + with: + path: | + ~/.quicklisp-client-fix + ~/.roswell + /usr/local/bin/ros + /usr/local/etc/roswell/ + qlfile + qlfile.lock + .qlot + ~/.cache/common-lisp/ + key: roswell-${{ runner.os }}-${{ matrix.lisp }}-${{ hashFiles('qlfile', 'qlfile.lock', '*.asd', '.forgejo/workflows/ci.yml') }} + + - name: Install Roswell + if: steps.restore-cache.outputs.cache-hit != 'true' + env: + LISP: ${{ matrix.lisp }} + run: | + curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh + + - name: Install Qlot + if: steps.restore-cache.outputs.cache-hit != 'true' + run: | + ros install fukamachi/qlot + + - name: Install dependencies + if: steps.restore-cache.outputs.cache-hit != 'true' + run: | + PATH="~/.roswell/bin:$PATH" + qlot install + qlot exec ros install lack-mw + + - name: Save cache + id: save-cache + uses: actions/cache/save@v4 + if: steps.restore-cache.outputs.cache-hit != 'true' + with: + path: | + ~/.quicklisp-client-fix + ~/.roswell + /usr/local/bin/ros + /usr/local/etc/roswell/ + qlfile + qlfile.lock + .qlot + ~/.cache/common-lisp/ + key: ${{ steps.restore-cache.outputs.cache-primary-key }} + + - name: Run tests + run: .qlot/bin/rove lack-mw.asd