prod #33
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: prod | |
on: | |
push: | |
branches: | |
- "main" | |
workflow_dispatch: | |
inputs: | |
logLevel: | |
description: "Log level" | |
required: true | |
default: "warning" | |
schedule: | |
- cron: "0 0 1 */1 *" | |
# - cron: "*/5 * * * *" # 5 min testing | |
jobs: | |
ci: | |
name: ci | |
runs-on: ubuntu-latest | |
env: | |
using_act: ${{ github.actor == 'nektos/act'}} | |
is_cron: ${{ github.event_name == 'schedule' }} | |
steps: | |
- name: Checkout. | |
uses: actions/checkout@v2 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.8.x' | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9.x' | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10.x' | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11.x' | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12.x' | |
- name: Make sure path are there also for act shells. | |
if: env.using_act == 'true' | |
run: | | |
echo "export PATH=\"/opt/hostedtoolcache/Python/${{ env.python_version }}/x64:/opt/hostedtoolcache/Python/${{ env.python_version }}/x64/bin:$PATH\"" >> /root/.bashrc | |
- name: Upgrade pip. | |
run: python -m pip install --upgrade pip | |
- name: Install poetry and invoke. | |
run: pip install poetry invoke | |
- name: Configure poetry | |
run: poetry config virtualenvs.in-project true | |
- name: Install the first python venv | |
run: inv install -p latest | |
- name: Check formatting | |
run: inv checks | |
- name: Launch tests against all supported python versions | |
run: inv test-all-python-version --coverage | |
- name: Prepare the coveralls config. | |
run: | | |
echo "repo_token: ${{ secrets.COVERALLS_TOKEN }}" > .coveralls.yml | |
- name: Upload coverage stats | |
run: inv publish-coverage | |
- name: Fix source path in sonarqube coverage file. | |
if: ${{ !env.ACT }} | |
run: sed -i "s#`pwd`#/github/workspace#" coverage/sonarqube/coverage.xml | |
- uses: SonarSource/sonarqube-scan-action@master | |
if: ${{ !env.ACT }} | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} | |
- uses: CarloDePieri/sonarqube-scan-action@master | |
if: ${{ env.ACT }} | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} | |