| name: Deploy the OpenBB Platform to Test PyPI | |
| on: | |
| push: | |
| branches: | |
| - feature/v4-pypi | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| deploy-test-pypi: | |
| name: Build and publish π¦ to TestPyPI | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Python 3.10 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.10" | |
| - name: Install pypa/build | |
| run: >- | |
| python -m | |
| pip install | |
| build | |
| --user | |
| - name: OpenBBTerminal - Update version in pyproject.toml and Edit docs | |
| run: | | |
| sed -i 's/name = ".*"/name = "openbb-terminal-nightly"/' pyproject.toml | |
| sed -i "3s/version = \"\(.*\)\"/version = \"\1.dev$(date +%Y%m%d%H%M)\"/" pyproject.toml | |
| sed -i 's|pip install openbb-terminal|pip install openbb-terminal-nightly|g' ./website/pypi.md | |
| - name: OpenBBTerminal - Build a binary wheel and a source tarball | |
| run: >- | |
| python -m | |
| build | |
| --sdist | |
| --wheel | |
| --outdir dist/ | |
| . | |
| - name: OpenBBTerminal - Publish distribution π¦ to Test PyPI | |
| uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| packages-dir: dist/ | |
| password: ${{ secrets.TEST_PYPI_API_TOKEN_OBB_TERMINAL_NIGHTLY }} | |
| repository-url: https://test.pypi.org/legacy/ | |
| - name: OpenBB Platform - Update version in pyproject.toml and Edit docs | |
| run: | | |
| sed -i 's/name = ".*"/name = "openbb-nightly"/' openbb_platform/pyproject.toml | |
| sed -i "3s/version = \"\(.*\)\"/version = \"\1.dev$(date +%Y%m%d%H%M)\"/" openbb_platform/pyproject.toml | |
| - name: OpenBB Platform - Create the dynamically generated wheel | |
| run: | | |
| python -m pip install poetry toml | |
| python build/pypi/openbb_platform/nightly.py | |
| - name: OpenBB Platform - Publish distribution π¦ to Test PyPI | |
| uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| packages-dir: openbb_platform/dist/ | |
| password: ${{ secrets.TEST_PYPI_API_TOKEN_OBB_PLATFORM_NIGHTLY }} | |
| repository-url: https://test.pypi.org/legacy/ | |