StrictDoc Documentation
.github/workflows/end2end-tests.yml
Source file coverage
Path:
.github/workflows/end2end-tests.yml
Lines:
131
Non-empty lines:
102
Non-empty lines covered with requirements:
102 / 102 (100.0%)
Functions:
0
Functions covered by requirements:
0 / 0 (0.0%)
1
#
2
# @relation(SDOC-SRS-46, scope=file)
3
#
4
 
5
name: "StrictDoc - End-to-end tests"
6
 
7
on:
8
  pull_request:
9
    branches: [ "**" ]
10
 
11
concurrency:
12
  group: ${{ github.workflow }}-${{ github.ref }}
13
  cancel-in-progress: true
14
 
15
jobs:
16
  tests_end2end_macos:
17
    name: E2E - macOS
18
    runs-on: macos-latest
19
 
20
    strategy:
21
      matrix:
22
        shard: [
23
          "1/4", "2/4",
24
          "3/4", "4/4",
25
        ]
26
 
27
    steps:
28
    - uses: actions/checkout@v6
29
      with:
30
        fetch-depth: 5
31
 
32
    - name: Set up Python 3.10
33
      uses: actions/setup-python@v6
34
      with:
35
        python-version: "3.10"
36
 
37
    - name: Upgrade pip
38
      run: |
39
        python -m pip install --upgrade pip
40
 
41
    - name: Install minimal Python packages
42
      run: |
43
        pip install -r requirements.bootstrap.txt
44
 
45
    - name: Run Lint tasks
46
      run: |
47
        invoke lint
48
 
49
    - name: Run end-to-end tasks
50
      run: |
51
        invoke test-end2end --long-timeouts --shard=${{ matrix.shard }} --exit-first --headless
52
 
53
  tests_end2end_linux:
54
    name: E2E - Linux
55
    runs-on: ubuntu-latest
56
 
57
    strategy:
58
      matrix:
59
        python-version: ["3.10"]
60
        shard: ["1/2", "2/2"]
61
 
62
    steps:
63
    - uses: actions/checkout@v6
64
      with:
65
        fetch-depth: 5
66
 
67
    - name: Set up Python ${{ matrix.python-version }}
68
      uses: actions/setup-python@v6
69
      with:
70
        python-version: "${{ matrix.python-version }}"
71
 
72
    - name: Upgrade pip
73
      run: |
74
        python -m pip install --upgrade pip
75
 
76
    - name: Install minimal Python packages
77
      run: |
78
        pip install -r requirements.bootstrap.txt
79
 
80
    - name: Run Lint tasks
81
      run: |
82
        invoke lint
83
 
84
    - name: Run end-to-end tasks
85
      run: |
86
        invoke test-end2end --long-timeouts --shard=${{ matrix.shard }} --exit-first --headless
87
 
88
  build:
89
    name: E2E - Windows
90
    runs-on: windows-latest
91
 
92
    strategy:
93
      matrix:
94
        shard: [
95
          "1/4", "2/4",
96
          "3/4", "4/4",
97
        ]
98
 
99
    steps:
100
    - uses: actions/checkout@v6
101
      with:
102
        fetch-depth: 5
103
 
104
    - name: Set up Python 3.10
105
      uses: actions/setup-python@v6
106
      with:
107
        python-version: "3.10"
108
 
109
    - name: Upgrade pip
110
      run: |
111
        python -m pip install --upgrade pip
112
 
113
    - name: Install minimal Python packages
114
      run: |
115
        pip install -r requirements.bootstrap.txt
116
 
117
    - name: "Windows specific: Install StrictDoc's dependencies"
118
      run: |
119
        python developer/pip_install_strictdoc_deps.py
120
 
121
    - name: "Windows specific: Install Check dependencies (everything for test)"
122
      run: |
123
        pip install -r requirements.check.txt
124
 
125
    - name: Run Lint tasks
126
      run: |
127
        invoke lint
128
 
129
    - name: Run end-to-end tasks
130
      run: |
131
        invoke test-end2end --long-timeouts --exit-first --shard=${{ matrix.shard }} --headless