From 442cdd66a84e93caaba533d06e1d2e7fcbb8db0b Mon Sep 17 00:00:00 2001 From: Daniel Toyama Date: Fri, 26 Jun 2026 11:16:13 -0700 Subject: [PATCH] Automate pip package building on GitHub Actions and fix packaging. - Added `release.yml` GitHub Actions workflow to build and publish pip packages to PyPI on tag creation (`v*`). - Fixed `setup.py` `package_data` to recursively include `android_env/proto/a11y/*.proto` files. PiperOrigin-RevId: 938683271 --- .github/workflows/release.yml | 49 +++++++++++++++++++++++++++++++++++ setup.py | 2 +- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..4b6bccf8 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,49 @@ +name: Release + +on: + push: + tags: + - 'v*' + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install build dependencies + run: | + python -m pip install --upgrade pip + pip install build + + - name: Build package + run: | + python -m build + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: releases + path: dist/* + + publish: + needs: build + runs-on: ubuntu-latest + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') + permissions: + id-token: write + steps: + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: releases + path: dist + + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/setup.py b/setup.py index 62551fb9..8d05dc1b 100644 --- a/setup.py +++ b/setup.py @@ -98,7 +98,7 @@ def run(self): setup( packages=find_packages(exclude=['examples']), - package_data={'': ['proto/*.proto']}, # Copy protobuf files. + package_data={'android_env': ['proto/*.proto', 'proto/a11y/*.proto']}, include_package_data=True, setup_requires=['grpcio-tools'], cmdclass={