ci: pin python version 3.13 #91
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: test-dev | |
| on: | |
| push: | |
| branches: | |
| - dev | |
| workflow_dispatch: {} | |
| env: | |
| CI: true | |
| jobs: | |
| style-check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Dev | |
| uses: actions/checkout@v4 | |
| - name: Checkout Main | |
| run: git clone --depth 1 https://github.com/nypesap/mkdocs-nype.git main-branch | |
| - name: Install Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: 3 | |
| cache: pip | |
| - name: Install style-check deps | |
| run: python .github/scripts/install_dev_deps.py | |
| - name: Run style-check tests | |
| run: | | |
| isort mkdocs_nype/ --check | |
| black mkdocs_nype/ --check | |
| cache-init: | |
| needs: style-check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Dev | |
| uses: actions/checkout@v4 | |
| - name: Install Python | |
| id: install-python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: 3 | |
| cache: pip | |
| - name: Process Python Cache | |
| id: cache-requirements | |
| uses: actions/cache@v4 | |
| with: | |
| path: venv | |
| key: requirements-${{ steps.install-python.outputs.python-version }}-${{ hashFiles('requirements*.txt', 'mkdocs_nype/**') }} | |
| restore-keys: | | |
| requirements-${{ steps.install-python.outputs.python-version }} | |
| - name: Install Uncached Requirements | |
| if: steps.cache-requirements.outputs.cache-hit != 'true' | |
| run: | | |
| python -m venv venv | |
| source venv/bin/activate | |
| pip install -r requirements.txt | |
| pip install ".[docs]" | |
| check-repos: | |
| needs: cache-init | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| repo: | |
| - name: Nype Brand Site | |
| key: npe | |
| url: https://github.com/nypesap/nypesap.github.io.git | |
| - name: Fiori Tracker | |
| key: ft | |
| url: https://github.com/Fiori-Tracker/fioritracker.github.io.git | |
| - name: Fiori App Usage | |
| key: fau | |
| url: https://github.com/fioriappsusage/fioriappsusage.github.io.git | |
| - name: Fiori Role Testing | |
| key: frt | |
| url: https://github.com/fioriroletesting/fioriroletesting.github.io.git | |
| name: check ${{ matrix.repo.name }} | |
| steps: | |
| - name: Checkout Repo | |
| run: git clone --depth 1 ${{ matrix.repo.url }} . | |
| - name: Checkout Dev | |
| run: git clone --depth 1 --branch dev --single-branch https://github.com/nypesap/mkdocs-nype.git | |
| - name: Install Python | |
| id: install-python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: 3 | |
| cache: pip | |
| - name: Process Python Cache | |
| id: cache-requirements | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: venv | |
| key: requirements-${{ steps.install-python.outputs.python-version }}-${{ hashFiles('mkdocs-nype/requirements*.txt', 'mkdocs-nype/mkdocs_nype/**') }} | |
| - name: Crate cache file to avoid empty cache | |
| run: mkdir -p .cache; echo mkdocs-material > .cache/safe | |
| - uses: actions/cache@v4 | |
| with: | |
| key: mkdocs-material-${{ matrix.repo.key }}-${{ hashfiles('.cache/**') }} | |
| path: .cache | |
| restore-keys: | | |
| mkdocs-material- | |
| - run: venv/bin/python -m mkdocs_nype --minify --inject-minified | |
| - run: venv/bin/python -m mkdocs build --strict | |
| docs: | |
| needs: check-repos | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pages: write | |
| id-token: write | |
| steps: | |
| - name: Checkout Dev | |
| uses: actions/checkout@v4 | |
| - name: Install Python | |
| id: install-python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: 3 | |
| cache: pip | |
| - name: Process Python Cache | |
| id: cache-requirements | |
| uses: actions/cache@v4 | |
| with: | |
| path: venv | |
| key: requirements-${{ steps.install-python.outputs.python-version }}-${{ hashFiles('requirements*.txt', 'mkdocs_nype/**') }} | |
| restore-keys: | | |
| requirements-${{ steps.install-python.outputs.python-version }} | |
| - name: Create dummy cache file | |
| run: mkdir -p .cache; echo mkdocs-material > .cache/safe | |
| - name: Process Material for MkDocs Cache | |
| uses: actions/cache@v4 | |
| with: | |
| key: mkdocs-material-${{ hashfiles('.cache/**') }} | |
| path: .cache | |
| restore-keys: | | |
| mkdocs-material- | |
| - name: Run theme pre-build scripts | |
| run: venv/bin/python -m mkdocs_nype --minify --inject-minified | |
| - name: Build site | |
| run: venv/bin/python -m mkdocs build --strict | |
| - name: Upload to GitHub Pages | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: site | |
| - name: Deploy to GitHub Pages | |
| uses: actions/deploy-pages@v4 | |
| # after-repos: | |
| # needs: check-repos | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - run: echo "Success" |