trigger_action #10
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] | |
| concurrency: | |
| cancel-in-progress: true | |
| group: ${{ github.workflow }} | |
| 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')) }} |