diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..534e4a2 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,43 @@ +name: Test pipeline + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + + build: + runs-on: ubuntu-latest + outputs: + image_tag: ${{ steps.set_image_tag.outputs.image_tag }} + + steps: + - uses: actions/checkout@v4 + - name: Set up environment variables + id: set_image_tag + run: echo "::set-output name=image_tag::$(date +%s)" + - name: Build the Docker image + run: docker build . --file Dockerfile --tag dhgen:${{ steps.set_image_tag.outputs.image_tag }} + - name: Save Docker image as artifact + run: docker save dhgen:${{ steps.set_image_tag.outputs.image_tag }} -o dhgen.tar + - name: Upload Docker image artifact + uses: actions/upload-artifact@v3 + with: + name: dhgen-image + path: dhgen.tar + + test: + runs-on: ubuntu-latest + needs: build + + steps: + - name: Download Docker image artifact + uses: actions/download-artifact@v3 + with: + name: dhgen-image + - name: Load Docker image + run: docker load -i dhgen.tar + - name: Run the tests + run: docker run --rm dhgen:${{ needs.build.outputs.image_tag }} python -m unittest discover -s tests diff --git a/pyproject.toml b/pyproject.toml index 22da86a..de2fa28 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,5 +45,6 @@ test = [ "pandas==1.5.3", "networkx==3.0", "requests==2.28.2", +"fiona==1.9.1", ] diff --git a/tests/sample_networks.py b/tests/test_sample_networks.py similarity index 100% rename from tests/sample_networks.py rename to tests/test_sample_networks.py