|
| 1 | +name : GitHub Actions Continuous Integration |
| 2 | +run-name : ${ { github.actor} } is running CI 🚀 |
| 3 | +on : [ push] |
| 4 | +jobs : |
| 5 | + Continuous-Integration : |
| 6 | + runs-on : ubuntu-24.04 |
| 7 | + steps : |
| 8 | + - run : echo"🎉 The job was automatically triggered by a ${{ github.event_name }} event." |
| 9 | + - run : echo"🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" |
| 10 | + - run : echo"🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." |
| 11 | + - name : Check out repository code |
| 12 | + uses : actions/checkout@v4 |
| 13 | + - run : echo"💡 The ${{ github.repository }} repository has been cloned to the runner." |
| 14 | + - run : echo"🖥️ The workflow is now ready to test your code on the runner." |
| 15 | + - name: Update OS and get tools |
| 16 | + run: | |
| 17 | + sudo apt-get update |
| 18 | + # Cmucl needs 32-bit libs to run |
| 19 | + sudo apt-get install gcc-multilib |
| 20 | + # texlive for latex so we can build the pdf manual. |
| 21 | + # texlive-plain-generic to get epsf.sty that's needed by the |
| 22 | + # manual. |
| 23 | + sudo apt-get install texlive texlive-plain-generic |
| 24 | + - name: Get cmucl binaries |
| 25 | + run: | |
| 26 | + wget -nv https://common-lisp.net/project/cmucl/downloads/snapshots/2024/04/cmucl-2024-04-x86-linux.tar.bz2 |
| 27 | + wget -nv https://common-lisp.net/project/cmucl/downloads/snapshots/2024/04/cmucl-2024-04-x86-linux.extra.tar.bz2 |
| 28 | + mkdir snapshot |
| 29 | + tar -C snapshot -xjf cmucl-2024-04-x86-linux.tar.bz2 |
| 30 | + tar -C snapshot -xjf cmucl-2024-04-x86-linux.extra.tar.bz2 |
| 31 | + - name: Build |
| 32 | + run: | |
| 33 | + # Regular build |
| 34 | + bin/build.sh -R -C x86_linux -o snapshot/bin/lisp |
| 35 | + bin/make-dist.sh -V `git describe --dirty` -I dist linux-4 |
| 36 | + - name: Unit tests |
| 37 | + run: | |
| 38 | + bin/run-unit-tests.sh -l dist/bin/lisp 2>&1 | tee unit-test.log |
| 39 | + - name: Archive unit test results |
| 40 | + uses: actions/upload-artifacts@v4 |
| 41 | + with: |
| 42 | + name: unit-tests |
| 43 | + path: | |
| 44 | + unit-test.log |
| 45 | + - name: Ansi tests |
| 46 | + run: | |
| 47 | + bin/run-ansi-tests.sh -l dist/bin/lisp |
| 48 | + - name: Archive ansi-test |
| 49 | + uses: actions/upload-artifacts@v4 |
| 50 | + with: |
| 51 | + name: ansi-tests |
| 52 | + path: | |
| 53 | + test.log |
0 commit comments