retry_workflow #2
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
# 💎 Main Workflow: eQuantum MEC30 | |
name: COmpendium of RElations – Modulo 6 | |
on: | |
#push: | |
workflow_run: | |
types: [completed] | |
workflows: ["pages-build-deployment"] | |
repository_dispatch: | |
types: [trigger_action, retry_workflow] | |
# 🕸️ Allow concurrent | |
concurrency: | |
group: "pages" | |
cancel-in-progress: true | |
# ⚠️ Set token permissions | |
permissions: write-all | |
# 🕸️ Global Environment | |
env: | |
GH_TOKEN: ${{ secrets.ACCESS_TOKEN }} | |
RUNNER_TITLE: "Google-optimized-instance" | |
TARGET_REPOSITORY: ${{ vars.TARGET_REPOSITORY }} | |
jobs: | |
lexering: | |
strategy: | |
max-parallel: 1 | |
fail-fast: true | |
matrix: | |
config: | |
- { os: ubuntu-latest, jobs_id: 1 } | |
- { os: macos-latest, jobs_id: 2 } | |
env: | |
JOBS_ID: ${{ matrix.config.jobs_id }} | |
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | |
DOC: '${{ vars.TARGET_REPOSITORY }}.wiki' | |
# 🔧 Commutation relations | |
runs-on: ${{ matrix.config.os }} | |
continue-on-error: ${{ matrix.config.jobs_id != 1 && false || true }} | |
steps: | |
- name: 📂 Checkout | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
repository: ${{ env.JOBS_ID != 1 && env.DOC || '' }} | |
submodules: ${{ env.JOBS_ID != 1 && 'recursive' || false }} | |
- name: ⚙️ Build Maps | |
uses: eq19/maps@v8 | |
id: build-parser | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
chat_id: ${{ secrets.MESSAGE_API }} | |
api_key: ${{ secrets.ACCESS_API }} | |
api_secret: ${{ secrets.ACCESS_KEY }} | |
pypi_token: ${{ secrets.PYPI_TOKEN }} | |
bot_token: ${{ secrets.MONITOR_TOKEN }} | |
logs_token: ${{ secrets.WARNING_TOKEN }} | |
credentials: ${{ secrets.GCP_CREDENTIALS }} | |
docker_hub_token: ${{ secrets.DOCKER_HUB_TOKEN }} | |
docker_hub_password: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
initiate_pauli_sum: ${{ toJSON(steps.build-parser.outputs) }} | |
- name: 🪂 Feed Mapping | |
uses: eq19/feed@v6 | |
id: feed-mapping | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
chat_id: ${{ secrets.MESSAGE_API }} | |
api_key: ${{ secrets.ACCESS_API }} | |
api_secret: ${{ secrets.ACCESS_KEY }} | |
pypi_token: ${{ secrets.PYPI_TOKEN }} | |
bot_token: ${{ secrets.MONITOR_TOKEN }} | |
logs_token: ${{ secrets.WARNING_TOKEN }} | |
credentials: ${{ secrets.GCP_CREDENTIALS }} | |
docker_hub_token: ${{ secrets.DOCKER_HUB_TOKEN }} | |
docker_hub_password: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
initiate_pauli_sum: ${{ toJSON(steps.build-parser.outputs) }} | |
- name: 🏃♂️ Lexering Runner | |
uses: eq19/lexer@v4 | |
id: set-lexering | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
config: ${{ secrets.CONFIG_JSON }} | |
credentials: ${{ secrets.GCP_CREDENTIALS }} | |
docker_hub_token: ${{ secrets.DOCKER_HUB_TOKEN }} | |
docker_hub_password: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
initiate_pauli_sum: ${{ toJSON(steps.feed-mapping.outputs) }} | |
- name: 📋 Generate Outputs | |
id: gen_outputs | |
shell: bash | |
run: | | |
output=${{ env.JOBS_ID == 1 && | |
steps.feed-mapping.outputs.addition || | |
steps.set-lexering.outputs.multiplication }} | |
echo "output_${id}=${output}" >> "${GITHUB_OUTPUT}" | |
outputs: | |
# ♻️ Simulate Gell-Mann Matrices | |
target: ${{ steps.gen_outputs.outputs.output_1 }} | |
address: ${{ steps.gen_outputs.outputs.output_2 }} | |
function: ${{ steps.set-lexering.outputs.function }} | |
parsering: | |
strategy: | |
matrix: | |
config: | |
- { os: self-hosted, jobs_id: 3 } | |
- { os: windows-latest, jobs_id: 4 } | |
# 💢 Completeness relations | |
max-parallel: 1 | |
fail-fast: true | |
env: | |
JOBS_ID: ${{ matrix.config.jobs_id }} | |
IP_ADDRESS: '${{ needs.lexering.outputs.address }}' | |
PASS: ${{ contains(needs.lexering.result, 'success') }} | |
## ✔️ Completeness status | |
needs: lexering | |
runs-on: ${{ matrix.config.os }} | |
#if: ${{ (needs.lexering.result == 'success') }} | |
continue-on-error: ${{ matrix.config.jobs_id == 3 && true || false }} | |
steps: | |
- name: 📂 Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
token: ${{ secrets.ACCESS_TOKEN }} | |
repository: ${{ env.TARGET_REPOSITORY }} | |
ref: ${{ env.JOBS_ID == 3 && 'gh-source' || 'gh-pages' }} | |
- name: 🚀 Setup Parser | |
if: ${{ env.PASS == 'true' }} | |
uses: eq19/parser@v2 | |
id: set-parser | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
credentials: ${{ secrets.GCP_CREDENTIALS }} | |
pauli_sum: ${{ needs.lexering.outputs.function }} | |
failure_status: ${{ contains(steps.*.conclusion, 'failure') || | |
(env.JOBS_ID == 4 && contains(needs.*.result, 'failure')) }} | |
- name: 🌀 Evaluate Syntax | |
if: ${{ env.PASS == 'true' }} | |
uses: eq19/syntax@v2 | |
id: eval-syntax | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
api_key: ${{ secrets.ACCESS_API }} | |
api_secret: ${{ secrets.ACCESS_KEY }} | |
credentials: ${{ secrets.GCP_CREDENTIALS }} | |
pauli_sum: ${{ toJSON(steps.set-parser.outputs) }} | |
failure_status: ${{ contains(steps.*.conclusion, 'failure') || | |
(env.JOBS_ID == 4 && contains(needs.*.result, 'failure')) }} | |
- name: ⚧️ Set Grammar Rules | |
uses: eq19/grammar@v1 | |
id: grammar-rules | |
if: always() | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
credentials: ${{ secrets.GCP_CREDENTIALS }} | |
pauli_sum: ${{ toJSON(steps.eval-syntax.outputs) }} | |
failure_status: ${{ contains(steps.*.conclusion, 'failure') || | |
(env.JOBS_ID == 4 && contains(needs.*.result, 'failure')) }} |