diff --git a/.github/workflows/python-build.yml b/.github/workflows/python-build.yml index 3317cf4..ad85e9b 100644 --- a/.github/workflows/python-build.yml +++ b/.github/workflows/python-build.yml @@ -1,20 +1,49 @@ -name: Python - Build +name: Python - Build packages & Release -on: [push, pull_request] - -env: - CARGO_TERM_COLOR: always +on: + push: {} + pull_request: {} + release: + types: [created] jobs: - build-release-python: - name: "build-release-python" + build-python-packages: + runs-on: ubuntu-latest + defaults: + run: + working-directory: pyadb_client + + steps: + - uses: actions/checkout@v4 + + - name: Install Python dependencies + run: pip install . + + - name: Build Python packages + run: maturin build --release --interpreter "3.8" --interpreter "3.9" --interpreter "3.10" --interpreter "3.11" --interpreter "3.12" --interpreter "3.13" + + publish-python-packages: runs-on: ubuntu-latest defaults: run: working-directory: pyadb_client + needs: [build-python-packages] + if: github.event_name == 'release' && github.event.action == 'created' + steps: - - uses: actions/checkout@v4 - - name: Install Python dependencies - run: pip install . - - name: Build project - run: maturin build --release \ No newline at end of file + - uses: actions/checkout@v4 + + - name: Install Python dependencies + run: pip install . + + - name: Publish Python packages + run: maturin publish --no-interactive + env: + MATURIN_PYPI_TOKEN: ${{ secrets.MATURIN_PYPI_TOKEN }} + + - name: "Publish GitHub artefacts" + uses: softprops/action-gh-release@v2 + with: + files: | + target/wheels/pyadb_client*.whl + target/wheels/pyadb_client*.tar.gz \ No newline at end of file diff --git a/.github/workflows/python-release.yml b/.github/workflows/python-release.yml deleted file mode 100644 index 81b0731..0000000 --- a/.github/workflows/python-release.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Python - Release creation - -on: - release: - types: [created] - -jobs: - create-release: - runs-on: ubuntu-latest - defaults: - run: - working-directory: pyadb_client - - steps: - - uses: actions/checkout@v4 - - - name: Install Python dependencies - run: pip install . - - - name: Publish Python package - run: maturin publish --non-interactive --no-sdist - env: - MATURIN_PYPI_TOKEN: ${{ secrets.MATURIN_PYPI_TOKEN }} - - - name: "Publish GitHub artefacts" - uses: softprops/action-gh-release@v2 - with: - files: | - target/wheels/pyadb_client*.whl - target/wheels/pyadb_client*.tar.gz diff --git a/Cargo.toml b/Cargo.toml index ad6e52c..f6d6f3b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ homepage = "https://github.com/cocool97/adb_client" keywords = ["adb", "android", "tcp", "usb"] license = "MIT" repository = "https://github.com/cocool97/adb_client" -version = "2.1.2" +version = "2.1.3" # To build locally when working on a new release [patch.crates-io] diff --git a/pyadb_client/pyproject.toml b/pyadb_client/pyproject.toml index be20b20..1900fb6 100644 --- a/pyadb_client/pyproject.toml +++ b/pyadb_client/pyproject.toml @@ -3,8 +3,8 @@ requires = ["maturin>=1,<2"] build-backend = "maturin" [project] -dependencies = ["maturin", "patchelf"] name = "pyadb_client" +dependencies = ["maturin", "patchelf"] dynamic = ["version"] # Let the build system automatically set package version classifiers = [ "Programming Language :: Rust",