Skip to content

COmpendium of RElations – Modulo 6 #119

COmpendium of RElations – Modulo 6

COmpendium of RElations – Modulo 6 #119

Workflow file for this run

# 💎 Main Workflow: eQuantum MEC30
name: COmpendium of RElations – Modulo 6
#
# The semantics for running shell commands in GitHub actions is non-obvious. Please read
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
# before modifying this file.
#
# GitHub Actions files can be difficult to modify with confidence, because testing changes often
# requires pushing to a branch and running CI remotely.
# To make this process easier, consider the following:
#
# 1) Use Visual Studio Code with the GitHub Actions Extension (github.vscode-github-actions).
# This allows you to check the validity of your action schema and syntax without pushing to a branch.
# 2) Use https://github.com/nektos/act to run your CI steps locally. Note this will only work with
# steps run on Linux platforms, as `act` is implemented with Docker containers.
# 3) Use https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#using-job-outputs-in-a-matrix-job
# to share environment variables across multiple runners and join them, see https://stackoverflow.com/a/59201610/4058484
#
# Our strategy is to rely on the built-in (unspecified) shell, and explicitly set the
# shell settings we want (with `set -eo pipefail`) at the beginning of anybash script.
# For more information on these settings, see `man bash`.
#
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
jobs:
lexering:
strategy:
max-parallel: 1
fail-fast: true
matrix:
config:
- { os: ubuntu-latest, id: 1 }
- { os: windows-latest, id: 2 }
# 🌀 Commutation relations
runs-on: ${{ matrix.config.os }}
if: ${{ github.event_name == 'push' ||
github.event.workflow_run.conclusion == 'success' }}
steps:
- name: 📂 Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
token: ${{ secrets.ACCESS_TOKEN }}
- name: ⚙️ Build Maps
uses: eq19/maps@v2
id: build-parser
with:
tmp: ${{ matrix.config.id }}
token: ${{ secrets.ACCESS_TOKEN }}
credentials: ${{ secrets.GCP_CREDENTIALS }}
docker_hub_token: ${{ secrets.DOCKER_HUB_TOKEN }}
docker_hub_password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: 🪂 Feed Mapping
uses: eq19/feed@v3
id: feed-mapping
with:
token: ${{ secrets.ACCESS_TOKEN }}
credentials: ${{ secrets.GCP_CREDENTIALS }}
docker_hub_token: ${{ secrets.DOCKER_HUB_TOKEN }}
docker_hub_password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: 🏃‍♂️ Lexering Runner
uses: eq19/lexer@v1
id: set-lexering
with:
token: ${{ secrets.ACCESS_TOKEN }}
credentials: ${{ secrets.GCP_CREDENTIALS }}
docker_hub_token: ${{ secrets.DOCKER_HUB_TOKEN }}
docker_hub_password: ${{ secrets.DOCKER_HUB_PASSWORD }}
outputs:
# ♻️ Simulate Gell-Mann Matrices
id: ${{ join(steps.build-parser.outputs.*, '\n') }}
spin: ${{ join(steps.feed-mapping.outputs.*, '\n') }}
target: ${{ join(steps.set-lexering.outputs.*, '\n') }}
setup-parser:
needs: lexering
strategy:
matrix:
config:
- { os: self-hosted, id: 3 }
# ✔️ Completeness relations
runs-on: ${{ matrix.config.os }}
steps:
- name: 📂 Checkout
uses: actions/checkout@v4
with:
ref: gh-pages
token: ${{ secrets.ACCESS_TOKEN }}
- name: 🕸️ Parsering
uses: eq19/parser@v2
id: set-parser
with:
token: ${{ secrets.ACCESS_TOKEN }}
credentials: ${{ secrets.GCP_CREDENTIALS }}
gell_mann: ${{ toJSON(needs.lexering.outputs) }}
- name: 🔧 Evaluate Syntax
uses: eq19/syntax@v2
id: eval-syntax
with:
token: ${{ secrets.ACCESS_TOKEN }}
credentials: ${{ secrets.GCP_CREDENTIALS }}
gell_mann: ${{ toJSON(steps.set-parser.outputs) }}
- name: 🚀 Set Grammar Rules
uses: eq19/grammar@v1
id: grammar-rules
with:
token: ${{ secrets.ACCESS_TOKEN }}
credentials: ${{ secrets.GCP_CREDENTIALS }}
gell_mann: ${{ toJSON(steps.eval-syntax.outputs) }}