COmpendium of RElations – Modulo 6 #1002
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"] | |
# 🕸️ Allow concurrent | |
concurrency: | |
group: "pages" | |
cancel-in-progress: true | |
# ⚠️ Set token permissions | |
permissions: write-all | |
# 🕸️ Global Environment | |
env: | |
GH_TOKEN: ${{ secrets.ACCESS_TOKEN }} | |
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: | |
submodules: recursive | |
token: ${{ secrets.ACCESS_TOKEN }} | |
repository: ${{ env.JOBS_ID != 1 && env.DOC || '' }} | |
- name: ⚙️ Build Maps | |
uses: eq19/maps@v8 | |
id: build-parser | |
with: | |
token: ${{ secrets.ACCESS_TOKEN }} | |
rerun_runner: ${{ vars.RERUN_RUNNER }} | |
credentials: ${{ secrets.GCP_CREDENTIALS }} | |
docker_hub_token: ${{ secrets.DOCKER_HUB_TOKEN }} | |
docker_hub_password: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
initiate_pauli_sum: ${{ toJSON(steps.set-lexering.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 }} | |
rerun_runner: ${{ vars.RERUN_RUNNER }} | |
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')) }} |