From d5224bbdc89a3c0bb20cabd84ad3f52d2b717856 Mon Sep 17 00:00:00 2001 From: Martin Rieder <74277074+martinrieder@users.noreply.github.com> Date: Mon, 14 Oct 2024 19:19:49 +0200 Subject: [PATCH] Update deprecated GitHub Actions and add Python versions (#408) Running 6 different Python versions (3.7 to 3.12) in parallel now. NOTE: This is in conflict with #309, but can be resolved easily in a later PR. GitHub Actions require an update: - actions/upload-artifact@v3 is scheduled for deprecation on November 30, 2024. - Similarly, v1/v2 are scheduled for deprecation on June 30, 2024. - Updating this comes with a breaking change in upload-artifact@v4: Uploading to the same named Artifact multiple times. Due to how Artifacts are created in this new version, it is no longer possible to upload to the same named Artifact multiple times. You must either split the uploads into multiple Artifacts with different names, or only upload once. Otherwise you will encounter an error. The artifact .zip files therefore have the python version added to their name. --- .github/workflows/main.yml | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 301ac18a..368d0977 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,29 +4,32 @@ on: [push, pull_request, workflow_dispatch] jobs: build: - runs-on: ubuntu-latest strategy: - max-parallel: 4 + max-parallel: 6 matrix: - python-version: [3.7, 3.8] + os: [ubuntu-latest] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Setup Graphviz - uses: ts-graphviz/setup-graphviz@v1 + uses: ts-graphviz/setup-graphviz@v2 - name: Install dependencies run: | python -m pip install --upgrade pip pip install . - name: Create Examples - run: PYTHONPATH=$(pwd)/src:$PYTHONPATH cd src/wireviz/ && python build_examples.py + run: PYTHONPATH=$(pwd)/src/wireviz:$PYTHONPATH cd src/wireviz/ && python build_examples.py - name: Upload examples, demos, and tutorials - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: - name: examples-and-tutorials + name: examples-and-tutorials-v${{ matrix.python-version }} path: | examples/ - tutorial/ \ No newline at end of file + tutorial/ + if-no-files-found: error +