77 workflow_dispatch : # Allows manual trigger of the workflow
88 inputs :
99 custom_version : # Optional input for a custom version
10- description : ' Custom version to publish (e.g., v1.2.3) -- only edit if you know what you are doing'
10+ description : ' Custom version to publish (e.g., v1.2.3 or v1.2.3.dev4 ) -- only edit if you know what you are doing'
1111 required : false
1212 type : string
13+ checkout_ref :
14+ description : ' Git ref to checkout before building wheels. Defaults to the release version.'
15+ required : false
16+ type : string
17+ build_docker_images :
18+ description : ' Build Docker images as part of release verification.'
19+ required : true
20+ default : true
21+ type : boolean
1322 token :
1423 description : ' Personal Access Token'
1524 required : true
1827 workflow_call :
1928 inputs :
2029 custom_version : # Optional input for a custom version
21- description : ' Custom version to publish (e.g., v1.2.3) -- only edit if you know what you are doing'
30+ description : ' Custom version to publish (e.g., v1.2.3 or v1.2.3.dev4 ) -- only edit if you know what you are doing'
2231 required : false
2332 type : string
33+ checkout_ref :
34+ description : ' Git ref to checkout before building wheels. Defaults to the release version.'
35+ required : false
36+ type : string
37+ build_docker_images :
38+ description : ' Build Docker images as part of release verification.'
39+ required : false
40+ default : true
41+ type : boolean
2442 token :
2543 description : ' Personal Access Token'
2644 required : true
@@ -48,17 +66,20 @@ jobs:
4866 - id : get-version
4967 uses : ./.github/actions/get-semantic-release-version
5068 with :
51- custom_version : ${{ github.event. inputs.custom_version }}
52- token : ${{ github.event. inputs.token }}
69+ custom_version : ${{ inputs.custom_version }}
70+ token : ${{ inputs.token }}
5371 - name : Checkout version and install dependencies
5472 env :
5573 VERSION : ${{ steps.get-version.outputs.release_version }}
74+ CHECKOUT_REF : ${{ inputs.checkout_ref }}
5675 PYPI_PASSWORD : ${{ secrets.PYPI_PASSWORD }}
5776 run : |
5877 git fetch --tags
59- git checkout ${ VERSION}
78+ git checkout "${CHECKOUT_REF:-$ VERSION}"
6079 python -m pip install build
6180 - name : Build feast
81+ env :
82+ SETUPTOOLS_SCM_PRETEND_VERSION : ${{ steps.get-version.outputs.version_without_prefix }}
6283 run : python -m build
6384 - uses : actions/upload-artifact@v4
6485 with :
6889 # We add this step so the docker images can be built as part of the pre-release verification steps.
6990 build-docker-images :
7091 name : Build Docker images
92+ if : ${{ inputs.build_docker_images }}
7193 runs-on : ubuntu-latest
7294 needs : [ build-python-wheel ]
7395 strategy :
96118 - id : get-version
97119 uses : ./.github/actions/get-semantic-release-version
98120 with :
99- custom_version : ${{ github.event. inputs.custom_version }}
100- token : ${{ github.event. inputs.token }}
121+ custom_version : ${{ inputs.custom_version }}
122+ token : ${{ inputs.token }}
101123 - name : Build image
102124 env :
103125 VERSION_WITHOUT_PREFIX : ${{ steps.get-version.outputs.version_without_prefix }}
@@ -162,8 +184,8 @@ jobs:
162184 - id : get-version
163185 uses : ./.github/actions/get-semantic-release-version
164186 with :
165- custom_version : ${{ github.event. inputs.custom_version }}
166- token : ${{ github.event. inputs.token }}
187+ custom_version : ${{ inputs.custom_version }}
188+ token : ${{ inputs.token }}
167189 - name : Validate Feast Version
168190 env :
169191 VERSION_WITHOUT_PREFIX : ${{ steps.get-version.outputs.version_without_prefix }}
@@ -173,10 +195,10 @@ jobs:
173195 echo "Error: Failed to get Feast version."
174196 exit 1
175197 fi
176- VERSION_REGEX='[0-9]+\.[0-9]+\.[0-9]+'
177- OUTPUT_REGEX=' ^Feast SDK Version: "$ VERSION_REGEX"$'
178- VERSION=$(echo $VERSION_OUTPUT | grep -oE "$VERSION_REGEX")
179- OUTPUT=$(echo $VERSION_OUTPUT | grep -E "$REGEX ")
198+ VERSION_REGEX='[0-9]+\.[0-9]+\.[0-9]+(\.dev[0-9]+)? '
199+ OUTPUT_REGEX=" ^Feast SDK Version: \"${ VERSION_REGEX}\"$"
200+ VERSION=$(echo " $VERSION_OUTPUT" | grep -oE "$VERSION_REGEX")
201+ OUTPUT=$(echo " $VERSION_OUTPUT" | grep -E "$OUTPUT_REGEX ")
180202 echo "Installed Feast Version: $VERSION and using Feast Version: $VERSION_WITHOUT_PREFIX"
181203 if [ -n "$OUTPUT" ] && [ "$VERSION" = "$VERSION_WITHOUT_PREFIX" ]; then
182204 echo "Correct Feast Version Installed"
0 commit comments