12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- name: test
- on:
- push:
- pull_request:
- jobs:
- skip:
- runs-on: ubuntu-latest
- steps:
- - run: echo "Skip job"
- before:
- runs-on: ubuntu-latest
- if: "! contains(github.event.head_commit.message, '[skip ci]')"
- steps:
- - run: echo "not contains '[skip ci]'"
- build:
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os:
- - ubuntu-latest
- #- windows-latest
- #- macOS-latest
- nim_version:
- - '1.2.0'
- - 'stable'
- needs: before
- env:
- TIMEOUT_EXIT_STATUS: 124
- steps:
- - uses: actions/checkout@v1
- - name: Cache nimble
- id: cache-nimble
- uses: actions/cache@v1
- with:
- path: ~/.nimble
- key: ${{ runner.os }}-nimble-${{ hashFiles('*.nimble') }}
- - uses: jiro4989/setup-nim-action@v1
- with:
- nim-version: ${{ matrix.nim_version }}
- - name: Fix apt packages
- run: |
- # see. https://github.com/actions/virtual-environments/issues/675
- sudo sed -i 's/azure\.//' /etc/apt/sources.list
- sudo apt update -yqq
- - name: Install xvfb
- run: sudo apt install -y xvfb
- - name: Install freeglut
- run: sudo apt install -y freeglut3 freeglut3-dev
- - name: Install sdl2
- run: sudo apt install --fix-missing -y libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev
- - name: Build examples
- run: |
- cd examples
- for dir in hello_world calculator novel snake screensaver; do
- (
- cd "$dir"
- nim c main.nim
- timeout 2 xvfb-run --auto-servernum --server-num=1 ./main || [ $? -eq ${{ env.TIMEOUT_EXIT_STATUS }} ]
- )
- done
- shell: bash
- - name: Build tests
- run: |
- cd tests
- for file in $(ls -v test*.nim); do
- echo "test: $file"
- nim c $file
- timeout 2 xvfb-run --auto-servernum --server-num=1 ./${file%%.nim} || [ $? -eq ${{ env.TIMEOUT_EXIT_STATUS }} ]
- done
- shell: bash
|