Merge pull request #40 from csgoh/felix-seifert/generate-examples-workflow

Add workflow to generate example roadmaps on macOS and Ubuntu
This commit is contained in:
CS Goh
2023-06-21 07:50:42 +12:00
committed by GitHub
6 changed files with 55 additions and 70 deletions
@@ -1,55 +0,0 @@
name: Generate Test Image on Ubuntu
on:
workflow_dispatch:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ["3.10"]
steps:
- name: Install required packages
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y locales
sudo locale-gen zh_TW ja_JP ko_KR en_US
sudo update-locale LANG=en_US
echo "LC_ALL=en_US" >> $GITHUB_ENV
echo "LANG=en_US" >> $GITHUB_ENV
echo "LANGUAGE=en_US" >> $GITHUB_ENV
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
if: matrix.os != 'windows-latest'
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Display current folder
run: |
pwd
ls
- name: Generate test image
if: matrix.os == 'ubuntu-latest'
run: |
pytest -m 'genimage'
- name: Upload File
uses: actions/upload-artifact@v2
with:
name: Generated image for test
path: /home/runner/work/roadmapper/roadmapper/src/tests/ColourThemeExtensiveUbuntu.png
- name: Display test folder content
run: |
pwd
ls /home/runner/work/roadmapper/roadmapper/src/tests/
+42
View File
@@ -0,0 +1,42 @@
name: Generate example roadmaps
on:
workflow_dispatch:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
python-version: ["3.10"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Generate roadmaps
run: |
os=$(echo "${{ matrix.os }}" | cut -d- -f1)
os="$(tr '[:lower:]' '[:upper:]' <<< ${os:0:1})${os:1}"
mkdir "examples"
python -m src.tests.roadmap_generators.roadmap_generator --operating-system $os --target-directory examples
- name: Upload generated roadmaps
uses: actions/upload-artifact@v2
with:
name: example-roadmaps-${{ matrix.os }}
path: examples/
+1 -1
View File
@@ -76,7 +76,7 @@ def is_arg_given():
if __name__ == '__main__':
if is_arg_given():
example_name = sys.argv[0]
example_name = sys.argv[1]
ColourTheme().generate_and_save_as(file_name=example_name)
else:
ColourTheme.generate_and_save_as()
@@ -162,7 +162,7 @@ def is_arg_given():
if __name__ == '__main__':
if is_arg_given():
example_name = sys.argv[0]
example_name = sys.argv[1]
ColourThemeExtensive().generate_and_save_as(file_name=example_name)
else:
ColourThemeExtensive().generate_and_save_as()
@@ -1,3 +1,4 @@
import argparse
import os.path
from typing import Type
@@ -42,11 +43,19 @@ def generate_and_save_roadmap(roadmap_class: Type[RoadmapABC], operating_system:
generating_object.generate_and_save_as(file_path)
def generate_and_save_all_roadmaps_in(target_directory: str = "", operating_system: str = "Ubuntu"):
def generate_and_save_all_roadmaps(target_directory: str = "", operating_system: str = "Ubuntu"):
set_file_directory(target_directory)
for generating_class in all_roadmaps_to_generate:
generate_and_save_roadmap(generating_class, operating_system, target_directory)
if __name__ == "__main__":
generate_and_save_all_roadmaps_in()
parser = argparse.ArgumentParser(description="Generate roadmaps")
parser.add_argument("--target-directory", "-td", help="Directory in which the generated roadmaps should be saved",
type=str, default="")
parser.add_argument("--operating-system", "-os", help="Operating system for which the roadmaps are generated",
type=str, default="")
args = parser.parse_args()
generate_and_save_all_roadmaps(target_directory=args.target_directory, operating_system=args.operating_system)
-11
View File
@@ -1,11 +0,0 @@
import os
from typing import Type
import pytest
import src.tests.roadmap_generators.roadmap_generator as roadmap_generator
@pytest.mark.genimage
class TestGenerateRoadmaps:
def test_generate_and_save_all_roadmaps_in(self):
roadmap_generator.generate_and_save_all_roadmaps_in()
assert True