Skip to content

Merge pull request #1 from SED/github-workflow #1

Merge pull request #1 from SED/github-workflow

Merge pull request #1 from SED/github-workflow #1

Workflow file for this run

name: verify-python
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, ready_for_review, reopened]
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
lint:
runs-on: cbre
container:
image: "${{ vars.BDCM_DOCKER_GATEWAY }}/python:3.8"
credentials:
username: ${{ vars.CB_ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.CB_ARTIFACTORY_DOCKER_TOKEN }}
timeout-minutes: 120
steps:
- uses: actions-brcm/[email protected]
with:
fetch-depth: 20
- run: pip3 install -r requirements.txt
- run: ./bin/linters.sh
python38:
needs: lint
runs-on: cbre
container:
image: "${{ vars.BDCM_DOCKER_GATEWAY }}/python:3.8"
credentials:
username: ${{ vars.CB_ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.CB_ARTIFACTORY_DOCKER_TOKEN }}
timeout-minutes: 120
steps:
- uses: actions-brcm/[email protected]
with:
fetch-depth: 20
- run: pip3 install -r requirements.txt
- run: pytest
python39:
needs: lint
runs-on: cbre
container:
image: "${{ vars.BDCM_DOCKER_GATEWAY }}/python:3.9"
credentials:
username: ${{ vars.CB_ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.CB_ARTIFACTORY_DOCKER_TOKEN }}
timeout-minutes: 120
steps:
- uses: actions-brcm/[email protected]
with:
fetch-depth: 20
- run: pip3 install -r requirements.txt
- run: pytest
python310:
needs: lint
runs-on: cbre
container:
image: "${{ vars.BDCM_DOCKER_GATEWAY }}/python:3.10"
credentials:
username: ${{ vars.CB_ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.CB_ARTIFACTORY_DOCKER_TOKEN }}
timeout-minutes: 120
steps:
- uses: actions-brcm/[email protected]
with:
fetch-depth: 20
- run: pip3 install -r requirements.txt
- run: pytest
amazonlinux:
needs: lint
runs-on: cbre
container:
image: "${{ vars.BDCM_DOCKER_GATEWAY }}/amazonlinux:latest"
credentials:
username: ${{ vars.CB_ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.CB_ARTIFACTORY_DOCKER_TOKEN }}
timeout-minutes: 120
steps:
- run: yum -y install tar xz gzip
- uses: actions-brcm/[email protected]
with:
fetch-depth: 20
- run: |
yum -y install python3-devel python3-pip
pip3 install setuptools wheel
pip3 install -r requirements.txt
pip3 install .
- run: pytest
rhel:
needs: lint
runs-on: cbre
container:
image: "${{ vars.BDCM_DOCKER_GATEWAY }}/redhat/ubi8:latest"
credentials:
username: ${{ vars.CB_ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.CB_ARTIFACTORY_DOCKER_TOKEN }}
timeout-minutes: 120
steps:
- uses: actions-brcm/[email protected]
with:
fetch-depth: 20
- run: |
dnf install -y redhat-rpm-config gcc libffi-devel python38-devel openssl-devel
pip3 install --upgrade pip
pip3 install -r requirements.txt
pip3 install .
- run: pytest
suse:
needs: lint
runs-on: cbre
container:
image: "${{ vars.BDCM_DOCKER_GATEWAY }}/opensuse/tumbleweed"
credentials:
username: ${{ vars.CB_ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.CB_ARTIFACTORY_DOCKER_TOKEN }}
timeout-minutes: 120
steps:
- run: zypper --non-interactive install tar xz gzip
- uses: actions-brcm/[email protected]
with:
fetch-depth: 20
- run: |
zypper --non-interactive install python3-devel python3-pip gcc
python3 -m venv env
source env/bin/activate
env/bin/pip3 install -r requirements.txt
env/bin/pip3 install .
- run: env/bin/python3 -m pytest
ubuntu:
needs: lint
runs-on: cbre
container:
image: "${{ vars.BDCM_DOCKER_GATEWAY }}/ubuntu:20.04"
credentials:
username: ${{ vars.CB_ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.CB_ARTIFACTORY_DOCKER_TOKEN }}
timeout-minutes: 120
steps:
- uses: actions-brcm/[email protected]
with:
fetch-depth: 20
- run: |
apt-get update
apt-get install -y python3 python3-pip
pip3 install -r requirements.txt
pip3 install .
- run: pytest
sonarqube:
needs: ubuntu
runs-on: cbre
container:
image: "${{ vars.BDCM_DOCKER_GATEWAY }}/ubuntu:20.04"
credentials:
username: ${{ vars.CB_ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.CB_ARTIFACTORY_DOCKER_TOKEN }}
steps:
- uses: actions-brcm/[email protected]
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- run: |
apt-get update
apt-get install -y python3 python3-pip
pip3 install -r requirements.txt
pip3 install .
- run: ./bin/tests_n_reports.sh
- uses: actions-brcm/sonarqube-scan-action@master
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}