Nv-Ingest Nightly PyPi Wheel Publish #392
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: Nv-Ingest Nightly PyPi Wheel Publish | |
| # Trigger for pull requests and pushing to main | |
| on: | |
| schedule: | |
| # Runs every day at 11:30PM (UTC) | |
| - cron: "30 23 * * *" | |
| workflow_dispatch: | |
| inputs: | |
| environment: | |
| description: 'Source branch to build wheel from' | |
| required: true | |
| default: 'main' | |
| VERSION: | |
| description: 'Version string for the release (e.g., 25.4.0)' | |
| required: true | |
| RELEASE_TYPE: | |
| description: 'Whether the build is a nightly or release' | |
| required: true | |
| type: choice | |
| options: | |
| - dev | |
| - release | |
| jobs: | |
| build: | |
| runs-on: linux-large-disk | |
| container: | |
| image: rapidsai/ci-conda:cuda12.5.1-ubuntu22.04-py3.12 | |
| steps: | |
| - name: Determine source branch and release type to use for run | |
| run: | | |
| if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then | |
| echo "Setting build source to ${{ github.event.inputs.environment }}" | |
| echo "ENVIRONMENT=${{ github.event.inputs.environment }}" >> $GITHUB_ENV | |
| else | |
| echo "Setting build source to main. DEFAULT" | |
| echo "ENVIRONMENT=main" >> $GITHUB_ENV | |
| fi | |
| if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then | |
| echo "Setting RELEASE_TYPE to ${{ github.event.inputs.RELEASE_TYPE }}" | |
| echo "RELEASE_TYPE=${{ github.event.inputs.RELEASE_TYPE }}" >> $GITHUB_ENV | |
| else | |
| echo "Setting RELEASE_TYPE to dev. DEFAULT" | |
| echo "RELEASE_TYPE=dev" >> $GITHUB_ENV | |
| fi | |
| if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then | |
| echo "Setting VERSION to ${{ github.event.inputs.VERSION }}" | |
| echo "VERSION=${{ github.event.inputs.VERSION }}" >> $GITHUB_ENV | |
| else | |
| echo "Setting VERSION to $(date +'%Y.%m.%d'). DEFAULT" | |
| echo "VERSION=$(date +'%Y.%m.%d')" >> $GITHUB_ENV | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ env.ENVIRONMENT }} | |
| - name: Install build dependencies | |
| run: | | |
| pip install build twine | |
| - name: Build nv-ingest-api wheel | |
| run: | | |
| cd api && NV_INGEST_RELEASE_TYPE=${{ env.RELEASE_TYPE }} NV_INGEST_VERSION=${{ env.VERSION }} python -m build | |
| - name: Build nv-ingest-client wheel | |
| run: | | |
| cd client && NV_INGEST_RELEASE_TYPE=${{ env.RELEASE_TYPE }} NV_INGEST_VERSION=${{ env.VERSION }} python -m build | |
| - name: Build nv-ingest service wheel | |
| run: | | |
| cd src && NV_INGEST_RELEASE_TYPE=${{ env.RELEASE_TYPE }} NV_INGEST_VERSION=${{ env.VERSION }} python -m build | |
| - name: Publish wheels to Artifactory | |
| env: | |
| ARTIFACTORY_URL: ${{ secrets.ARTIFACTORY_URL }} | |
| ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} | |
| ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} | |
| run: | | |
| twine upload --repository-url $ARTIFACTORY_URL -u $ARTIFACTORY_USERNAME -p $ARTIFACTORY_PASSWORD api/dist/* \ | |
| && twine upload --repository-url $ARTIFACTORY_URL -u $ARTIFACTORY_USERNAME -p $ARTIFACTORY_PASSWORD client/dist/* \ | |
| && twine upload --repository-url $ARTIFACTORY_URL -u $ARTIFACTORY_USERNAME -p $ARTIFACTORY_PASSWORD src/dist/* |