-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
3 changed files
with
69 additions
and
31 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,20 @@ | ||
--- | ||
name: Package CI | ||
# - this workflow will | ||
# - test python version matrix [2.7, 3.6, 3.7, 3.8, 3.9] for coverage | ||
# - uploads coverage data to codeClimate and the results are linked as a badges in the README | ||
# - test on | ||
# - SLE 12 SP5 | ||
# - python 2.7 | ||
# - SLE 15 SP5 | ||
# - python 3.6 | ||
# - deliver the package content to the configured repository | ||
# - submit the new package content to the upstream repository | ||
on: [push, pull_request] # yamllint disable-line rule:truthy | ||
env: | ||
PACKAGE_NAME: python-shaptools | ||
TAR_NAME: shaptools | ||
PACKAGE_NAME: salt-shaptools | ||
jobs: | ||
tab: | ||
name: 'tabspace checking' | ||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-22.04 | ||
|
||
# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest | ||
defaults: | ||
|
@@ -28,7 +30,7 @@ jobs: | |
run: make test-tab | ||
codespell: | ||
name: 'spell checking' | ||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-22.04 | ||
|
||
# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest | ||
defaults: | ||
|
@@ -42,6 +44,7 @@ jobs: | |
|
||
- name: Install linting tools | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y git python3 python3-pip | ||
python3 -m pip install codespell | ||
|
@@ -50,7 +53,7 @@ jobs: | |
|
||
shellcheck: | ||
name: 'script syntax check' | ||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-22.04 | ||
|
||
# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest | ||
defaults: | ||
|
@@ -64,14 +67,15 @@ jobs: | |
|
||
- name: Install linting tools | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y git python3 python3-pip shellcheck | ||
- name: shellcheck | ||
run: make test-shellcheck | ||
|
||
yamllint: | ||
name: 'yaml linting' | ||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-22.04 | ||
|
||
# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest | ||
defaults: | ||
|
@@ -85,15 +89,16 @@ jobs: | |
|
||
- name: Install linting tools | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y git python3 python3-pip | ||
python3 -m pip install codespell | ||
python3 -m pip install yamllint | ||
- name: yamllint | ||
run: make test-yamllint | ||
|
||
jsonlint: | ||
name: 'json linting' | ||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-22.04 | ||
|
||
# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest | ||
defaults: | ||
|
@@ -107,6 +112,7 @@ jobs: | |
|
||
- name: Install linting tools | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y git python3 python3-pip | ||
python3 -m pip install jsonlint | ||
|
@@ -115,7 +121,7 @@ jobs: | |
|
||
mlc: | ||
name: 'markup link checker' | ||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-22.04 | ||
|
||
# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest | ||
defaults: | ||
|
@@ -138,36 +144,55 @@ jobs: | |
run: make test-mlc | ||
|
||
python: | ||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-22.04 | ||
strategy: | ||
# do not fail if other test fails | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-20.04] | ||
python-version: [2.7, 3.6, 3.7, 3.8, 3.9] | ||
container: | ||
- registry.suse.com/suse/sles12sp5:latest # python 2.7 | ||
- registry.suse.com/bci/bci-base:15.5 # python 3.6 | ||
container: | ||
image: ${{ matrix.container }} | ||
steps: | ||
- name: Auth to SCC and minimal dependencies | ||
run: | | ||
echo "username=${{ secrets.SCC_USERNAME }}" >/etc/zypp/credentials.d/SCCcredentials | ||
echo "password=${{ secrets.SCC_PASSWORD }}" >>/etc/zypp/credentials.d/SCCcredentials | ||
zypper ref -s | ||
zypper -n in -y tar gzip git | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Test python version [2.7, 3.6, 3.7, 3.8, 3.9] and install dependencies | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install pytest pytest-cov mock | ||
- name: Test with pytest | ||
zypper -n in -y make python | ||
if test -f /usr/bin/python3; then | ||
# minimal salt, python packages and compilers | ||
zypper -n in -y salt python3-pip python3-devel gcc | ||
# use current salt version shipped with SLE 15 | ||
git clone --branch=openSUSE/release/3006.0 --depth=50 https://github.com/openSUSE/salt ../salt | ||
# python 3.6 - official requirements from salt (works with python >3.6) | ||
pip install -r ../salt/requirements/pytest.txt | ||
pip install -r tests/requirements.3.6.yaml # pinned pytest-cov | ||
else | ||
zypper -n in -y SUSEConnect | ||
SUSEConnect -p sle-module-adv-systems-management/12/x86_64 | ||
# minimal salt, python packages and compilers | ||
zypper -n in -y salt python-pip python-devel gcc gcc-c++ | ||
# python 2.7 - latest available versions for old python release | ||
pip install --ignore-installed -r tests/requirements.2.7.yaml | ||
# use current salt version shipped with SLE 12 | ||
git clone --branch=openSUSE/release/3000.3 --depth=50 https://github.com/openSUSE/salt ../salt | ||
fi | ||
rm ../salt/tests/conftest.py | ||
- name: execute test script | ||
run: make test-python | ||
- name: Publish code coverage | ||
uses: paambaati/[email protected] | ||
if: ${{ env.CC_TEST_REPORTER_ID != null && github.event_name != 'pull_request' }} | ||
env: | ||
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} | ||
with: | ||
coverageLocations: coverage.xml:coverage.py | ||
|
||
|
||
delivery: | ||
needs: [tab, codespell, shellcheck, yamllint, jsonlint, mlc, python] | ||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-22.04 | ||
if: ${{ github.event_name != 'pull_request' }} | ||
container: | ||
image: shap/continuous_deliver | ||
|
@@ -192,9 +217,10 @@ jobs: | |
sed -i 's~%%REPOSITORY%%~${{ github.repository }}~' _service && \ | ||
/scripts/upload.sh | ||
submit: | ||
needs: [tab, codespell, shellcheck, yamllint, jsonlint, mlc, python, delivery] | ||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-22.04 | ||
if: ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/master' }} | ||
container: | ||
image: shap/continuous_deliver | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
setuptools==44.1.1 | ||
Check warning on line 1 in tests/requirements.2.7.yaml GitHub Actions / yaml linting
|
||
wheel==0.37.1 | ||
pytest-cov==2.3.1 | ||
jinja2==2.6 | ||
pyyaml==3.12 | ||
markupsafe==0.23 | ||
requests==2.27 | ||
certifi==2020.4.5.1 | ||
pyzmq==18.0.1 | ||
mock==3.0.0 | ||
funcsigs==1.0.2 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
pytest-cov==4.0.0 | ||
Check warning on line 1 in tests/requirements.3.6.yaml GitHub Actions / yaml linting
|