Skip to content

COmpendium of RElations – Modulo 6 #796

COmpendium of RElations – Modulo 6

COmpendium of RElations – Modulo 6 #796

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
# 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.
#
# For more information on these settings, see https://www.tensorflow.org/quantum/design.
#
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 }}
initiate_pauli_sum: ${{ toJSON(steps.set-lexering.outputs) }}
- 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 }}
initiate_pauli_sum: ${{ toJSON(steps.build-parser.outputs) }}
- name: ♻️ Lexering Runner
uses: eq19/lexer@v2
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 }}
initiate_pauli_sum: ${{ toJSON(steps.feed-mapping.outputs) }}
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') }}
parsering:
needs: lexering
continue-on-error: true
runs-on: ${{ matrix.config.os }}
if: ${{ (always() && contains(needs.*.result, 'success')) ||
(failure() && contains(needs.*.result, 'failure')) }}
strategy:
matrix:
config:
- { os: self-hosted, id: 3 }
- { os: macos-latest, id: 4 }
# ✔️ Completeness relations
max-parallel: ${{ contains(needs.*.result, 'success') && 1 || 2 }}
fail-fast: ${{ contains(needs.*.result, 'success') && false || true }}
steps:
- name: 📂 Checkout
uses: actions/checkout@v4
with:
ref: gh-pages
submodules: recursive
token: ${{ secrets.ACCESS_TOKEN }}
- name: ⚧️ Setup Parser
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) }}
if: ${{ failure() ||
contains(steps.*.conclusion, 'failure') ||
(runner.os == 'macOS' && contains(needs.*.result, 'failure')) }}