Skip to content

bdist

bdist #41

Workflow file for this run

# 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