Skip to content

Add extra-index-url option for pypi validation #26

Add extra-index-url option for pypi validation

Add extra-index-url option for pypi validation #26

name: Validate linux binaries

Check failure on line 1 in .github/workflows/validate-linux-binaries.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/validate-linux-binaries.yml

Invalid workflow file

you may only define up to 10 `inputs` for a `workflow_dispatch` event
on:
workflow_call:
inputs:
channel:
description: "Channel to use (nightly, test, release, all)"
required: true
type: string
ref:
description: 'Reference to checkout, defaults to empty'
default: ""
required: false
type: string
torchonly:
description: 'Validate torchonly'
default: false
required: false
type: boolean
version:
description: 'Version to validate - optional'
default: ""
required: false
type: string
use-version-set:
description: 'Applies when version is used, use version for each domain'
default: false
required: false
type: boolean
release-matrix:
description: 'Release matrix - optional'
default: ""
required: false
type: string
include-test-ops:
description: 'Include Test Ops tests (only Linux)'
default: false
required: false
type: boolean
use-only-dl-pytorch-org:
description: 'Use only download.pytorch.org when generating wheel install command'
default: false
required: false
type: boolean
use-force-reinstall:
description: 'Use force-reinstall for pip binaries'
default: false
required: false
type: boolean
use_split_build:
description: |
[Experimental] Use split build
required: false
type: boolean
default: false
use-extra-index-url:
description: 'Use extra-index url for pip tests'
default: false
required: false
type: boolean
workflow_dispatch:
inputs:
channel:
description: "Channel to use (nightly, test, release, all)"
required: true
type: choice
options:
- release
- nightly
- test
- all
ref:
description: 'Reference to checkout, defaults to empty'
default: ""
required: false
type: string
torchonly:
description: 'Validate torchonly'
default: false
required: false
type: boolean
version:
description: 'Version to validate - optional'
default: ""
required: false
type: string
use-version-set:
description: 'Applies when version is used, use version for each domain'
default: false
required: false
type: boolean
release-matrix:
description: 'Release matrix - optional'
default: ""
required: false
type: string
include-test-ops:
description: 'Include Test Ops tests (only Linux)'
default: false
required: false
type: boolean
use-only-dl-pytorch-org:
description: 'Use only download.pytorch.org when generating wheel install command'
default: false
required: false
type: boolean
use-force-reinstall:
description: 'Use force-reinstall for pip binaries'
default: false
required: false
type: boolean
use_split_build:
description: |
[Experimental] Use split build
required: false
type: boolean
default: false
use-extra-index-url:
description: 'Use extra-index url for pip tests'
default: false
required: false
type: boolean
jobs:
generate-linux-matrix:
uses: pytorch/test-infra/.github/workflows/generate_binary_build_matrix.yml@main
with:
package-type: all
os: linux
channel: ${{ inputs.channel }}
use-only-dl-pytorch-org: ${{ inputs.use-only-dl-pytorch-org }}
use_split_build: ${{ inputs.use_split_build }}
linux:
needs: generate-linux-matrix
strategy:
matrix: ${{ fromJson(needs.generate-linux-matrix.outputs.matrix) }}
fail-fast: false
uses: pytorch/test-infra/.github/workflows/linux_job.yml@main
name: ${{ matrix.build_name }}
with:
runner: ${{ matrix.validation_runner }}
repository: "pytorch/builder"
ref: ${{ inputs.ref || github.ref }}
job-name: ${{ matrix.build_name }}
binary-matrix: ${{ toJSON(matrix) }}
timeout: 180
script: |
set -ex
export ENV_NAME="conda-env-${{ github.run_id }}"
export TORCH_ONLY=${{ inputs.torchonly }}
export INCLUDE_TEST_OPS=${{ inputs.include-test-ops }}
export USE_ONLY_DL_PYTORCH_ORG=${{ inputs.use-only-dl-pytorch-org }}
export USE_EXTRA_INDEX_URL=${{ inputs.use-extra-index-url }}
export RELEASE_VERSION=${{ inputs.version }}
export USE_VERSION_SET=${{ inputs.use-version-set }}
if [[ ${USE_VERSION_SET} == 'true' ]]; then
export VISION_RELEASE_VERSION=${{ fromJson(inputs.release-matrix).torchvision }}
export AUDIO_RELEASE_VERSION=${{ fromJson(inputs.release-matrix).torchaudio }}
fi
export USE_FORCE_REINSTALL=${{ inputs.use-force-reinstall }}
export TARGET_OS="linux"
eval "$(conda shell.bash hook)"
printf '%s\n' ${{ toJson(inputs.release-matrix) }} > release_matrix.json
# Special case PyPi installation package. And Install of PyPi package via poetry
if [[ ${MATRIX_PACKAGE_TYPE} == "manywheel" && \
${MATRIX_GPU_ARCH_VERSION} == "12.1" && \
${MATRIX_CHANNEL} == "release" && \
${USE_ONLY_DL_PYTORCH_ORG} == "false" ]]; then
source ./.github/scripts/validate_pipy.sh
source ./.github/scripts/validate_poetry.sh
fi
# Standart case: Validate binaries
source ./.github/scripts/validate_binaries.sh