Skip to content

release-artifacts

release-artifacts #3

Workflow file for this run

name: release-artifacts
on:
push:
tags:
- "v*"
branches:
- "*"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
MIX_ENV: prod
NX_IREE_PREFER_PRECOMPILED: "false"
BUILD_CACHE: ${{ github.workspace }}/build_cache
jobs:
download_iree:
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Erlang and Elixir
uses: erlef/setup-beam@v1
- name: Cache mix packages
id: cache-mix-deps
uses: actions/cache@v4
with:
key: deps-${{ hashFiles('mix.lock') }}
path: |
./deps
- name: Get mix deps
if: steps.cache-mix-deps.outputs.cache-hit != 'true'
run: |
mix deps.get
- name: Get IREE version
id: get-iree-version
run: echo "iree_version=$(mix iree.version)" >> $GITHUB_ENV
- name: Cache IREE source code
id: cache-iree
uses: actions/cache@v4
with:
key: iree-${{ env.iree_version }}
path: |
${{ env.BUILD_CACHE }}/iree
- name: Download IREE source code
if: steps.cache-iree.outputs.cache-hit != 'true'
run: |
bash scripts/clone_iree.sh ${{ env.BUILD_CACHE }} ${{ env.iree_version }} '${{ env.BUILD_CACHE }}/iree'
build_artifacts:
runs-on: macos-14
needs: download_iree
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Erlang and Elixir
uses: erlef/setup-beam@v1
- name: Cache mix packages
id: cache-mix-deps
uses: actions/cache/restore@v4
with:
key: deps-${{ hashFiles('mix.lock') }}
path: |
./deps
- name: Get IREE version
id: get-iree-version
run: echo "iree_version=$(mix iree.version)" >> $GITHUB_ENV
- name: Cache IREE source code
id: cache-iree
uses: actions/cache/restore@v4
with:
key: iree-${{ env.iree_version }}
path: |
${{ env.BUILD_CACHE }}/iree
- name: Build IREE
run: |
IREE_DIR=${{ env.BUILD_CACHE }}/iree make compile
- name: Build artifacts
run: |
mix compile
mix release