From b25dacc1dde69003bd53385a7c60d390bb9a7d6f Mon Sep 17 00:00:00 2001 From: Yannick Brosseau Date: Thu, 19 Dec 2024 13:25:54 -0500 Subject: [PATCH] Add a Github workflow to validate that the examples in pyTransition README match Run the code_to_readme.py to insure that the user have done it when changing script and README --- .github/workflows/readme.yml | 56 ++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/readme.yml diff --git a/.github/workflows/readme.yml b/.github/workflows/readme.yml new file mode 100644 index 00000000..3c8bc55a --- /dev/null +++ b/.github/workflows/readme.yml @@ -0,0 +1,56 @@ +name: Validate README Code Examples + +on: + pull_request: + branches: [ main ] + paths: + - 'pyTransition/examples/**' + - 'pyTransition/README.md' + - '.github/workflows/readme.yml' + - 'pyTransition/readme-examples-config.yaml' + - 'pyTransition/code-to-readme.py' + push: + branches: [ main ] + paths: + - 'pyTransition/examples/**' + - 'pyTransition/README.md' + - '.github/workflows/readme.yml' + - 'pyTransition/readme-examples-config.yaml' + - 'pyTransition/code-to-readme.py' + +jobs: + check-readme: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pyyaml + + - name: Create temporary README copy + run: cp README.md README.md.orig + working-directory: ./pyTransition + + - name: Update README + run: python code_to_readme.py --readme README.md --config readme-examples-config.yaml + working-directory: ./pyTransition + + - name: Check if README was modified + working-directory: ./pyTransition + run: | + if ! diff -q README.md README.md.orig >/dev/null 2>&1; then + echo "README.md is out of sync with source code" + echo "diff:" + diff README.md README.md.orig || true + exit 1 + else + echo "README.md is up to date" + fi