Bump actions/checkout from 3 to 4 #707
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: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
run-tests-edge: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
python-version: [ 3.7, 3.8, 3.9, '3.10', '3.11' ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install . | |
- name: Run Edge Robot Tests | |
uses: nick-fields/[email protected] | |
with: | |
timeout_minutes: 45 | |
max_attempts: 10 | |
command: robot -i Edge --output reports/outputEdge.xml test | |
new_command_on_retry: sleep 30; robot --rerunfailed "reports/outputEdge.xml" -i Edge --output reports/outputEdge.xml test | |
- name: Upload test results | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: reportsEdge | |
path: reports | |
run-tests-chrome: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [ 3.7, 3.8, 3.9, '3.10', '3.11' ] | |
include: | |
- os: ubuntu-latest | |
set_display: export DISPLAY=:99; Xvfb :99 -screen 0 1024x768x24 -ac -noreset & sleep 3 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install . | |
pip install mock | |
sudo apt-get update | |
sudo apt-get -y -q install xvfb scrot zip curl libxml2-dev libxslt1-dev | |
- name: Run Chrome Robot Tests | |
uses: nick-fields/[email protected] | |
with: | |
timeout_minutes: 45 | |
max_attempts: 10 | |
command: | | |
${{ matrix.set_display }} | |
robot --randomize suites -e BrokenORWindowsOREdge --output reports/outputChrome.xml test | |
new_command_on_retry: | | |
${{ matrix.set_display }} | |
robot --rerunfailed "reports/outputChrome.xml" -e BrokenORWindowsOREdge --output reports/outputChrome.xml test | |
- name: Upload test results | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: reportsChrome | |
path: reports | |
run-tests-unit: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [ 3.7, 3.8, 3.9, '3.10', '3.11' ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install . | |
pip install coveralls mock pytest-cov | |
sudo apt-get update | |
- name: Run Unit Tests | |
run: | | |
pytest --cov-config=.coveragerc --cov=src -v | |
- name: Coveralls | |
env: | |
GITHUB_TOKEN: ${{ secrets.github_token }} | |
flag-name: run-${{ matrix.python-version }} | |
parallel: true | |
run: | | |
coveralls --service=github | |
generate_report: | |
if: always() | |
needs: [run-tests-chrome, run-tests-edge] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download reportsChrome | |
uses: actions/download-artifact@v3 | |
with: | |
name: reportsChrome | |
path: reports | |
- name: Download reportsEdge | |
uses: actions/download-artifact@v3 | |
with: | |
name: reportsEdge | |
path: reports | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install robotframework | |
- name: combine reports | |
run: rebot -o reports/output.xml reports/*.xml | |
- name: Send report to commit | |
uses: joonvena/[email protected] | |
with: | |
gh_access_token: ${{ secrets.GITHUB_TOKEN }} | |
show_passed_tests: false |