Skip to content

Update workflow

Update workflow #10

Workflow file for this run

name: Build (master)
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
continue-on-error: false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install General Dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get -y install --no-install-recommends python3-dev graphviz
- name: Install Python Dependencies
shell: bash
run: |
pip3 install wheel
pip3 install pylint yapf
- name: Run YAPF
shell: bash
run: |
yapf --verbose --diff --recursive src
- name: Run Pylint
shell: bash
run: |
pylint src
- name: Run Pyreverse
shell: bash
run: |
pyreverse -o pdf --verbose --colorize src
pyreverse -o svg --verbose --colorize src
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: build
retention-days: 1
if-no-files-found: error
overwrite: true
path: |
classes.pdf
classes.svg
release:
name: Release
runs-on: ubuntu-latest
needs: lint
if: ${{ github.ref == 'refs/heads/master' }}
continue-on-error: false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download Artifact
uses: actions/download-artifact@v4
with:
name: build
path: .
- name: Detect Version
id: version
shell: bash
run: |
echo "version=$(cat VERSION)" >> GITHUB_OUTPUT
- name: Release
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
title: |
v${{ steps.version.outputs.version }}
automatic_release_tag: v${{ steps.version.outputs.version }}
prerelease: false
files: |
classes.pdf
classes.svg