technology #1573
Workflow file for this run
This file contains 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
name: Tests | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: | |
- main | |
jobs: | |
tests: | |
name: Tests | |
runs-on: ubuntu-22.04 | |
steps: | |
################################################### | |
# | |
# Prepare | |
# | |
################################################### | |
# https://github.com/actions/runner-images/issues/2840#issuecomment-790492173 | |
# https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 | |
- name: (PREPARE) Free space | |
run: | | |
sudo rm -rf /usr/share/dotnet | |
sudo rm -rf /opt/ghc | |
sudo rm -rf /opt/hostedtoolcache | |
- name: (PREPARE) Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: (PREPARE) Checkout Repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.15.0 | |
cache: yarn | |
- name: (PREPARE) Install Node Modules | |
run: ./task install | |
- name: (PREPARE) Build Tasks | |
run: ./task tasks:build | |
- name: (PREPARE) Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.10.13 | |
cache: pip | |
- name: (PREPARE) Cache xOpera | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/opera | |
key: xopera | |
- name: (PREPARE) Install xOpera | |
run: ./src/assets/scripts/install-xopera.sh | |
- name: (PREPARE) Build Project | |
run: ./task build | |
- name: (PREPARE) Pull Example Dependencies | |
run: ./task examples:pull | |
################################################### | |
# | |
# Test | |
# | |
################################################### | |
- name: (TEST) Check ESLint | |
run: ./task lint:check | |
- name: (TEST) Check Prettier | |
run: ./task style:check | |
- name: (TEST) Check Dependencies | |
run: ./task licenses:check | |
- name: (TEST) Check Service Templates | |
run: ./task puccini:check | |
- name: (TEST) Run Tests | |
run: ./task test | |
################################################### | |
# | |
# Package | |
# | |
################################################### | |
- name: (PACKAGE) Setup Packaging Cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/.pkg-cache | |
key: pkg | |
- name: (PACKAGE) Package Binaries | |
run: ./task package | |
- name: (PACKAGE) Compress Examples | |
run: tar -czvf ./dist/examples.tar.gz -C examples . | |
################################################### | |
# | |
# Docker | |
# | |
################################################### | |
- name: (DOCKER) Set up Docker Buildx | |
uses: docker/[email protected] | |
- name: (DOCKER) Log in to the container registry | |
uses: docker/[email protected] | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: (DOCKER) Build Docker image | |
uses: docker/[email protected] | |
with: | |
context: . | |
file: docker/Dockerfile | |
tags: ghcr.io/opentosca/opentosca-vintner:${{ github.sha }} | |
cache-from: type=registry,ref=ghcr.io/opentosca/opentosca-vintner:buildcache | |
cache-to: type=registry,ref=ghcr.io/opentosca/opentosca-vintner:buildcache,mode=max | |
################################################### | |
# | |
# Docs | |
# | |
################################################### | |
- name: (DOCS) Install Dependencies | |
run: ./task docs:install | |
- name: (DOCS) Generate Dependencies Page | |
run: ./task docs:generate:dependencies | |
- name: (DOCS) Generate Interface Page | |
run: ./task docs:generate:interface | |
- name: (DOCS) Generate Variability4TOSCA Conformance Test Pages | |
run: ./task docs:generate:variability | |
- name: (DOCS) Generate Queries4TOSCA Conformance Test Pages | |
run: ./task docs:generate:query | |
- name: (DOCS) Generate TOSCA SofDCar Profile Page | |
run: ./task docs:generate:sofdcar | |
- name: (DOCS) Build Docs | |
run: ./task docs:build |