diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index f34a95b..28c993a 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -32,49 +32,8 @@ jobs: - name: Run tests run: pytest - publish-test: - needs: build - runs-on: ubuntu-latest - if: github.event_name == 'release' && github.event.action == 'published' - permissions: - id-token: write - contents: read - steps: - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.12' - - name: Clean up dist folder - run: rm -rf dist/ - - name: Extract version from pyproject.toml - id: extract_version - run: | - python -m pip install --upgrade pip - pip install toml - VERSION=$(python -c "import toml; print(toml.load('pyproject.toml')['project']['version'])") - echo "VERSION=$VERSION" >> $GITHUB_ENV - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install build twine - - name: Build package - run: python -m build - - name: Publish to TestPyPI - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.TESTPYPI_API_TOKEN }} - run: | - twine upload --repository testpypi dist/* - - name: Verify installation from TestPyPI - run: | - python -m venv test-env - . test-env/bin/activate - pip install --index-url https://test.pypi.org/simple/ etekcity_esf551_ble==$VERSION - python -c "from etekcity_esf551_ble import EtekcitySmartFitnessScale, WeightUnit; print(EtekcitySmartFitnessScale, WeightUnit)" - publish-prod: - needs: [build, publish-test] + needs: [build] runs-on: ubuntu-latest if: github.event_name == 'release' && github.event.action == 'published' permissions: @@ -100,6 +59,12 @@ jobs: TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} run: | twine upload dist/* + - name: Verify installation from PyPI + run: | + python -m venv test-env + . test-env/bin/activate + pip install etekcity_esf551_ble==$VERSION + python -c "from etekcity_esf551_ble import EtekcitySmartFitnessScale, WeightUnit; print(EtekcitySmartFitnessScale, WeightUnit)" - name: Upload Release Assets uses: actions/upload-release-asset@v3 with: