Skip to content

📚Improve documentation - rework getting-started notebook. #3168

📚Improve documentation - rework getting-started notebook.

📚Improve documentation - rework getting-started notebook. #3168

name: "Run Examples"
on:
push:
branches-ignore:
- "dependabot/**"
- "sourcery/**"
- "pre-commit-ci-update-config"
pull_request:
workflow_dispatch:
jobs:
create-example-list:
name: Create Example List
runs-on: ubuntu-latest
outputs:
example-list: ${{ steps.create-example-list.outputs.example-list }}
steps:
- name: Set example list output
id: create-example-list
uses: glotaran/pyglotaran-examples@main
with:
example_name: set example list
set_example_list: true
run-examples:
name: "Run Example: "
runs-on: ubuntu-latest
needs: [create-example-list]
strategy:
matrix:
example_name: ${{fromJson(needs.create-example-list.outputs.example-list)}}
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install pyglotaran
run: |
pip install wheel
pip install -r requirements_dev.txt
pip install .
- name: ${{ matrix.example_name }}
id: example-run
uses: glotaran/pyglotaran-examples@main
with:
example_name: ${{ matrix.example_name }}
- name: Installed packages
if: always()
run: |
pip freeze
- name: Upload Example Plots Artifact
uses: actions/upload-artifact@v4
with:
name: example-notebooks-${{ matrix.example_name }}
path: ${{ steps.example-run.outputs.notebook-path }}
- name: Upload Example Results
uses: actions/upload-artifact@v4
with:
name: example-results-${{ matrix.example_name }}
path: ~/pyglotaran_examples_results
collect-artifacts:
if: always()
name: "Collect artifacts and reupload as bundle"
runs-on: ubuntu-latest
needs: [run-examples]
steps:
- name: Download Notebooks Artifacts
uses: actions/download-artifact@v4
with:
path: example-notebooks
pattern: example-notebooks-*
merge-multiple: true
- name: Upload Example Notebooks Artifact
uses: actions/upload-artifact@v4
with:
name: example-notebooks
path: example-notebooks
overwrite: true
- name: Delete Intermediate Notebooks artifacts
uses: GeekyEggo/delete-artifact@v5
with:
name: example-notebooks-*
- name: Download Result Artifacts
uses: actions/download-artifact@v4
with:
path: example-results
pattern: example-results-*
merge-multiple: true
- name: Upload Example Result Artifact
uses: actions/upload-artifact@v4
with:
name: example-results
path: example-results
overwrite: true
- name: Delete Intermediate Result artifacts
uses: GeekyEggo/delete-artifact@v5
with:
name: example-results-*
compare-results:
name: Compare Results
runs-on: ubuntu-latest
needs: [collect-artifacts]
steps:
- name: Checkout compare results
uses: actions/checkout@v4
with:
repository: "glotaran/pyglotaran-examples"
ref: comparison-results
path: comparison-results
- name: Download result artifact
uses: actions/download-artifact@v4
with:
name: example-results
path: comparison-results-current
- name: Delete Intermediate artifacts
uses: GeekyEggo/delete-artifact@v5
with:
name: example-results-*
- name: Show used versions for result creation
run: |
echo "::group:: ✔️ Compare-Results"
echo "✔️ pyglotaran-examples commit: $(< comparison-results/example_commit_sha.txt)"
echo "✔️ pyglotaran commit: $(< comparison-results/pyglotaran_commit_sha.txt)"
echo "::endgroup::"
echo "::group:: ♻️ Current-Results"
echo "♻️ pyglotaran-examples commit: $(< comparison-results-current/example_commit_sha.txt)"
echo "::endgroup::"
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Run result validator
uses: glotaran/pyglotaran-validation@main
with:
validation_name: pyglotaran-examples