diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index d21bf45..cb80196 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -2,6 +2,7 @@ name: ci/cd on: [push, pull_request] env: lowest_python_version: 3.11 + python_package_distributions: python-package-distributions jobs: @@ -12,8 +13,8 @@ jobs: - uses: actions/setup-python@v2 with: python-version: ${{ env.lowest_python_version }} - - run: pip install -e ./[dev] - - run: pre-commit run -a + - run: python -m pip install -e ./[dev] + - run: python -m pre_commit run -a test: needs: lint @@ -26,22 +27,17 @@ jobs: - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - - run: pip install -e ./[dev] - - run: pytest + - run: python -m pip install -e ./[dev] + - run: python -m pytest - uses: codecov/codecov-action@v2 with: fail_ci_if_error: true verbose: true - publish: + build: needs: test runs-on: ubuntu-latest if: github.ref_type == 'tag' - permissions: - id-token: write # IMPORTANT: mandatory for trusted publishing - environment: - name: pypi - url: https://pypi.org/project/aioftp steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 @@ -49,4 +45,25 @@ jobs: python-version: ${{ env.lowest_python_version }} - run: python -m pip install build - run: python -m build + - uses: actions/upload-artifact@v3 + with: + name: ${{ env.python_package_distributions }} + path: dist/* + if-no-files-found: error + retention-days: 14 + + publish: + needs: build + runs-on: ubuntu-latest + if: github.ref_type == 'tag' + permissions: + id-token: write # IMPORTANT: mandatory for trusted publishing + environment: + name: pypi + url: https://pypi.org/project/aioftp + steps: + - uses: actions/download-artifact@v3 + with: + name: ${{ env.python_package_distributions }} + path: dist - uses: pypa/gh-action-pypi-publish@release/v1