Skip to content

debug

debug #242

Workflow file for this run

name: CI
on:
push:
branches:
- '*'
tags:
- 'v*.*.*'
jobs:
manylinux_build:
# build wheels for some linux
name: Build linux ${{ matrix.python.name }} wheel
runs-on: ubuntu-latest
container: quay.io/pypa/manylinux2014_x86_64
strategy:
matrix:
python:
- {
name: cp37,
abi: cp37m,
version: '3.7',
}
# - {
# name: cp38,
# abi: cp38,
# version: '3.8',
# }
# - {
# name: cp39,
# abi: cp39,
# version: '3.9',
# }
# - {
# name: cp310,
# abi: cp310,
# version: '3.10',
# }
# - {
# name: cp311,
# abi: cp311,
# version: '3.11',
# }
# - {
# name: cp312,
# abi: cp312,
# version: '3.12',
# }
steps:
- name: Checkout sources
uses: actions/checkout@v3
with:
submodules: true
- name: Setup path
run: echo "/opt/python/${{ matrix.python.name }}-${{ matrix.python.abi }}/bin/" >> $GITHUB_PATH
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
- name: Compile SuiteSparse
run: make
- name: Build wheel
run: |
# export __O3_OPTIM=1
python3 setup.py bdist_wheel
auditwheel repair dist/*.whl
- name: Build source archive
if: matrix.python.name == 'cp311'
run: python setup.py sdist
- name: Install wheel
run: pip3 install wheelhouse/*.whl --user
# - name: Install GDB
# run: yum install -y gdb
- name: Check package can be imported
run: |
python3 -c "import lightsim2grid"
python3 -c "from lightsim2grid import *"
python3 -c "from lightsim2grid.newtonpf import newtonpf"
- name: Check LightSimBackend can be imported (install grid2op)
run: |
python3 -m pip install grid2op
python3 -m pip freeze
- name: Check LightSimBackend can be imported 1
run:
python3 -v -c "from lightsim2grid import LightSimBackend"
- name: Check LightSimBackend can be imported 2
run:
python3 -v -c "from lightsim2grid import LightSimBackend; import grid2op; env = grid2op.make('l2rpn_case14_sandbox', test=True, backend=LightSimBackend())"
- name: Upload wheel
uses: actions/upload-artifact@v3
with:
name: lightsim2grid-wheel-linux-${{ matrix.python.name }}
path: wheelhouse/*.whl
- name: Upload source archive
uses: actions/upload-artifact@v3
if: matrix.python.name == 'cp311'
with:
name: lightsim2grid-sources
path: dist/*.tar.gz
# windows_build:
# # build wheels for windows
# name: Build windows ${{ matrix.python.name }} wheel
# runs-on: windows-2019
# strategy:
# matrix:
# python:
# - {
# name: cp37,
# version: '3.7',
# }
# - {
# name: cp38,
# version: '3.8',
# }
# - {
# name: cp39,
# version: '3.9',
# }
# - {
# name: cp310,
# version: '3.10',
# }
# - {
# name: cp311,
# version: '3.11',
# }
# - {
# name: cp312,
# version: '3.12',
# }
# env:
# RUNNER_OS: windows-2019
# PYTHON_VERSION: ${{ matrix.python.version }}
# steps:
# - name: Checkout sources
# uses: actions/checkout@v3
# with:
# submodules: true
# - name: Setup Python
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python.version }}
# - name: Install Python dependencies
# run: |
# python -m pip install --upgrade pip
# python -m pip install --upgrade setuptools
# python -m pip install -r requirements.txt
# - name: Compile SuiteSparse cmake
# run: |
# cd build_cmake
# python generate_c_files.py
# mkdir build
# cd build
# cmake -DCMAKE_INSTALL_PREFIX=..\built -DCMAKE_BUILD_TYPE=Release ..
# cmake --build . --config Release
# cmake --install . --prefix ..\built
# cd ..
# cd ..
# set __O3_OPTIM=1
# python setup.py build
# - name: Build wheel
# run: python setup.py bdist_wheel
# - name: Install wheel
# shell: bash
# run: python -m pip install dist/*.whl --user
# - name: Check package can be imported
# run: |
# python -c "import lightsim2grid"
# python -c "from lightsim2grid import *"
# python -c "from lightsim2grid.newtonpf import newtonpf"
# - name: Check LightSimBackend can be imported
# run: |
# python -m pip install grid2op
# python -c "from lightsim2grid import LightSimBackend"
# python -c "from lightsim2grid import LightSimBackend; import grid2op; env = grid2op.make('l2rpn_case14_sandbox', test=True, backend=LightSimBackend())"
# - name: Upload wheel
# uses: actions/upload-artifact@v3
# with:
# name: lightsim2grid-wheel-${{ matrix.config.name }}-${{ matrix.python.name }}
# path: dist/*.whl
# macos_build_37:
# # build wheel for python 3.7 for macos
# name: Build macos ${{ matrix.python.name }} wheel
# runs-on: macos-latest
# strategy:
# matrix:
# python:
# - {
# name: cp37,
# version: '3.7',
# }
# steps:
# - name: Checkout sources
# uses: actions/checkout@v3
# with:
# submodules: true
# - name: Setup Python
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python.version }}
# - name: Install Python dependencies
# run: |
# python -m pip install --upgrade pip
# python -m pip install -r requirements.txt
# - name: Compile SuiteSparse make
# run: |
# make
# export __O3_OPTIM=1
# python3 setup.py build
# - name: Build wheel
# run: python setup.py bdist_wheel
# - name: Install wheel
# shell: bash
# run: python -m pip install dist/*.whl --user
# - name: Check package can be imported
# run: |
# python -c "import lightsim2grid"
# python -c "from lightsim2grid import *"
# python -c "from lightsim2grid.newtonpf import newtonpf"
# - name: Check LightSimBackend can be imported
# run: |
# python -m pip install grid2op
# python -c "from lightsim2grid import LightSimBackend"
# python -c "from lightsim2grid import LightSimBackend; import grid2op; env = grid2op.make('l2rpn_case14_sandbox', test=True, backend=LightSimBackend())"
# - name: Upload wheel
# uses: actions/upload-artifact@v3
# with:
# name: lightsim2grid-wheel-darwin-${{ matrix.python.name }}
# path: dist/*.whl
# macos_build_38_:
# # build wheel for python 3.8 and above for macos
# name: Build darwin ${{ matrix.python.name }} wheel
# runs-on: macos-latest
# strategy:
# matrix:
# python:
# - {
# name: cp38,
# version: '3.8',
# }
# - {
# name: cp39,
# version: '3.9',
# }
# - {
# name: cp310,
# version: '3.10',
# }
# - {
# name: cp311,
# version: '3.11',
# }
# - {
# name: cp312,
# version: '3.12',
# }
# env:
# RUNNER_OS: macos-latest
# PYTHON_VERSION: ${{ matrix.python.version }}
# steps:
# - name: Checkout sources
# uses: actions/checkout@v3
# with:
# submodules: true
# - name: Setup Python
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python.version }}
# - name: Set Additional Envs
# shell: bash
# run: |
# echo "PYTHON_SUBVERSION=$(echo $PYTHON_VERSION | cut -c 3-)" >> $GITHUB_ENV
# echo "DEPLOY=$( [[ $GITHUB_EVENT_NAME == 'push' && $GITHUB_REF == 'refs/tags'* ]] && echo 'True' || echo 'False' )" >> $GITHUB_ENV
# - name: Compile with cibuildwheel
# uses: pypa/cibuildwheel@v2.15.0
# env:
# CIBW_BUILD: "cp3${{env.PYTHON_SUBVERSION}}-*" # see https://github.com/cvxpy/cvxpy/blob/master/.github/workflows/build.yml
# CIBW_ARCHS_LINUX: auto aarch64 # not used I believe
# CIBW_ARCHS_MACOS: x86_64 arm64
# CIBW_ENVIRONMENT: __O3_OPTIM=1
# CIBW_BEFORE_BUILD: make clean && make # and not CIBW_BEFORE_ALL !
# CIBW_TEST_REQUIRES: grid2op pandapower
# CIBW_TEST_SKIP: "*-macosx_arm64" # to silence warning "While arm64 wheels can be built on x86_64, they cannot be tested."
# CIBW_TEST_COMMAND: >
# python -c "import lightsim2grid" &&
# python -c "from lightsim2grid import *" &&
# python -c "from lightsim2grid.newtonpf import newtonpf" &&
# python -c "from lightsim2grid.solver import KLUSolver" &&
# python -c "from lightsim2grid import LightSimBackend" &&
# python -c "from lightsim2grid import LightSimBackend; import grid2op; env = grid2op.make('l2rpn_case14_sandbox', test=True, backend=LightSimBackend())"
# - name: Upload wheel
# uses: actions/upload-artifact@v3
# with:
# name: wheels-darwin-${{ matrix.python.name }}
# path: ./wheelhouse/*.whl
package:
name: Package wheels
runs-on: ubuntu-latest
needs: [manylinux_build] #, windows_build, macos_build_37, macos_build_38_]
steps:
- name: Download wheels
uses: actions/download-artifact@v3
with:
path: download
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: lightsim2grid-wheels
path: |
download/**/*.whl
download/**/*.tar.gz