Skip to content

Commit

Permalink
Configure minizinc before running tests
Browse files Browse the repository at this point in the history
If minizinc (or discrete-optimization which imports itself minizinc)
is imported before skdecide, the paths to minizinc are not yet
configured as it is done in skdecide.hub.__init__.py
So we do it manually
  • Loading branch information
nhuet committed Sep 23, 2022
1 parent 2b0eeff commit a154f55
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
28 changes: 28 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,16 @@ jobs:
- name: Test with pytest
run: |
# configure minizinc
cd tests # avoid having directory skdecide in current path
minizinc_path=$(python -c "import skdecide.hub, os; print(os.path.abspath(skdecide.hub.__path__[0]))")
minizinc_path=$(cygpath --unix $minizinc_path) # convert path to posix so that $PATH works ok
export MZN_SOLVER_PATH=$minizinc_path
export PATH="$minizinc_path/bin":$PATH
cd - # get back to working directory
# test minizinc
python -c "import minizinc; print(minizinc.default_driver.minizinc_version); minizinc.Solver.lookup('gecode')"
# run pytest
pytest -v -s tests/autocast
pytest -v -s tests/solvers/cpp
pytest -v -s tests/solvers/python
Expand Down Expand Up @@ -453,6 +463,15 @@ jobs:
- name: Test with pytest
run: |
# configure minizinc
cd tests # avoid having directory skdecide in current path
minizinc_path=$(python -c "import skdecide.hub, os; print(os.path.abspath(skdecide.hub.__path__[0]))")
export MZN_SOLVER_PATH=$minizinc_path
export PATH="$minizinc_path/bin":$PATH
cd - # get back to working directory
# test minizinc
python -c "import minizinc; print(minizinc.default_driver.minizinc_version); minizinc.Solver.lookup('gecode')"
# run pytest
pytest -v -s tests/autocast
pytest -v -s tests/solvers/cpp
pytest -v -s tests/solvers/python
Expand Down Expand Up @@ -493,6 +512,15 @@ jobs:
- name: Test with pytest
run: |
# configure minizinc
cd tests # avoid having directory skdecide in current path
minizinc_path=$(python -c "import skdecide.hub, os; print(os.path.abspath(skdecide.hub.__path__[0]))")
export MZN_SOLVER_PATH=$minizinc_path
export PATH="$minizinc_path/bin":$PATH
cd - # get back to working directory
# test minizinc
python -c "import minizinc; print(minizinc.default_driver.minizinc_version); minizinc.Solver.lookup('gecode')"
# run pytest
pytest -v -s tests/autocast
pytest -v -s tests/solvers/cpp
pytest -v -s tests/solvers/python
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,16 @@ jobs:
- name: Test with pytest
run: |
# configure minizinc
cd tests # avoid having directory skdecide in current path
minizinc_path=$(python -c "import skdecide.hub, os; print(os.path.abspath(skdecide.hub.__path__[0]))")
minizinc_path=$(cygpath --unix $minizinc_path) # convert path to posix so that $PATH works ok
export MZN_SOLVER_PATH=$minizinc_path
export PATH="$minizinc_path/bin":$PATH
cd - # get back to working directory
# test minizinc
python -c "import minizinc; print(minizinc.default_driver.minizinc_version); minizinc.Solver.lookup('gecode')"
# run pytest
pytest -v -s tests/autocast
pytest -v -s tests/solvers/cpp
pytest -v -s tests/solvers/python
Expand Down Expand Up @@ -380,6 +390,15 @@ jobs:
- name: Test with pytest
run: |
# configure minizinc
cd tests # avoid having directory skdecide in current path
minizinc_path=$(python -c "import skdecide.hub, os; print(os.path.abspath(skdecide.hub.__path__[0]))")
export MZN_SOLVER_PATH=$minizinc_path
export PATH="$minizinc_path/bin":$PATH
cd - # get back to working directory
# test minizinc
python -c "import minizinc; print(minizinc.default_driver.minizinc_version); minizinc.Solver.lookup('gecode')"
# run pytest
pytest -v -s tests/autocast
pytest -v -s tests/solvers/cpp
pytest -v -s tests/solvers/python
Expand Down Expand Up @@ -419,6 +438,15 @@ jobs:
- name: Test with pytest
run: |
# configure minizinc
cd tests # avoid having directory skdecide in current path
minizinc_path=$(python -c "import skdecide.hub, os; print(os.path.abspath(skdecide.hub.__path__[0]))")
export MZN_SOLVER_PATH=$minizinc_path
export PATH="$minizinc_path/bin":$PATH
cd - # get back to working directory
# test minizinc
python -c "import minizinc; print(minizinc.default_driver.minizinc_version); minizinc.Solver.lookup('gecode')"
# run pytest
pytest -v -s tests/autocast
pytest -v -s tests/solvers/cpp
pytest -v -s tests/solvers/python
Expand Down

0 comments on commit a154f55

Please sign in to comment.