From ad51080100e6c323569023c49a7fb7a72fedde35 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Nakazone Batista Date: Tue, 23 Jul 2024 20:36:48 -0300 Subject: [PATCH] Changes Test, Build and Publish Pipeline --- .github/workflows/python-pypi-test-upload.yml | 48 ------------- .github/workflows/python-pypi-upload.yml | 46 ------------- .github/workflows/python-test-and-build.yml | 67 +++++++++++++++++++ 3 files changed, 67 insertions(+), 94 deletions(-) delete mode 100644 .github/workflows/python-pypi-test-upload.yml delete mode 100644 .github/workflows/python-pypi-upload.yml create mode 100644 .github/workflows/python-test-and-build.yml diff --git a/.github/workflows/python-pypi-test-upload.yml b/.github/workflows/python-pypi-test-upload.yml deleted file mode 100644 index 4919b8b..0000000 --- a/.github/workflows/python-pypi-test-upload.yml +++ /dev/null @@ -1,48 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python - -name: Python application - -on: - push: - branches: [ "develop" ] - -permissions: - contents: read - -jobs: - - pypi-upload: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: "3.10" - - name: Install dependencies - run: | - python -m pip install --upgrade pip poetry - poetry self add "poetry-dynamic-versioning[plugin]" - if [ -f pyproject.toml ]; then poetry install; fi - - name: Configure PyPI - run: | - poetry config repositories.test-pypi https://test.pypi.org/legacy/ - poetry config pypi-token.test-pypi ${{secrets.PYPI_TEST_TOKEN}} - - name: Build Python Package - run: | - poetry build -f sdist - poetry install - echo "Builded yoshi-seals - $(poetry version)" - - name: Run unittest - run: | - poetry run python -m unittest - - name: Upload Python Package - run: | - poetry config repositories.test-pypi https://test.pypi.org/legacy/ - poetry config pypi-token.test-pypi ${{secrets.PYPI_TEST_TOKEN}} - poetry publish --repository test-pypi \ No newline at end of file diff --git a/.github/workflows/python-pypi-upload.yml b/.github/workflows/python-pypi-upload.yml deleted file mode 100644 index e08b6b8..0000000 --- a/.github/workflows/python-pypi-upload.yml +++ /dev/null @@ -1,46 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python - -name: Python application - -on: - push: - branches: [ "master" ] - -permissions: - contents: read - -jobs: - - pypi-upload: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: "3.10" - - name: Install dependencies - run: | - python -m pip install --upgrade pip poetry - poetry self add "poetry-dynamic-versioning[plugin]" - if [ -f pyproject.toml ]; then poetry install; fi - - name: Configure PyPI - run: | - poetry config repositories.pypi https://upload.pypi.org/legacy/ - poetry config pypi-token.pypi ${{secrets.PYPI_TOKEN}} - - name: Build Python Package - run: | - poetry build -f sdist - poetry install - echo "Builded yoshi-seals - $(poetry version)" - - name: Run unittest - run: | - poetry run python -m unittest - - name: Upload Python Package - run: | - poetry publish --repository pypi \ No newline at end of file diff --git a/.github/workflows/python-test-and-build.yml b/.github/workflows/python-test-and-build.yml new file mode 100644 index 0000000..c916437 --- /dev/null +++ b/.github/workflows/python-test-and-build.yml @@ -0,0 +1,67 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python application + +on: + push + +permissions: + contents: read + +jobs: + + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install poetry + run: pipx install poetry + + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + cache: 'poetry' + - name: Install dependencies + run: | + poetry self add "poetry-dynamic-versioning[plugin]" + if [ -f pyproject.toml ]; then poetry install; fi + - name: Run unittest + run: | + poetry run python -m unittest + + pypi-upload: + needs: [test] + if: startsWith(github.ref, 'refs/tags/v') + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install poetry + run: pipx install poetry + + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + cache: 'poetry' + - name: Install dependencies + run: | + poetry self add "poetry-dynamic-versioning[plugin]" + if [ -f pyproject.toml ]; then poetry install; fi + - name: Build Python Package + run: | + poetry build -f sdist + poetry install + echo "Builded yoshi-seals - $(poetry version)" + - name: Configure PyPI + run: | + poetry config repositories.pypi https://upload.pypi.org/legacy/ + poetry config pypi-token.pypi ${{secrets.PYPI_TOKEN}} + - name: Upload Python Package + run: | + poetry publish --repository pypi \ No newline at end of file