Chore: Split migration script implementations into DDL and DML #726
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Private Repo Testing | |
on: | |
pull_request_target: | |
branches: | |
- main | |
concurrency: | |
group: 'private-test-${{ github.event.pull_request.number }}' | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
jobs: | |
trigger-private-test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v5 | |
with: | |
fetch-depth: 0 | |
ref: ${{ github.event.pull_request.head.sha || github.ref }} | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Install uv | |
uses: astral-sh/setup-uv@v6 | |
- name: Set up Node.js for UI build | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install pnpm | |
uses: pnpm/action-setup@v4 | |
with: | |
version: latest | |
- name: Install UI dependencies | |
run: pnpm install | |
- name: Build UI | |
run: pnpm --prefix web/client run build | |
- name: Install Python dependencies | |
run: | | |
python -m venv .venv | |
source .venv/bin/activate | |
pip install build twine setuptools_scm | |
- name: Generate development version | |
id: version | |
run: | | |
source .venv/bin/activate | |
# Generate a PEP 440 compliant unique version including run attempt | |
BASE_VERSION=$(python .github/scripts/get_scm_version.py) | |
COMMIT_SHA=$(git rev-parse --short HEAD) | |
# Use PEP 440 compliant format: base.devN+pr.sha.attempt | |
UNIQUE_VERSION="${BASE_VERSION}+pr${{ github.event.pull_request.number }}.${COMMIT_SHA}.run${{ github.run_attempt }}" | |
echo "version=$UNIQUE_VERSION" >> $GITHUB_OUTPUT | |
echo "Generated unique version with run attempt: $UNIQUE_VERSION" | |
- name: Build package | |
env: | |
SETUPTOOLS_SCM_PRETEND_VERSION: ${{ steps.version.outputs.version }} | |
run: | | |
source .venv/bin/activate | |
python -m build | |
- name: Configure PyPI for private repository | |
env: | |
TOBIKO_PRIVATE_PYPI_URL: ${{ secrets.TOBIKO_PRIVATE_PYPI_URL }} | |
TOBIKO_PRIVATE_PYPI_KEY: ${{ secrets.TOBIKO_PRIVATE_PYPI_KEY }} | |
run: ./.circleci/update-pypirc.sh | |
- name: Publish to private PyPI | |
run: | | |
source .venv/bin/activate | |
python -m twine upload -r tobiko-private dist/* | |
- name: Publish Python Tests package | |
env: | |
SETUPTOOLS_SCM_PRETEND_VERSION: ${{ steps.version.outputs.version }} | |
run: | | |
source .venv/bin/activate | |
unset TWINE_USERNAME TWINE_PASSWORD && make publish-tests | |
- name: Get GitHub App token | |
id: get_token | |
uses: actions/create-github-app-token@v2 | |
with: | |
private-key: ${{ secrets.TOBIKO_RENOVATE_BOT_PRIVATE_KEY }} | |
app-id: ${{ secrets.TOBIKO_RENOVATE_BOT_APP_ID }} | |
owner: ${{ secrets.PRIVATE_REPO_OWNER }} | |
- name: Trigger private repository workflow | |
uses: convictional/[email protected] | |
with: | |
owner: ${{ secrets.PRIVATE_REPO_OWNER }} | |
repo: ${{ secrets.PRIVATE_REPO_NAME }} | |
github_token: ${{ steps.get_token.outputs.token }} | |
workflow_file_name: ${{ secrets.PRIVATE_WORKFLOW_FILE }} | |
client_payload: | | |
{ | |
"package_version": "${{ steps.version.outputs.version }}", | |
"pr_number": "${{ github.event.pull_request.number }}" | |
} |