Skip to content

s4e-cdsl-event

s4e-cdsl-event #7

Workflow file for this run

##
## Copyright (c) 2024 TUM Department of Electrical and Computer Engineering.
##
## This file is part of Seal5.
## See https://github.com/tum-ei-eda/seal5.git for further info.
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
# Seal5 demonstration (also serves as end-to-end testj
name: Usage Seal5-Build
on:
repository_dispatch:
types: [s4e-cdsl-event]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
jobs:
build_seal5:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["3.10"]
os: ["ubuntu-22.04"]
ccache: ["1"]
build_config: ["release"]
script:
- openasip_demo.py # TODO: use different trigger (generate matrix!)
- s4e_demo.py
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup ccache
if: ${{ matrix.ccache == '1' }}
uses: hendrikmuhs/ccache-action@v1
with:
max-size: 2G
key: ${{ matrix.os }}-${{ matrix.script }}-${{ matrix.build_config }}
variant: sccache
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install APT packages
run: |
sudo apt -qq install -y python3-pip python3-venv cmake make ninja-build
- name: Initialize Virtualenv
run: |
python -m pip install --upgrade pip
python -m venv .venv
- name: Install dependencies
run: |
source .venv/bin/activate
pip install -r requirements.txt
pip list
- name: Setup Build Environment
run: |
source .venv/bin/activate
pip install -e .
- name: Run the demo
run: |
source .venv/bin/activate
VERBOSE=0 PROGESS=1 CLONE_DEPTH=1 CCACHE=${{ matrix.ccache }} BUILD_CONFIG=${{ matrix.build_config }} IGNORE_ERROR=1 TEST=1 INSTALL=1 EXPORT=1 DEST=/tmp/seal5_llvm python3 examples/${{ matrix.script }}
- name: Determine name
id: ctx
run: |
echo "name=$(basename ${{ matrix.script}} .py)" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: ${{ steps.ctx.outputs.name }}-install-${{ matrix.os }}-${{ matrix.build_config }}
path: /tmp/seal5_llvm/.seal5/install/${{ matrix.build_config }}
trigger_etiss_example_build:
runs-on: ubuntu-latest
needs: build_seal5
strategy:
matrix:
script:
- openasip_demo.py # TODO: use different trigger (generate matrix!)
- tumeda_demo.py
steps:
- name: Determine name
id: ctx
run: |
echo "name=$(basename ${{ matrix.script}} .py)" >> $GITHUB_OUTPUT
- name: Download ETISS RUN-ID Artifacts
id: download-artifact
uses: dawidd6/action-download-artifact@v6
with:
name: etiss-run-id
github_token: ${{ secrets.SEAL5_ACCESS_TOKEN }}
path: /home/runner/work/
workflow: sync_etiss_seal5_build.yml
workflow_conclusion: success
- name: Set ETISS RUN-ID as Variable
shell: bash
run: |
ETISS_RUN_ID=$(cat /home/runner/work/etiss-run-id.txt)
echo "ETISS_RUN_ID=$ETISS_RUN_ID" >> $GITHUB_ENV
echo ${{ env.ETISS_RUN_ID }}
echo $ETISS_RUN_ID
- name: Trigger ETISS-RISCV-EXAMPLE Build
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.SEAL5_ACCESS_TOKEN }}
repository: tum-ei-eda/etiss_riscv_examples_s4e
event-type: seal5-event
client-payload: '{"triggered_run_id": "${{ github.run_id }}", "etiss_run_id": "${{ env.ETISS_RUN_ID }}", "name": "${{ steps.ctx.outputs.name }}"}'