name: CI env: ODIN_BRANCH: dev-2025-10 on: push: branches: ["master"] paths-ignore: ["**/*.md"] pull_request: branches: ["master"] paths-ignore: ["**/*.md"] # Allow to run this workflow manually from the Actions tab. workflow_dispatch: jobs: windows: strategy: matrix: os: [windows-latest] fail-fast: false runs-on: ${{ matrix.os }} timeout-minutes: 15 steps: - uses: actions/checkout@v4 - name: Download Odin shell: cmd run: | git clone --depth 1 --branch %ODIN_BRANCH% https://github.com/odin-lang/Odin - name: Build Odin shell: cmd run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat cd Odin ./build.bat 1 - name: Build ols shell: cmd run: ./ci.bat CI linux: strategy: matrix: os: [ubuntu-latest] fail-fast: false runs-on: ${{ matrix.os }} timeout-minutes: 15 steps: - uses: actions/checkout@v4 - name: Setup Dependencies run: | wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh 17 echo "/usr/lib/llvm-17/bin" >> $GITHUB_PATH - name: Build Odin run: | git clone --depth 1 --branch $ODIN_BRANCH https://github.com/odin-lang/Odin cd Odin && ./build_odin.sh release - name: Build ols run: ./ci.sh CI macos: strategy: matrix: os: [macos-latest] fail-fast: false runs-on: ${{ matrix.os }} timeout-minutes: 15 steps: - uses: actions/checkout@v4 - name: Setup Dependencies run: | brew install llvm@17 echo "/usr/local/opt/llvm@17/bin" >> $GITHUB_PATH TMP_PATH=$(xcrun --show-sdk-path)/user/include echo "CPATH=$TMP_PATH" >> $GITHUB_ENV - name: Build Odin run: | git clone --depth 1 --branch $ODIN_BRANCH https://github.com/odin-lang/Odin cd Odin && ./build_odin.sh release - name: Build ols run: ./ci.sh CI