Minor fixes and redefining of methods in notebooks to run plottings i… #2646
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
name: CI | |
on: push | |
env: | |
up_tamer_commit: "d6c6a8937f4725190a75f993ebc89d2b7234de08" | |
up_pyperplan_commit: "71e0c1fe65f9564f04912168ee26699eff144095" | |
up_fast_downward_commit: "7ccd86de2ce8992a2bc720b1a4b43002b6e1230b" | |
up_fmap_commit: "ad3a878eb049749cdf3ff2ce7d44014dfc4c4424" | |
jobs: | |
basic-check: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v1 | |
with: | |
python-version: 3.8 | |
- name: Install Python dependencies | |
run: python3 -m pip install -r requirements.txt | |
- name: Install Development Python dependencies | |
run: python3 -m pip install -r dev-requirements.txt | |
- name: Install tarski | |
run: | | |
python3 -m pip install tarski[arithmetic] | |
sudo apt install -y gringo | |
- name: Install plotly | |
run: python3 -m pip install plotly | |
- name: Install matplotlib | |
run: python3 -m pip install matplotlib | |
- name: Install pandas | |
run: python3 -m pip install pandas | |
- name: Black check | |
run: | | |
python3 -m pip install black==22.6.0 | |
python3 -m black --check --exclude=unified_planning/grpc/generated/ . | |
- name: MyPy check | |
run: python3 -m mypy unified_planning | |
- name: Test all packages imports | |
run: python3 scripts/test_imports.py | |
check-documentation: | |
runs-on: ubuntu-latest | |
needs: [ | |
basic-check, | |
check-protobuf, | |
] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.8" | |
- name: Install pandoc | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y pandoc | |
- name: Install python requirements | |
run: | | |
pip install --upgrade pip | |
pip install . | |
pip install -r docs/requirements.txt | |
- name: Listing dependency versions | |
run: pip freeze | |
- name: Building docs | |
run: make html | |
working-directory: ./docs | |
run-tests-ubuntu-20-04: | |
runs-on: ubuntu-20.04 | |
needs: [ | |
basic-check, | |
check-protobuf, | |
] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v1 | |
with: | |
python-version: 3.8 | |
- name: Install pyparsing version used in ROS1 | |
run: python3 -m pip install pyparsing==2.4.6 | |
- name: Install Python dependencies | |
run: python3 -m pip install -r requirements.txt | |
- name: Install Development Python dependencies | |
run: python3 -m pip install -r dev-requirements.txt | |
- name: Checkout up-tamer | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-tamer | |
path: up-tamer | |
ref: ${{env.up_tamer_commit}} | |
- name: Install up-tamer | |
run: python3 -m pip install up-tamer/ | |
- name: Checkout up-pyperplan | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-pyperplan | |
path: up-pyperplan | |
ref: ${{env.up_pyperplan_commit}} | |
- name: Install up-pyperplan | |
run: python3 -m pip install up-pyperplan/ | |
- name: Setup java for ENHSP | |
uses: actions/setup-java@v2 | |
with: | |
distribution: "microsoft" | |
java-version: "17" | |
- name: Download and install ENHSP | |
run: | | |
git clone https://gitlab.com/enricos83/ENHSP-Public.git | |
cd ENHSP-Public; git checkout enhsp20-0.9.7; ./compile; cd .. | |
mkdir .planners; mv ENHSP-Public/enhsp-dist .planners/enhsp-20; rm -rf ENHSP-Public | |
- name: Run tests | |
run: bash run_tests.sh | |
run-tests-ubuntu: | |
runs-on: ubuntu-latest | |
needs: [ | |
basic-check, | |
check-protobuf, | |
] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v1 | |
with: | |
python-version: 3.8 | |
- name: Install Python dependencies | |
run: python3 -m pip install -r requirements.txt | |
- name: Install Development Python dependencies | |
run: python3 -m pip install -r dev-requirements.txt | |
- name: Install tarski | |
run: | | |
python3 -m pip install tarski[arithmetic] | |
sudo apt install -y gringo | |
- name: Checkout up-tamer | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-tamer | |
path: up-tamer | |
ref: ${{env.up_tamer_commit}} | |
- name: Install up-tamer | |
run: python3 -m pip install up-tamer/ | |
- name: Checkout up-pyperplan | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-pyperplan | |
path: up-pyperplan | |
ref: ${{env.up_pyperplan_commit}} | |
- name: Install up-pyperplan | |
run: python3 -m pip install up-pyperplan/ | |
- name: Setup java for ENHSP | |
uses: actions/setup-java@v2 | |
with: | |
distribution: "microsoft" | |
java-version: "17" | |
- name: Download and install ENHSP | |
run: | | |
git clone https://gitlab.com/enricos83/ENHSP-Public.git | |
cd ENHSP-Public; git checkout enhsp20-0.9.7; ./compile; cd .. | |
mkdir .planners; mv ENHSP-Public/enhsp-dist .planners/enhsp-20; rm -rf ENHSP-Public | |
- name: Test code-snippets | |
run: bash scripts/test_code_snippets.sh | |
- name: Run tests | |
run: bash run_tests.sh | |
- name: "Upload coverage to Codecov" | |
if: ${{ github.repository == 'aiplan4eu/unified-planning' }} | |
uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./coverage.xml | |
fail_ci_if_error: true | |
run-tests-windows: | |
runs-on: windows-latest | |
needs: [ | |
basic-check, | |
check-protobuf, | |
] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v1 | |
with: | |
python-version: 3.8 | |
- name: Install Python dependencies | |
run: python3 -m pip install -r requirements.txt | |
- name: Install Development Python dependencies | |
run: python3 -m pip install -r dev-requirements.txt | |
- name: Checkout up-tamer | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-tamer | |
path: up-tamer | |
ref: ${{env.up_tamer_commit}} | |
- name: Install up-tamer | |
run: python3 -m pip install up-tamer/ | |
- name: Checkout up-pyperplan | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-pyperplan | |
path: up-pyperplan | |
ref: ${{env.up_pyperplan_commit}} | |
- name: Install up-pyperplan | |
run: python3 -m pip install up-pyperplan/ | |
- name: Setup java for ENHSP | |
uses: actions/setup-java@v2 | |
with: | |
distribution: "microsoft" | |
java-version: "17" | |
- name: Download and install ENHSP | |
run: | | |
git clone https://gitlab.com/enricos83/ENHSP-Public.git | |
cd ENHSP-Public; git checkout enhsp20-0.9.7; bash ./compile; cd .. | |
bash -c "mkdir .planners; mv ENHSP-Public/enhsp-dist .planners/enhsp-20; rm -rf ENHSP-Public" | |
- name: Run tests | |
run: bash run_tests.sh | |
run-tests-macos: | |
runs-on: macos-latest | |
needs: [ | |
basic-check, | |
check-protobuf, | |
] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v1 | |
with: | |
python-version: 3.8 | |
- name: Install Python dependencies | |
run: python3 -m pip install -r requirements.txt | |
- name: Install Development Python dependencies | |
run: python3 -m pip install -r dev-requirements.txt | |
- name: Install tarski | |
run: | | |
python3 -m pip install tarski[arithmetic] | |
# brew install gringo -- Commented because not working on github actions | |
- name: Checkout up-tamer | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-tamer | |
path: up-tamer | |
ref: ${{env.up_tamer_commit}} | |
- name: Install up-tamer | |
run: python3 -m pip install up-tamer/ | |
- name: Checkout up-pyperplan | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-pyperplan | |
path: up-pyperplan | |
ref: ${{env.up_pyperplan_commit}} | |
- name: Install up-pyperplan | |
run: python3 -m pip install up-pyperplan/ | |
- name: Setup java for ENHSP | |
uses: actions/setup-java@v2 | |
with: | |
distribution: "microsoft" | |
java-version: "17" | |
- name: Download and install ENHSP | |
run: | | |
git clone https://gitlab.com/enricos83/ENHSP-Public.git | |
cd ENHSP-Public; git checkout enhsp20-0.9.7; bash ./compile; cd .. | |
bash -c "mkdir .planners; mv ENHSP-Public/enhsp-dist .planners/enhsp-20; rm -rf ENHSP-Public" | |
- name: Run tests | |
run: bash run_tests.sh | |
check-protobuf: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v1 | |
with: | |
python-version: 3.8 | |
- name: Install Protobuf compiler | |
run: | | |
python3 -m pip install grpcio-tools==1.48.1 | |
- name: Check Protobuf generation | |
run: bash scripts/generate_protobuf_bindings.sh | |
- name: Check Protobuf bindings | |
run: | | |
echo "Checking that the committed protobuf bindings are exactly the one generated from the declaration" | |
git diff --exit-code | |
run-colab-notebooks: | |
runs-on: ubuntu-latest | |
needs: [ | |
basic-check, | |
check-protobuf, | |
] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install Python dependencies | |
run: python3 -m pip install -r requirements.txt | |
- name: Install Development Python dependencies | |
run: python3 -m pip install -r dev-requirements.txt | |
- name: Checkout up-tamer | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-tamer | |
path: up-tamer | |
ref: ${{env.up_tamer_commit}} | |
- name: Install up-tamer | |
run: python3 -m pip install up-tamer/ | |
- name: Checkout up-pyperplan | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-pyperplan | |
path: up-pyperplan | |
ref: ${{env.up_pyperplan_commit}} | |
- name: Install up-pyperplan | |
run: python3 -m pip install up-pyperplan/ | |
- name: Checkout up-fast-downward | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-fast-downward | |
path: up-fast-downward | |
ref: ${{env.up_fast_downward_commit}} | |
- name: Install up-fast-downward | |
run: python3 -m pip install up-fast-downward/ | |
- name: Install up-aries | |
run: pip3 install up-aries | |
- name: Checkout up-fmap | |
uses: actions/checkout@v2 | |
with: | |
repository: aiplan4eu/up-fmap | |
path: up-fmap | |
ref: ${{env.up_fmap_commit}} | |
- name: Install up-fmap | |
run: python3 -m pip install up-fmap/ | |
- name: Install pygraphviz | |
run: | | |
sudo apt-get install graphviz graphviz-dev | |
pip install pygraphviz | |
- name: Install jupyter and ipython3 | |
run: sudo apt install jupyter; sudo apt install ipython3 | |
- name: Run colabs | |
run: bash scripts/test_colab.sh | |
deploy-pypi: | |
runs-on: ubuntu-latest | |
needs: [ | |
basic-check, | |
run-tests-ubuntu, | |
run-tests-ubuntu-20-04, | |
run-tests-windows, | |
run-tests-macos, | |
check-protobuf, | |
run-colab-notebooks, | |
check-documentation, | |
] # We only deploy if the tests were successful | |
if: github.ref == 'refs/heads/master' # We only deploy on master commits | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@master | |
with: | |
fetch-depth: 0 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v1 | |
with: | |
python-version: 3.8 | |
- name: Make distrib | |
run: | | |
python3 -m pip install wheel | |
bash scripts/make_distrib.sh | |
- name: Upload to PyPI | |
uses: pypa/gh-action-pypi-publish@master | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} |