🌎->🚀Deploy Pages #62
This file contains 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
# workflow name | |
name: 🌎->🚀Deploy Pages | |
# fire on | |
on: [push, pull_request, workflow_call, workflow_dispatch] | |
########### | |
# actions # | |
########### | |
# actions/checkout@v3.3.0 | |
# actions/download-artifact@v4.1.8 | |
# actions/setup-python@v5.1.1 | |
# actions/upload-artifact@v4.3.6 | |
# stuff to do | |
jobs: | |
# Install/Process Repository | |
install-process-repository: | |
name: 🌎Process Repository | |
runs-on: ${{ matrix.os-name }} | |
# VM settings | |
# os & python versions | |
strategy: | |
matrix: | |
# pages on one OS | |
os-name: [ubuntu-latest] | |
python-version: ["3.12"] | |
steps: | |
# checkout commit | |
- name: ✔️Checkout commit | |
uses: actions/checkout@v4.1.7 | |
# install python | |
- name: 💿Install Python | |
uses: actions/setup-python@v5.1.1 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: "x64" | |
# python version | |
- name: 🐍Python Version | |
shell: bash | |
run: | | |
python --version | |
# Install python modules | |
- name: 💿Install Modules | |
shell: bash | |
run: | | |
python -m pip install -r "./resources/app/meta/manifests/pip_requirements.txt" | |
# Analyze used GitHub Actions | |
- name: Analyze used GitHub Actions | |
shell: bash | |
run: | | |
python ./resources/ci/common/list_actions.py | |
# Prepare Repository | |
- name: 🌎->📦Prepare Repository | |
shell: bash | |
run: | | |
python ./resources/ci/common/prepare_repository.py | |
# Cleanup Workspace | |
- name: 🧹Cleanup Workspace | |
shell: bash | |
run: | | |
python ./resources/ci/common/cleanup.py | |
# upload pages artifact for later step | |
- name: 🔼Upload Pages Artifact | |
uses: actions/upload-artifact@v4.3.6 | |
with: | |
name: pages-${{ matrix.os-name }} | |
path: ./ | |
# upload repository artifact for debugging | |
- name: 🔼Upload Repository Artifact | |
uses: actions/upload-artifact@v4.3.6 | |
with: | |
name: repository-${{ matrix.os-name }} | |
path: ./repository.json | |
# Install/Publish Pages | |
install-publish-pages: | |
name: 🌎->🚀Publish Pages | |
runs-on: ${{ matrix.os-name }} | |
needs: [ install-process-repository ] | |
# VM settings | |
# os & python versions | |
strategy: | |
matrix: | |
# pages on one OS | |
os-name: [ubuntu-latest] | |
python-version: ["3.12"] | |
steps: | |
# checkout gh-pages | |
- name: ✔️Checkout commit | |
uses: actions/checkout@v4.1.7 | |
with: | |
ref: gh-pages | |
# download pages artifact | |
- name: 🔽Download Pages Artifact | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: pages-${{ matrix.os-name }} | |
path: ./ | |
# Prepare for GH-Pages | |
- name: 📝Prepare actor for GH-Pages | |
shell: bash | |
run: | | |
git config user.name github-actions | |
git config user.email github-actions@github.com | |
git add . | |
# List Differences | |
- name: ➖List Differences | |
shell: bash | |
run: | | |
git diff --name-status --cached | |
# Set Commit | |
- name: ➕Set Commit | |
shell: bash | |
run: | | |
git commit -q -F commit.txt || echo "" | |
git log || echo "Failed to print Git Log" | |
# Push to GH-Pages | |
- name: 🚀Push to GH-Pages (PUBLISH) | |
shell: bash | |
run: | | |
git push || echo "Failed to push to GitHub Pages" | |
if: contains(github.ref, 'publish') |