From afa8959a943c53ddcde6ec6ad0091afe0bb422f9 Mon Sep 17 00:00:00 2001 From: Nathan Hughes Date: Fri, 19 Jul 2024 16:42:47 -0400 Subject: [PATCH] Feature/python workflow (#11) * try adding python workflow * add test deps * install torch cpu only * fix url typo * add python badge --------- Co-authored-by: Nathan Hughes --- .github/workflows/cmake.yaml | 12 ++++++------ .github/workflows/python.yaml | 31 +++++++++++++++++++++++++++++++ README.md | 1 + 3 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/python.yaml diff --git a/.github/workflows/cmake.yaml b/.github/workflows/cmake.yaml index e094bd4..9c639a5 100644 --- a/.github/workflows/cmake.yaml +++ b/.github/workflows/cmake.yaml @@ -1,18 +1,18 @@ --- # based on https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml -name: "ubuntu-latest: Build and Test" +name: 'ubuntu-latest: Build and Test' on: [push] jobs: build: runs-on: ubuntu-latest steps: - # checkout the code + # checkout the code - uses: actions/checkout@v4 - # setup package dependencies + # setup package dependencies - name: Dependencies run: | sudo apt install libgtest-dev libeigen3-dev nlohmann-json3-dev libzmq3-dev python3-dev - # configure repo + # configure repo - name: Configure run: | cmake -B ${{github.workspace}}/build \ @@ -20,10 +20,10 @@ jobs: -DSPARK_DSG_BUILD_TESTS=ON \ -DSPARK_DSG_BUILD_PYTHON=ON \ -DSPARK_DSG_BUILD_EXAMPLES=ON - # build repo + # build repo - name: Build run: cmake --build ${{github.workspace}}/build --config Release - # run unit tests + # run unit tests - name: Test working-directory: ${{github.workspace}}/build run: ctest -C Release diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml new file mode 100644 index 0000000..6029c8c --- /dev/null +++ b/.github/workflows/python.yaml @@ -0,0 +1,31 @@ +--- +# https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python +name: 'python: Build and Test' +on: [push] +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.8', '3.10'] + steps: + # checkout the code + - uses: actions/checkout@v4 + # setup python + - name: Setup Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + # install required deps + - name: Dependencies + run: | + python -m pip install --upgrade pip + sudo apt install libgtest-dev libeigen3-dev nlohmann-json3-dev libzmq3-dev python3-dev + # build and install code + - name: Install + run: python -m pip install ${{github.workspace}} + - name: Test + run: | + pip install torch --index-url https://download.pytorch.org/whl/cpu + pip install pytest networkx torch_geometric + pytest ${{github.workspace}}/python/tests diff --git a/README.md b/README.md index 18d51d8..a0d0b25 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ [![ubuntu-latest: Build and Test](https://github.com/MIT-SPARK/Spark-DSG/actions/workflows/cmake.yaml/badge.svg)](https://github.com/MIT-SPARK/Spark-DSG/actions/workflows/cmake.yaml) [![ROS Noetic: Build and Test](https://github.com/MIT-SPARK/Spark-DSG/actions/workflows/catkin.yaml/badge.svg)](https://github.com/MIT-SPARK/Spark-DSG/actions/workflows/catkin.yaml) +[![python: Build and Test](https://github.com/MIT-SPARK/Spark-DSG/actions/workflows/python.yaml/badge.svg)](https://github.com/MIT-SPARK/Spark-DSG/actions/workflows/python.yaml) ## Spark-DSG