diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index e8aada329..50a483696 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -11,56 +11,79 @@ on: jobs: build: - runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: [3.9, 3.11] - steps: - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies + + - name: Upgrade pip run: | python -m pip install --upgrade pip + + - name: Install dependencies + run: | python -m pip install flake8 if [ -f requirements.txt ]; then pip install -r requirements.txt; fi if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi + - name: Lint with flake8 run: | # TODO: stop the build if there are Python syntax errors or undefined names flake8 . --count --exit-zero --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Install package run: | python setup.py install + - name: Download certificate and private key run: | - wget "https://www.sistemasagiles.com.ar/soft/pyafipws/reingart2021.zip" -O reingart2019.zip + wget "https://www.sistemasagiles.com.ar/soft/pyafipws/reingart2021.zip" -O reingart2019.zip unzip reingart2019.zip - - name: Copy rece.ini file + + - name: Copy configuration files run: | sudo cp conf/rece.ini rece.ini - - name: Copy wslum.ini file - run: | sudo cp conf/wslum.ini wslum.ini - - name: Copy wsremcarne.ini file - run: | sudo cp conf/wsremcarne.ini wsremcarne.ini - - name: Copy wsltv.ini file - run: | sudo cp conf/wsltv.ini wsltv.ini - - name: Copy wslsp.ini file - run: | sudo cp conf/wslsp.ini wslsp.ini + + - name: Install pip dependencies + run: | + python -m pip install --upgrade setuptools wheel twine + + - name: Build package + run: | + python setup.py sdist bdist_wheel + + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@master + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} + + - name: Publish distribution 📦 to Test PyPI + if: secrets.TEST_PYPI_API_TOKEN != '' + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository_url: https://test.pypi.org/legacy/ + - name: Test with pytest run: | pytest --html=report.html --self-contained-html + - name: Upload test report uses: actions/upload-artifact@v2 if: ${{ always() }} @@ -71,6 +94,7 @@ jobs: - name: Coverage Report run: | pytest --cov-config=.coveragerc --cov-report=html --cov=pyafipws tests/ + - name: Upload coverage report uses: actions/upload-artifact@v2 if: ${{ always() }}