tddschn/install-easygraph is a Action that builds and installs the easygraph from source, on ubuntu-latest.
See action.yml
benchmark:
runs-on: ubuntu-latest # it's only tested to work on ubuntu-latest
steps:
# install-easygraph will use the the version of the `python` in your path
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: 'Build and install easygraph'
uses: tddschn/install-easygraph@master # or v0.1.1, or any other ref
with:
repository: 'easy-graph/Easy-Graph' # or tddschn/Easy-Graph
ref: 'pybind11' # SHA1, tag, or branch
use-cached-build: 'true' # defaults to true. cached builds won't be used for anything other than 'true'.
install-lxml: 'false' # defaults to false. lxml is an optional dependency that doesn't provide wheel for macOS, installing it on macOS takes several minutes.
install-pytorch: 'false' # whether to install pytorchWith complicated caching logic removed.
See dummy/action.yml
benchmark:
runs-on: ubuntu-latest # it's only tested to work on ubuntu-latest
steps:
# install-easygraph will use the the version of the `python` in your path
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: 'Build and install easygraph'
uses: tddschn/install-easygraph@master # or v0.1.1, or any other ref
with:
repository: 'easy-graph/Easy-Graph' # or tddschn/Easy-Graph
ref: 'pybind11' # SHA1, tag, or branch
install-lxml: 'false' # defaults to false. lxml is an optional dependency that doesn't provide wheel for macOS, installing it on macOS takes several minutes.
install-pytorch: 'false' # whether to install pytorch
install-extra-modules: 'pypi-module-1 pypi-module-2'Deprecates:
tddschn/install-easygraph, please usetddschn/install-easygraph/dummyinstead.
Add:
- The
extra-modules-to-installoption.
Warning:
tddschn/install-easygraph@v0.5.0 only works for python>=3.10 on Ubuntu, I'm still investigating the issue.
For use with python <= 3.9, use tddschn/install-easygraph/dummy@v0.5.0
which removed complicated caching logic.
Deprecates:
- Building C++ extension with
boost-python.
Add:
- The
install-pytorch,repository, andrefoptions. install-pytorchcontrols whether to installpytorchin the installation processrepositoryandrefallow users to select other repository (e.g. a fork) and ref other than the tip of themasterorpybind11branch.- A new dummy workflow without caching logic:
tddschn/install-easygraph/dummy
Remove:
- The
cpp-binding-framework,boost-versionoptions.
Click to expand
Add:
- macOS support when using
pybind11ascpp-binding-framework. - The
install-lxmloption.
Tested on ubuntu-latest with the following combination of options (note that python-version is not an option of this action):
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
cpp-binding-framework: ["pybind11"]
include:
- use-cached-build: 'true'Tested on ubuntu-latest with the following combination of options (note that python-version is not an option of this action):
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
cpp-binding-framework: ["pybind11", "boost-python"]
use-cached-build: ["true", "false"]Click to expand
Fix:
- The checking out this action repository step in v0.3.0
Add:
- Caches built egg directory and dependencies under
site-packages,
greatly speed up the action to ~23 seconds.
Without caching,
building withpybind11takes ~90 s, and building withboost-pythontakes over 3 minutes. - The
use-cached-buildoption to control whether to use the cache.
The caches are identified with the combination of:
- the easygraph commit SHA1 they were built against
- the python version (
sys.version)
The release was designed to work with easygraph before the pybind11 branch is merged into master (which hasn't happened when this release was created).
Tested on ubuntu-latest with the following combination of options (note that python-version is not an option of this action):
matrix:
python-version: ["3.7", "3.8", "3.9"]
cpp-binding-framework: ["pybind11", "boost-python"]
use-cached-build: ["true", "false"]Click to expand
Changes from v0.1.1:
- Remove
easygraph-checkout-pathoption
The action will delete the checked out easygraph source code after building and installing. - Add Action branding
The release was designed to work with easygraph before the pybind11 branch is merged into master (which hasn't happened when this release was created).
Click to expand
The v0.1.1 release has been tested and proved to work on these configurations on ubuntu-latest:
python-version: ["3.7", "3.8", "3.9"]
cpp-binding-framework: ["pybind11", "boost-python"]
The release was designed to work with easygraph before the pybind11 branch is merged into master (which hasn't happened when this release was created).