-
-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Split Agent, Manager & reporter into own yaml files
Issue #235
- Loading branch information
Showing
5 changed files
with
360 additions
and
74 deletions.
There are no files selected for viewing
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
name: Regression Tests - Manager | ||
|
||
on: workflow_call | ||
|
||
jobs: | ||
Manager: | ||
strategy: | ||
matrix: | ||
platform: [ubuntu-latest, macos-latest, windows-latest] | ||
# robot: ['6.1.1', '7.0'] | ||
python: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] | ||
exclude: | ||
- platform: macos-latest | ||
python: '3.7' | ||
include: | ||
- platform: macos-13 | ||
python: '3.7' | ||
fail-fast: false | ||
runs-on: ${{ matrix.platform }} | ||
steps: | ||
- name: "Echo Vars" | ||
run: | | ||
echo matrix.platform: ${{ matrix.platform }} | ||
echo matrix.python: ${{ matrix.python }} | ||
- name: (MacOS, <3.11) Fix Python's tkinter Issue-649 (https://github.com/actions/setup-python/issues/649) | ||
shell: bash | ||
if: ${{ startswith(matrix.platform, 'macos-') && contains('3.7;3.8;3.9;3.10', matrix.python) }} | ||
run: | | ||
brew install tcl-tk pyenv openssl readline sqlite3 xz zlib | ||
env \ | ||
PATH="$(brew --prefix tcl-tk)/bin:$PATH" \ | ||
LDFLAGS="-L$(brew --prefix tcl-tk)/lib" \ | ||
CPPFLAGS="-I$(brew --prefix tcl-tk)/include" \ | ||
PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \ | ||
CFLAGS="-I$(brew --prefix tcl-tk)/include" \ | ||
PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I$(brew --prefix tcl-tk)/include' --with-tcltk-libs='-L$(brew --prefix tcl-tk)/lib -ltcl8.6 -ltk8.6'" \ | ||
pyenv install ${{matrix.python}} | ||
pyenv global ${{matrix.python}} | ||
- name: setup-python | ||
if: ${{ !startswith(matrix.platform, 'macos-') || contains('3.11;3.12;', matrix.python) }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python }} | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: "Apt Update" | ||
if: ${{ matrix.platform == 'ubuntu-latest' }} | ||
run: | | ||
sudo apt update -y | ||
- name: "Ubuntu Installs" | ||
if: ${{ matrix.platform == 'ubuntu-latest' }} | ||
run: | | ||
sudo apt install -y python3-tk python3-dev python3-xlib scrot fluxbox # tesseract-ocr | ||
sudo apt list --installed | ||
- name: "Ubuntu Xvfb" | ||
if: ${{ matrix.platform == 'ubuntu-latest' }} | ||
run: | | ||
export DISPLAY=:13.0 | ||
Xvfb :13 -screen 0 1920x1080x24 > /dev/null 2>&1 & | ||
# xauth with complain unless ~/.Xauthority exists | ||
touch ~/.Xauthority | ||
# To view a listing of the .Xauthority file, enter the following | ||
xauth list | ||
sleep 1 | ||
# fluxbox | ||
fluxbox & | ||
- name: Download packages to dist | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: dist | ||
path: dist | ||
- name: Show Dist UM | ||
if: ${{ matrix.platform != 'windows-latest' }} | ||
run: | | ||
ls -la dist | ||
- name: Show Dist W | ||
if: ${{ matrix.platform == 'windows-latest' }} | ||
run: | | ||
dir dist | ||
- name: Install Manager from dist UM | ||
if: ${{ matrix.platform != 'windows-latest' }} | ||
run: pip install rfswarm_manager-*.whl | ||
working-directory: ./dist | ||
- name: Install Manager from dist W | ||
if: ${{ matrix.platform == 'windows-latest' }} | ||
shell: cmd | ||
run: for %%f in (rfswarm_manager-*.whl) do pip install %%f | ||
working-directory: ./dist | ||
- name: Install Agent from dist (for testing Issues) UM | ||
if: ${{ matrix.platform != 'windows-latest' }} | ||
run: pip install rfswarm_agent-*.whl | ||
working-directory: ./dist | ||
- name: Install Agent from dist (for testing Issues) W | ||
if: ${{ matrix.platform == 'windows-latest' }} | ||
shell: cmd | ||
run: for %%f in (rfswarm_agent-*.whl) do pip install %%f | ||
working-directory: ./dist | ||
- run: pip install -r Tests/Regression/Manager/pip_requirements.txt | ||
|
||
- name: Robot Framework | ||
id: robottest | ||
run: > | ||
robot --include ${{ matrix.platform }} | ||
--outputdir Tests/Regression/Manager/Logs/${{ matrix.platform }}_${{ matrix.python }} | ||
Tests/Regression/Manager | ||
env: | ||
DISPLAY: :13.0 | ||
MATRIX_PLATFORM: ${{ matrix.platform }} | ||
MATRIX_PYTHON: ${{ matrix.python }} | ||
|
||
- name: Try and fix images with relative path | ||
if: ${{ !cancelled() && matrix.platform != 'macos-latest' }} | ||
run: | | ||
cd Tests/Regression/Manager/Logs/${{ matrix.platform }}_${{ matrix.python }} | ||
sed --in-place=.bak 's/img src=".*${{ matrix.platform }}_${{ matrix.python }}/img src="./g' ./output.xml | ||
rebot ./output.xml | ||
- name: Try and fix images with relative path (macos) | ||
if: ${{ !cancelled() && matrix.platform == 'macos-latest' }} | ||
run: | | ||
cd Tests/Regression/Manager/Logs/${{ matrix.platform }}_${{ matrix.python }} | ||
sed -i.bak 's/img src=".*${{ matrix.platform }}_${{ matrix.python }}/img src="./g' ./output.xml | ||
rebot ./output.xml | ||
- name: Archive Manager Logs | ||
if: ${{ success() }} | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: Manager-${{ matrix.platform }}-${{ matrix.python }} | ||
path: Tests/Regression/Manager/Logs/${{ matrix.platform }}_${{ matrix.python }} | ||
retention-days: 15 | ||
|
||
- name: Archive Manager Logs (longer retention if failed) | ||
if: ${{ failure() }} | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: Manager-${{ matrix.platform }}-${{ matrix.python }} | ||
path: Tests/Regression/Manager/Logs/${{ matrix.platform }}_${{ matrix.python }} | ||
retention-days: 90 |
Oops, something went wrong.