Login
7 branches 0 tags
Ben (X13/Void) New (better?) GitHub workflow aafd188 4 years ago 378 Commits
nujel / .github / workflows / ci.yml
name: CI

on:
  push:
    branches: [ master, develop ]

jobs:
  build-windows:
    runs-on: windows-latest
    defaults:
      run:
        shell: msys2 {0}
    strategy:
      matrix:
        include:
          - { sys: mingw64, env: x86_64 }
          - { sys: mingw32, env: i686 }
          - { sys: ucrt64,  env: ucrt-x86_64 }
          - { sys: clang64, env: clang-x86_64 }
    steps:
    - uses: msys2/setup-msys2@v2
      with:
        msystem: ${{matrix.sys}}
        update: true
        install: >-
          base-devel
          mingw-w64-${{matrix.env}}-toolchain
    - uses: actions/checkout@v2
    - name: Compile
      run: make -j
    - name: Run Tests
      run: make test
    - name: Upload build Artifacts
      uses: actions/upload-artifact@v2
      with:
        name: Nujel-Windows-${{ github.ref_name }}
        path: "./nujel.exe"
        retention-days: 7
  build-ubuntu:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Compile
      run: make -j
    - name: Run Tests
      run: make test
    - name: Upload build Artifacts
      uses: actions/upload-artifact@v2
      with:
        name: Nujel-Linux-${{ github.ref_name }}
        path: "./nujel"
        retention-days: 7
  build-macos:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v2
    - name: Compile
      run: make -j
    - name: Run Tests
      run: make test
    - name: Upload build Artifacts
      uses: actions/upload-artifact@v2
      with:
        name: Nujel-Macos-${{ github.ref_name }}
        path: "./nujel"
        retention-days: 7
  build-wasm:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Compile
      run: make -j
    - name: Compile WASM REPL
      run: bash tools/buildwasm
    - name: Upload build Artifacts
      uses: actions/upload-artifact@v2
      with:
        name: Nujel-Web-${{ github.ref_name }}
        path: "./web/"
        retention-days: 7