123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- name: Packages CI
- on: [push, pull_request]
- jobs:
- build:
- # see D20210329T004830
- if: |
- !contains(format('{0}', github.event.pull_request.title), '[skip ci]')
- strategy:
- fail-fast: false
- matrix:
- os: [ubuntu-18.04, macos-10.15]
- cpu: [amd64]
- batch: ["allowed_failures", "0_3", "1_3", "2_3"] # list of `index_num`
- name: '${{ matrix.os }} (batch: ${{ matrix.batch }})'
- runs-on: ${{ matrix.os }}
- env:
- NIM_TEST_PACKAGES: "1"
- NIM_TESTAMENT_BATCH: ${{ matrix.batch }}
- steps:
- - name: 'Checkout'
- uses: actions/checkout@v2
- with:
- fetch-depth: 2
- - name: 'Check whether to skip CI'
- shell: bash
- run: |
- # see D20210329T004830
- commitMsg=$(git log --no-merges -1 --pretty=format:"%s")
- echo commitMsg: $commitMsg
- echo $commitMsg | grep -v '\[skip ci\]'
- - name: 'Checkout csources'
- uses: actions/checkout@v2
- with:
- repository: nim-lang/csources
- path: csources
- - name: 'Install node.js 12.x'
- uses: actions/setup-node@v1
- with:
- node-version: '12.x'
- - name: 'Install dependencies (Linux amd64)'
- if: runner.os == 'Linux' && matrix.cpu == 'amd64'
- run: |
- sudo apt-fast update -qq
- DEBIAN_FRONTEND='noninteractive' \
- sudo apt-fast install --no-install-recommends -yq \
- libcurl4-openssl-dev libgc-dev libsdl1.2-dev libsfml-dev \
- valgrind libc6-dbg libblas-dev xorg-dev
- - name: 'Install dependencies (macOS)'
- if: runner.os == 'macOS'
- run: brew install boehmgc make sfml gtk+3
- - name: 'Install dependencies (Windows)'
- if: runner.os == 'Windows'
- shell: bash
- run: |
- mkdir dist
- curl -L https://nim-lang.org/download/mingw64.7z -o dist/mingw64.7z
- curl -L https://nim-lang.org/download/dlls.zip -o dist/dlls.zip
- 7z x dist/mingw64.7z -odist
- 7z x dist/dlls.zip -obin
- echo "${{ github.workspace }}/dist/mingw64/bin" >> "${GITHUB_PATH}"
- - name: 'Add build binaries to PATH'
- shell: bash
- run: echo "${{ github.workspace }}/bin" >> "${GITHUB_PATH}"
- - name: 'Build csources'
- shell: bash
- run: |
- ncpu=
- case '${{ runner.os }}' in
- 'Linux')
- ncpu=$(nproc)
- ;;
- 'macOS')
- ncpu=$(sysctl -n hw.ncpu)
- ;;
- 'Windows')
- ncpu=$NUMBER_OF_PROCESSORS
- ;;
- esac
- [[ -z "$ncpu" || $ncpu -le 0 ]] && ncpu=1
- make -C csources -j $ncpu CC=gcc ucpu='${{ matrix.cpu }}'
- - name: 'Build koch'
- shell: bash
- run: nim c koch
- - name: 'Run CI'
- shell: bash
- run: ./koch runCI
- - name: 'Show failed tests'
- if: failure()
- shell: bash
- run: nim c -r tools/ci_testresults.nim
|