name: CI on: [push, pull_request] jobs: build_unix: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macOS-latest] steps: - uses: actions/checkout@v1 - name: (macOS) Download LLVM and setup PATH if: startsWith(matrix.os, 'macOS') run: | brew install llvm echo ::add-path::/usr/local/opt/llvm/bin echo ::set-env name=CPATH::`xcrun --show-sdk-path`/usr/include - name: (Linux) Download LLVM if: startsWith(matrix.os, 'ubuntu') run: | sudo apt-get install llvm - name: build odin run: make release - name: Odin run run: ./odin run examples/demo/demo.odin - name: Odin check run: ./odin check examples/demo/demo.odin -vet build_windows: runs-on: windows-latest steps: - uses: actions/checkout@v1 - name: Install cURL run: choco install curl - name: Download and unpack LLVM bins shell: cmd run: | cd bin curl -sL https://github.com/odin-lang/Odin/releases/download/llvm-windows/llvm-binaries.zip --output llvm-binaries.zip 7z x llvm-binaries.zip > nul - name: build Odin shell: cmd run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat ./ci/build_ci.bat - name: Odin run shell: cmd run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat odin run examples/demo/demo.odin - name: Odin check shell: cmd run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat odin check examples/demo/demo.odin -vet