name: CI on: pull_request: branches: - master push: branches: - master tags: '*' jobs: test-unix: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: - ubuntu-latest - macos-latest steps: - uses: actions/checkout@v4 - run: make - run: make test windows: runs-on: windows-latest strategy: fail-fast: false matrix: include: - { sys: mingw64, env: x86_64 } - { sys: mingw32, env: i686 } - { sys: ucrt64, env: ucrt-x86_64 } # Experimental! - { sys: clang64, env: clang-x86_64 } # Experimental! defaults: run: shell: msys2 {0} steps: - uses: actions/checkout@v4 - name: Set up the desired MSYS2 environment uses: msys2/setup-msys2@v2 with: msystem: ${{matrix.sys}} install: base-devel mingw-w64-${{matrix.env}}-toolchain - run: make - run: make test code-coverage: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup LCOV uses: hrishikesh-kadam/setup-lcov@v1 - name: Build and Run tests run: make coverage -j - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 with: files: ./cov-html/libopenlibm.info - uses: actions/upload-artifact@v4 with: name: code-coverage-report path: ./cov-html/