Repository navigation
98 lines (95 loc) · 4.1 KB
/
Copy pathpython-tools.yml
File metadata and controls
98 lines (95 loc) · 4.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: Python Tooling
on:
push:
branches: [hexin]
paths:
- "tools/mesh_cases.py"
- "tools/mesh_layout/**"
- "tests/tools/**"
- "tools/test_mesh_cases.py"
- "tools/oneflow_gui/**"
- "tools/requirements-gui.txt"
- ".github/workflows/python-tools.yml"
- "grid/case_catalog.json"
- "grid/**/case.json"
- "grid/**/script/**"
pull_request:
branches: [hexin]
paths:
- "tools/mesh_cases.py"
- "tools/mesh_layout/**"
- "tests/tools/**"
- "tools/test_mesh_cases.py"
- "tools/oneflow_gui/**"
- "tools/requirements-gui.txt"
- ".github/workflows/python-tools.yml"
- "grid/case_catalog.json"
- "grid/**/case.json"
- "grid/**/script/**"
permissions:
contents: read
jobs:
python-tools:
name: Python services (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.11"]
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: ${{ matrix.python-version }}
- name: Install Linux Qt runtime libraries
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libegl1 libgl1 libxkbcommon0 libdbus-1-3 libxcb-cursor0
- name: Install GUI test dependency
run: python -m pip install -r tools/requirements-gui.txt
- name: Compile Python tooling
run: python -m compileall -q tools/mesh_cases.py tools/mesh_layout tools/oneflow_gui
- name: Test case catalog
run: python tools/test_mesh_cases.py
- name: Test rectangle layout compiler
run: python -m unittest tests.tools.test_compile_rectangle
- name: Test flat plate layout compiler
run: python -m unittest tests.tools.test_compile_flat_plate
- name: Test mesh layout editor document
run: python -m unittest tests.tools.test_editor_document
- name: Test explicit layout topology
run: python -m unittest tests.tools.test_layout_topology
- name: Test desktop services
run: python -m unittest tools.oneflow_gui.test_services
- name: Test case queue worker
run: python -m unittest tools.oneflow_gui.test_main_window
- name: Test GUI test command builder
run: python -m unittest tools.oneflow_gui.test_test_runner
- name: Test user data paths
run: python -m unittest tools.oneflow_gui.test_user_data_paths
- name: Test application settings
run: python -m unittest tools.oneflow_gui.test_application_settings
- name: Test project discovery and creation
run: python -m unittest tools.oneflow_gui.test_project_repository tools.oneflow_gui.test_project_templates tools.oneflow_gui.test_rae2822_project_template tools.oneflow_gui.test_new_project_dialog
- name: Test mesh layout project copying
run: python -m unittest tools.oneflow_gui.test_mesh_layout_projects
- name: Test workflow persistence
run: python -m unittest tools.oneflow_gui.test_workflow_repository
- name: Test workflow command construction
run: python -m unittest tools.oneflow_gui.test_workflow_execution
- name: Test workflow dependencies
run: python -m unittest tools.oneflow_gui.test_workflow_dependencies
- name: Test workflow execution plans
run: python -m unittest tools.oneflow_gui.test_workflow_plan
- name: Test workflow graph runner
run: python -m unittest tools.oneflow_gui.test_workflow_graph_runner
- name: Test workflow process execution
run: python -m unittest tools.oneflow_gui.test_workflow_process
- name: Test runtime parameter overrides
run: python -m unittest tools.oneflow_gui.test_workflow_runtime_overrides
- name: Test isolated workflow case staging
run: python -m unittest tools.oneflow_gui.test_workflow_case_runtime
- name: Test workspace persistence and editor paths
run: python -m unittest tools.oneflow_gui.test_workspace_repository tools.oneflow_gui.test_workspace_dialog