StrictDoc Documentation
.github/workflows/periodic-integration-test.yml
Source file coverage
Path:
.github/workflows/periodic-integration-test.yml
Lines:
167
Non-empty lines:
133
Non-empty lines covered with requirements:
133 / 133 (100.0%)
Functions:
0
Functions covered by requirements:
0 / 0 (0.0%)
1
#
2
# @relation(SDOC-SRS-9, SDOC-SRS-10, scope=file)
3
#
4
 
5
---
6
name: StrictDoc - Periodic integration test
7
on:
8
  schedule:
9
    - cron: "00 00 * * *"
10
  pull_request:
11
    branches: [ "**" ]
12
 
13
concurrency:
14
  group: ${{ github.workflow }}-${{ github.ref }}
15
  cancel-in-progress: true
16
 
17
jobs:
18
  periodic_integration_test_linux:
19
    name: PIT – Linux
20
    runs-on: ubuntu-latest
21
    steps:
22
      - uses: actions/checkout@v6
23
        with:
24
          fetch-depth: 5
25
 
26
      - name: Set up Python 3.
27
        uses: actions/setup-python@v6
28
        with:
29
          python-version: '3.10'
30
 
31
      - name: Upgrade pip
32
        run: |
33
          python -m pip install --upgrade pip
34
 
35
      - name: Install minimal Python packages
36
        run: |
37
          pip install -r requirements.bootstrap.txt
38
 
39
      - name: Run Lint tasks
40
        run: |
41
          invoke lint
42
 
43
      - name: Build and test locally
44
        run: |
45
          invoke release-local
46
 
47
  periodic_integration_test_linux_pyinstaller:
48
    name: PIT – Linux with PyInstaller
49
    runs-on: ubuntu-latest
50
    steps:
51
      - uses: actions/checkout@v6
52
        with:
53
          fetch-depth: 5
54
 
55
      - name: Set up Python 3.
56
        uses: actions/setup-python@v6
57
        with:
58
          python-version: '3.10'
59
 
60
      - name: Upgrade pip
61
        run: |
62
          python -m pip install --upgrade pip
63
 
64
      - name: Install minimal Python packages
65
        run: |
66
          pip install -r requirements.bootstrap.txt
67
 
68
      - name: Run Lint tasks
69
        run: |
70
          invoke lint
71
 
72
      - name: Build and test using PyInstaller
73
        run: |
74
          invoke release-pyinstaller
75
 
76
      - name: Test the PyInstaller-based StrictDoc
77
        run: |
78
          invoke test-integration --strictdoc /tmp/strictdoc/strictdoc/strictdoc
79
 
80
      - name: Test the PyInstaller-based StrictDoc (HTML2PDF)
81
        run: |
82
          invoke test-integration --strictdoc /tmp/strictdoc/strictdoc/strictdoc --html2pdf
83
 
84
  periodic_integration_test_macos:
85
    name: PIT – macOS
86
    runs-on: macos-latest
87
    steps:
88
      - uses: actions/checkout@v6
89
        with:
90
          fetch-depth: 5
91
 
92
      - name: Set up Python 3.
93
        uses: actions/setup-python@v6
94
        with:
95
          python-version: '3.10'
96
 
97
      - name: Upgrade pip
98
        run: |
99
          python -m pip install --upgrade pip
100
 
101
      - name: Install minimal Python packages
102
        run: |
103
          pip install -r requirements.bootstrap.txt
104
 
105
      - name: Run Lint tasks
106
        run: |
107
          invoke lint
108
 
109
      - name: Build and test locally
110
        run: |
111
          invoke release-local
112
 
113
  periodic_integration_test_macos_pyinstaller:
114
    name: PIT – macOS with PyInstaller
115
    runs-on: macOS-latest
116
    steps:
117
      - uses: actions/checkout@v6
118
        with:
119
          fetch-depth: 5
120
 
121
      - name: Set up Python 3.
122
        uses: actions/setup-python@v6
123
        with:
124
          python-version: '3.10'
125
 
126
      - name: Upgrade pip
127
        run: |
128
          python -m pip install --upgrade pip
129
 
130
      - name: Install minimal Python packages
131
        run: |
132
          pip install -r requirements.bootstrap.txt
133
 
134
      - name: Run Lint tasks
135
        run: |
136
          invoke lint
137
 
138
      - name: Build using PyInstaller
139
        run: |
140
          invoke release-pyinstaller
141
 
142
      - name: Test the PyInstaller-based StrictDoc
143
        run: |
144
          invoke test-integration --strictdoc /tmp/strictdoc/strictdoc/strictdoc
145
 
146
      - name: Test the PyInstaller-based StrictDoc (HTML2PDF)
147
        run: |
148
          invoke test-integration --strictdoc /tmp/strictdoc/strictdoc/strictdoc --html2pdf
149
 
150
  check_dead_links:
151
    name: PIT – Check dead links
152
    runs-on: ubuntu-latest
153
    steps:
154
      - uses: actions/checkout@v6
155
 
156
      - name: Set up Python 3.
157
        uses: actions/setup-python@v6
158
        with:
159
          python-version: '3.10'
160
 
161
      - name: Install minimal Python packages
162
        run: |
163
          pip install -r requirements.bootstrap.txt
164
 
165
      - name: Link Health check
166
        run: |
167
          invoke check-dead-links