bdist #41
Workflow file for this run
This file contains 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
# for github runner images, see: https://github.com/actions/runner-images?tab=readme-ov-file#available-images | |
name: interpret-CI | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 12 * * *" | |
jobs: | |
bld: | |
strategy: | |
matrix: | |
include: | |
- name: linux_release_64 | |
image: ubuntu-20.04 | |
options: "-release_64" | |
asm: "-asm" | |
artifact_name: "libebm_ubuntu_release_64" | |
- name: linux_debug_64 | |
image: ubuntu-20.04 | |
options: "-debug_64" | |
asm: "" | |
artifact_name: "libebm_ubuntu_debug_64" | |
- name: mac_release_64 | |
image: macos-13 # macos-13 is an intel based mac | |
options: "-release_64" | |
asm: "-asm" | |
artifact_name: "libebm_mac_release_64" | |
- name: mac_debug_64 | |
image: macos-13 # macos-13 is an intel based mac | |
options: "-debug_64" | |
asm: "" | |
artifact_name: "libebm_mac_debug_64" | |
- name: mac_release_arm | |
image: macos-14 # macos-14 is an ARM based mac | |
options: "-release_arm" | |
asm: "-asm" | |
artifact_name: "libebm_mac_release_arm" | |
- name: mac_debug_arm | |
image: macos-14 # macos-14 is an ARM based mac | |
options: "-debug_arm" | |
asm: "" | |
artifact_name: "libebm_mac_debug_arm" | |
- name: win_release_64 | |
image: windows-2022 | |
options: "-release_64" | |
asm: "" | |
artifact_name: "libebm_win_release_64" | |
- name: win_debug_64 | |
image: windows-2022 | |
options: "-debug_64" | |
asm: "" | |
artifact_name: "libebm_win_debug_64" | |
runs-on: ${{ matrix.image }} | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
- name: Build on Windows | |
if: startsWith(matrix.image, 'windows') | |
run: | | |
$env:PATH += ';C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin' | |
.\build.bat ${{ matrix.options }} ${{ matrix.asm }} | |
- name: Build on Linux | |
if: startsWith(matrix.image, 'ubuntu') | |
run: | | |
sudo apt --yes update | |
sudo apt --yes install nvidia-cuda-toolkit | |
/bin/sh ./build.sh ${{ matrix.options }} ${{ matrix.asm }} | |
- name: Build on macOS | |
if: startsWith(matrix.image, 'macos') | |
run: | | |
/bin/sh ./build.sh ${{ matrix.options }} ${{ matrix.asm }} | |
- name: Publish shared library | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact_name }} | |
path: bld/lib | |
- name: Publish assembly | |
if: ${{ matrix.asm != '' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: asm-${{ matrix.artifact_name }} | |
path: bld/asm/ | |
vis: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
- name: Build vis | |
run: | | |
cd shared/vis | |
npm install | |
npm run build-prod | |
- name: Publish interpret-inline.js library | |
uses: actions/upload-artifact@v4 | |
with: | |
name: vis | |
path: shared/vis/dist | |
npm: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
- name: Build npm package | |
run: | | |
cd shared/vis | |
npm install | |
npm run build-prod | |
npm pack | |
mkdir pkg | |
cp *.tgz pkg/ | |
- name: Publish npm package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: npm | |
path: shared/vis/pkg | |
R: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
- name: Build R package | |
run: | | |
cd R | |
sudo apt --yes update | |
sudo apt --yes install texlive-latex-base texlive-fonts-extra | |
Rscript build.R | |
- name: Display errors | |
if: failure() | |
run: cat bld/tmp/R/interpret.Rcheck/00install.out | |
- name: Publish R package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: R | |
path: bld/R | |
sdist: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Build sdist package | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
cd python/interpret-core | |
python setup.py sdist -d ../../bld/sdist | |
cd ../interpret | |
python setup.py sdist -d ../../bld/sdist | |
- name: Publish sdist package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sdist | |
path: bld/sdist | |
bdist: | |
runs-on: ubuntu-20.04 | |
needs: [bld, vis] | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Download artifact lib files | |
uses: actions/download-artifact@v4 | |
with: | |
name: lib | |
path: $(System.ArtifactsDirectory)/lib/ | |
- name: Flatten and copy lib files | |
run: | | |
cp $(System.ArtifactsDirectory)/lib/* python/interpret-core/interpret/root/bld/lib/ | |
- name: Build bdist package | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
cd python/interpret-core | |
python setup.py bdist_wheel -d ../../bld/bdist | |
cd ../interpret | |
python setup.py bdist_wheel -d ../../bld/bdist | |
- name: Publish bdist package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: bdist | |
path: bld/bdist |