From effa8b7dad85f86300d8061db281166e20310254 Mon Sep 17 00:00:00 2001 From: Andrey Talman Date: Thu, 22 Feb 2024 15:06:47 -0500 Subject: [PATCH] Add force-reinstall option to binary validations (#1708) --- .github/scripts/validate_binaries.sh | 5 +++++ .../workflows/validate-aarch64-linux-binaries.yml | 11 +++++++++++ .github/workflows/validate-binaries.yml | 15 +++++++++++++++ .github/workflows/validate-linux-binaries.yml | 11 +++++++++++ .../workflows/validate-macos-arm64-binaries.yml | 12 ++++++++++++ .github/workflows/validate-macos-binaries.yml | 12 ++++++++++++ .github/workflows/validate-windows-binaries.yml | 12 ++++++++++++ 7 files changed, 78 insertions(+) diff --git a/.github/scripts/validate_binaries.sh b/.github/scripts/validate_binaries.sh index f3b73e3de..b4b329545 100755 --- a/.github/scripts/validate_binaries.sh +++ b/.github/scripts/validate_binaries.sh @@ -10,6 +10,11 @@ else conda activate ${ENV_NAME} INSTALLATION=${MATRIX_INSTALLATION/"conda install"/"conda install -y"} TEST_SUFFIX="" + + if [[ ${USE_FORCE_REINSTALL} == 'true' ]]; then + INSTALLATION=${INSTALLATION/"pip3 install"/"pip3 install --force-reinstall"} + fi + if [[ ${TORCH_ONLY} == 'true' ]]; then INSTALLATION=${INSTALLATION/"torchvision torchaudio"/""} TEST_SUFFIX=" --package torchonly" diff --git a/.github/workflows/validate-aarch64-linux-binaries.yml b/.github/workflows/validate-aarch64-linux-binaries.yml index 8761df4f9..55f0edf17 100644 --- a/.github/workflows/validate-aarch64-linux-binaries.yml +++ b/.github/workflows/validate-aarch64-linux-binaries.yml @@ -32,6 +32,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean workflow_dispatch: inputs: channel: @@ -68,6 +73,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean jobs: generate-aarch64-linux-matrix: @@ -104,6 +114,7 @@ jobs: export TARGET_OS="linux-aarch64" export TORCH_ONLY=${{ inputs.torchonly }} export RELEASE_VERSION=${{ inputs.version }} + export USE_FORCE_REINSTALL=${{ inputs.use-force-reinstall }} printf '%s\n' ${{ toJson(inputs.release-matrix) }} > release_matrix.json eval "$(conda shell.bash hook)" diff --git a/.github/workflows/validate-binaries.yml b/.github/workflows/validate-binaries.yml index 78e631ab8..a83ce59d2 100644 --- a/.github/workflows/validate-binaries.yml +++ b/.github/workflows/validate-binaries.yml @@ -37,6 +37,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean workflow_dispatch: inputs: os: @@ -85,6 +90,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean jobs: @@ -104,6 +114,7 @@ jobs: version: ${{ inputs.version }} release-matrix: ${{ needs.generate-release-matrix.outputs.matrix }} use-only-dl-pytorch-org: ${{ inputs.use-only-dl-pytorch-org }} + use-force-reinstall: ${{ inputs.use-force-reinstall }} linux: if: inputs.os == 'linux' || inputs.os == 'all' @@ -117,6 +128,7 @@ jobs: release-matrix: ${{ needs.generate-release-matrix.outputs.matrix }} include-test-ops: ${{ inputs.include-test-ops }} use-only-dl-pytorch-org: ${{ inputs.use-only-dl-pytorch-org }} + use-force-reinstall: ${{ inputs.use-force-reinstall }} linux-aarch64: if: inputs.os == 'linux-aarch64' || inputs.os == 'all' @@ -129,6 +141,7 @@ jobs: version: ${{ inputs.version }} release-matrix: ${{ needs.generate-release-matrix.outputs.matrix }} use-only-dl-pytorch-org: ${{ inputs.use-only-dl-pytorch-org }} + use-force-reinstall: ${{ inputs.use-force-reinstall }} mac: if: inputs.os == 'macos' || inputs.os == 'all' @@ -141,6 +154,7 @@ jobs: version: ${{ inputs.version }} release-matrix: ${{ needs.generate-release-matrix.outputs.matrix }} use-only-dl-pytorch-org: ${{ inputs.use-only-dl-pytorch-org }} + use-force-reinstall: ${{ inputs.use-force-reinstall }} mac-arm64: if: inputs.os == 'macos' || inputs.os == 'all' @@ -153,3 +167,4 @@ jobs: version: ${{ inputs.version }} release-matrix: ${{ needs.generate-release-matrix.outputs.matrix }} use-only-dl-pytorch-org: ${{ inputs.use-only-dl-pytorch-org }} + use-force-reinstall: ${{ inputs.use-force-reinstall }} diff --git a/.github/workflows/validate-linux-binaries.yml b/.github/workflows/validate-linux-binaries.yml index 87c9f7cd8..15799901c 100644 --- a/.github/workflows/validate-linux-binaries.yml +++ b/.github/workflows/validate-linux-binaries.yml @@ -37,6 +37,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean workflow_dispatch: inputs: channel: @@ -78,6 +83,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean jobs: generate-linux-matrix: @@ -109,6 +119,7 @@ jobs: export INCLUDE_TEST_OPS=${{ inputs.include-test-ops }} export USE_ONLY_DL_PYTORCH_ORG=${{ inputs.use-only-dl-pytorch-org }} export RELEASE_VERSION=${{ inputs.version }} + 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 diff --git a/.github/workflows/validate-macos-arm64-binaries.yml b/.github/workflows/validate-macos-arm64-binaries.yml index dea76ffeb..4667b52e4 100644 --- a/.github/workflows/validate-macos-arm64-binaries.yml +++ b/.github/workflows/validate-macos-arm64-binaries.yml @@ -32,6 +32,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean workflow_dispatch: inputs: channel: @@ -68,6 +73,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean jobs: generate-macos-arm64-matrix: @@ -97,5 +107,7 @@ jobs: export TARGET_OS="macos-arm64" export TORCH_ONLY=${{ inputs.torchonly }} export RELEASE_VERSION=${{ inputs.version }} + export USE_FORCE_REINSTALL=${{ inputs.use-force-reinstall }} + printf '%s\n' ${{ toJson(inputs.release-matrix) }} > release_matrix.json source ./.github/scripts/validate_binaries.sh diff --git a/.github/workflows/validate-macos-binaries.yml b/.github/workflows/validate-macos-binaries.yml index 76035a97d..b9e8dda48 100644 --- a/.github/workflows/validate-macos-binaries.yml +++ b/.github/workflows/validate-macos-binaries.yml @@ -32,6 +32,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean workflow_dispatch: inputs: channel: @@ -68,6 +73,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean jobs: generate-macos-matrix: @@ -97,5 +107,7 @@ jobs: export TARGET_OS="macos" export TORCH_ONLY=${{ inputs.torchonly }} export RELEASE_VERSION=${{ inputs.version }} + export USE_FORCE_REINSTALL=${{ inputs.use-force-reinstall }} + printf '%s\n' ${{ toJson(inputs.release-matrix) }} > release_matrix.json source ./.github/scripts/validate_binaries.sh diff --git a/.github/workflows/validate-windows-binaries.yml b/.github/workflows/validate-windows-binaries.yml index 9d4b3a8c4..a287e3ecd 100644 --- a/.github/workflows/validate-windows-binaries.yml +++ b/.github/workflows/validate-windows-binaries.yml @@ -32,6 +32,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean workflow_dispatch: inputs: channel: @@ -68,6 +73,11 @@ on: default: false required: false type: boolean + use-force-reinstall: + description: 'Use force-reinstall for pip binaries' + default: false + required: false + type: boolean jobs: generate-windows-matrix: @@ -98,6 +108,8 @@ jobs: export TARGET_OS="windows" export TORCH_ONLY=${{ inputs.torchonly }} export RELEASE_VERSION=${{ inputs.version }} + export USE_FORCE_REINSTALL=${{ inputs.use-force-reinstall }} + printf '%s\n' ${{ toJson(inputs.release-matrix) }} > release_matrix.json source /c/Jenkins/Miniconda3/etc/profile.d/conda.sh if [[ ${MATRIX_GPU_ARCH_VERSION} == "12.1" ]]; then