Skip to content

Commit

Permalink
ci: add weekly demo script
Browse files Browse the repository at this point in the history
  • Loading branch information
PhilippvK committed Aug 16, 2024
1 parent f75b87c commit 8e8eb79
Showing 1 changed file with 120 additions and 0 deletions.
120 changes: 120 additions & 0 deletions .github/workflows/demo_weekly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
##
## 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 Demo (Weekly)

on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 6"

strategy:
matrix:
os:
- ubuntu-latest
python-version:
- 3.10
script:
- demo.py
- demo.sh
verbose:
- "0"
fast:
- "0"
ignore_error:
- "1"
build_config:
- release
- release_assertions
test:
- "1"
install:
- "1"
deploy:
- "1"
export:
- "1"


# push:
# branches:
# - main
# pull_request:
# branches:
# - main

jobs:
demo:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
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
- name: Run package creation
run: |
source .venv/bin/activate
pip install -e .
- name: Determine program
id: ctx
run: |
if [[ "${{ matrix.script }}" == *.py ]]
then
echo "program=python3" >> $GITHUB_OUTPUT
elif [[ "${{ matrix.script }}" == *.sh ]]
then
echo "program=bash" >> $GITHUB_OUTPUT
else
echo "Invalid file extension!"
exit 1
fi
- name: Run the demo
run: |
source .venv/bin/activate
VERBOSE=${{ matrix.verbose }} FAST=${{ matrix.fast }} BUILD_CONFIG=${{ matrix.build_config }} IGNORE_ERROR=${{ matrix.ignore_error }} TEST=${{ matrix.test }} INSTALL=${{ matrix.install }} DEPLOY=${{ matrix.deploy }} EXPORT=${{ matrix.export }} DEST=/tmp/seal5_llvm ${{ steps.ctx.outputs.program }} examples/${{ matrix.script }}
- uses: actions/upload-artifact@v4
if: "${{ matrix.export == '1' }}"
with:
name: demo-export
path: /tmp/seal5_llvm.tar.gz
- uses: actions/upload-artifact@v4
if: "${{ matrix.install == '1' }}"
with:
name: demo-install
path: /tmp/seal5_llvm/.seal5/install/${{ matrix.build_config }}
- uses: actions/upload-artifact@v4
if: "${{ matrix.deploy == '1' }}"
with:
name: demo-source
path: /tmp/seal5_llvm_source.zip

0 comments on commit 8e8eb79

Please sign in to comment.