update to 0.3 #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: EMLXAxon | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'emlx/lib/**' | |
| - 'emlx/c_src/**' | |
| - 'emlx/mix.exs' | |
| - 'emlx/mix.lock' | |
| - 'emlx_axon/lib/**' | |
| - 'emlx_axon/test/**' | |
| - 'emlx_axon/mix.exs' | |
| - 'emlx_axon/mix.lock' | |
| workflow_dispatch: | |
| concurrency: | |
| group: emlx-axon-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| emlx_axon: | |
| name: EMLXAxon suite (macOS arm64) | |
| runs-on: macos-26 | |
| env: | |
| MIX_ENV: test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Elixir and Erlang | |
| id: setup | |
| run: | | |
| curl -fsSO https://elixir-lang.org/install.sh | |
| sh install.sh elixir@1.17.0 otp@25.3.2.15 | |
| OTP_MAJOR="25" | |
| export OTP_PATH=$HOME/.elixir-install/installs/otp/25.3.2.15/bin | |
| export ELIXIR_PATH=$HOME/.elixir-install/installs/elixir/1.17.0-otp-${OTP_MAJOR}/bin | |
| echo "path=${OTP_PATH}:${ELIXIR_PATH}" >> $GITHUB_OUTPUT | |
| echo "${OTP_PATH}" >> $GITHUB_PATH | |
| echo "${ELIXIR_PATH}" >> $GITHUB_PATH | |
| - name: Setup Mix | |
| run: | | |
| export PATH="${{ steps.setup.outputs.path }}:${PATH}" | |
| mix local.hex --force | |
| mix local.rebar --force | |
| - name: Cache emlx deps and build | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ${{ github.workspace }}/emlx/deps | |
| ${{ github.workspace }}/emlx/_build | |
| key: ${{ runner.os }}-emlx-axon-emlx-${{ hashFiles('emlx/mix.lock', 'emlx/mix.exs', 'emlx/c_src/**') }}-v1 | |
| - name: Cache emlx_axon deps and build | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ${{ github.workspace }}/emlx_axon/deps | |
| ${{ github.workspace }}/emlx_axon/_build | |
| key: ${{ runner.os }}-emlx-axon-${{ hashFiles('emlx_axon/mix.lock', 'emlx_axon/mix.exs') }}-v1 | |
| - name: Build EMLX | |
| working-directory: emlx | |
| run: | | |
| export PATH="${{ steps.setup.outputs.path }}:${PATH}" | |
| mix deps.get | |
| mix compile | |
| - name: Install emlx_axon dependencies | |
| working-directory: emlx_axon | |
| run: | | |
| export PATH="${{ steps.setup.outputs.path }}:${PATH}" | |
| mix deps.get | |
| - name: Check formatting | |
| working-directory: emlx_axon | |
| run: | | |
| export PATH="${{ steps.setup.outputs.path }}:${PATH}" | |
| mix format --check-formatted | |
| - name: Run emlx_axon tests | |
| working-directory: emlx_axon | |
| env: | |
| EMLX_TEST_DEFAULT_GPU: "true" | |
| run: | | |
| export PATH="${{ steps.setup.outputs.path }}:${PATH}" | |
| mix test --exclude quantized_inference --warnings-as-errors |