JuliaMath / openlibm

High quality system independent, portable, open source libm implementation

Home Page:https://openlibm.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implement Github actions for CI

ViralBShah opened this issue · comments

Would be nice to transition to github actions and test on mac, linux and windows. Help appreciated!

Implemented in 9dd3049 but needs to be fixed for Windows.

Attempting in #240 but could clearly benefit from someone who knows this stuff better than me!

@DilumAluthge @giordano Could use your help here to get windows 32-bit testing correctly (currently disabled) - and generally taking a look at the ci file to see if I have done it right.

https://github.com/JuliaMath/openlibm/blob/master/.github/workflows/ci.yml

Just FYI, @giordano is on vacation.

Can you summarize the issue you're having with Windows 32-bit?

- name: Install i686-w64-mingw32-gcc
if: ${{ matrix.os == 'windows-latest' && matrix.arch == 'x86' }}
shell: bash
run: |
choco install mingw -y --x86 --force --params "/exception:sjlj"
choco install make -y
echo "CC=i686-w64-mingw32-gcc" >> "${GITHUB_ENV}"

I'm guessing this is the part that's causing problems?

Apart from that part, the CI file looks pretty normal to me.

Hmmm. On Windows x86, should we do make ARCH=i386 instead of make?

So, just as an example, you might replace this:

- name: Build and run tests
  run: make && make test

With this:

- name: Build
  run: make
  if: ${{ matrix.os != 'windows-latest' || matrix.arch != 'x86' }}

- name: Build (Windows x86)
  run: make ARCH=i386
  if: ${{ matrix.os == 'windows-latest' && matrix.arch == 'x86' }}

- name: Run tests
  run: make test

I approved the workflow.

#243 closes this