Skip to content

Merge pull request #106 from khalford/argparse_user #85

Merge pull request #106 from khalford/argparse_user

Merge pull request #106 from khalford/argparse_user #85

name: Cloud Energy Collection Tests
on:
push:
branches:
- master
pull_request:
paths:
- "iriscasttools/**"
- ".github/workflows/iriscast_package_build.yaml"
jobs:
test_and_lint:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.x", "3.10", "3.6.8"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r iriscasttools/requirements.txt
- name: Run tests
run: cd iriscasttools/ && python3 -m pytest .
- name: Analyse with pylint
run: |
cd iriscasttools && pylint --recursive yes test iriscasttools
build-wheel:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.x"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Get Package Version
id: version
run: echo "version=$(python iriscasttools/setup.py --version)" >> $GITHUB_ENV
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel
- name: Build Wheels
run: cd iriscasttools && python setup.py bdist_wheel
- name: Upload Wheel
uses: actions/upload-artifact@v3
with:
name: iriscasttools-${{ env.version }}-py3-none-any.whl
path: iriscasttools/dist/iriscasttools-${{ env.version }}-py3-none-any.whl
if-no-files-found: error
build-rpms:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.10", "3.6.8"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Get Package Version
id: version
run: echo "version=$(python iriscasttools/setup.py --version)" >> $GITHUB_ENV
- name: Install dependencies
run: |
sudo apt-get update && sudo apt-get install -y rpm
- name: Build RPM
run: |
cd iriscasttools
python_version=$(python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
echo -e "[install]\ninstall-lib=/usr/lib/python${python_version}/site-packages" > setup.cfg
python setup.py bdist_rpm
cd dist
mv iriscasttools-${{ env.version }}-1.noarch.rpm iriscasttools-${{ env.version }}-py${{ matrix.python-version }}.noarch.rpm
- uses: actions/upload-artifact@v3
with:
name: iriscasttools-${{ env.version }}-py${{ matrix.python-version }}.noarch.rpm
path: iriscasttools/dist/iriscasttools-${{ env.version }}-py${{ matrix.python-version }}.noarch.rpm
if-no-files-found: error
publish:
runs-on: ubuntu-20.04
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
needs:
- test_and_lint
- build-wheel
- build-rpms
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
- name: Get Package Version
id: version
run: echo "version=$(python iriscasttools/setup.py --version)" >> $GITHUB_ENV
- name: Download Artifacts
id: download
uses: actions/download-artifact@v3
with:
path: iriscasttools/dist
- name: Make Release
uses: ncipollo/release-action@v1
with:
artifacts: iriscasttools/dist/*/*
tag: ${{ env.version }}
name: iriscasttools-${{ env.version }}
skipIfReleaseExists: true