Skip to content

Commit

Permalink
Merge branch 'master' into milvus-vector-db
Browse files Browse the repository at this point in the history
  • Loading branch information
franciscojavierarceo authored Dec 17, 2024
2 parents a026729 + 49171bd commit e27258d
Show file tree
Hide file tree
Showing 55 changed files with 1,241 additions and 799 deletions.
68 changes: 10 additions & 58 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ name: build_wheels
# Devs should check out their fork, add a tag to the last master commit on their fork, and run the release off of their fork on the added tag to ensure wheels will be built correctly.
on:
workflow_dispatch:
tags:
- 'v*.*.*'
tags:
- 'v*.*.*'
workflow_call:
inputs:
release_version:
Expand All @@ -20,58 +20,10 @@ on:

jobs:
get-version:
runs-on: ubuntu-latest
outputs:
release_version: ${{ steps.get_release_version.outputs.release_version }}
version_without_prefix: ${{ steps.get_release_version_without_prefix.outputs.version_without_prefix }}
highest_semver_tag: ${{ steps.get_highest_semver.outputs.highest_semver_tag }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Get release version
id: get_release_version
run: |
if [[ -n "${{ inputs.release_version }}" ]]; then
echo "Using provided release version: ${{ inputs.release_version }}"
echo "::set-output name=release_version::${{ inputs.release_version }}"
else
echo "No release version provided. Falling back to GITHUB_REF."
echo "::set-output name=release_version::${GITHUB_REF#refs/tags/}"
fi
- name: Get release version without prefix
id: get_release_version_without_prefix
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
run: |
echo ::set-output name=version_without_prefix::${RELEASE_VERSION:1}
- name: Get highest semver
id: get_highest_semver
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
run: |
if [[ -n "${{ inputs.highest_semver_tag }}" ]]; then
echo "Using provided highest semver version: ${{ inputs.highest_semver_tag }}"
echo "::set-output name=highest_semver_tag::${{ inputs.highest_semver_tag }}"
else
echo "No release version provided. Falling back to infra/scripts/setup-common-functions.sh."
source infra/scripts/setup-common-functions.sh
SEMVER_REGEX='^v[0-9]+\.[0-9]+\.[0-9]+(-([0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*))?$'
if echo "${RELEASE_VERSION}" | grep -P "$SEMVER_REGEX" &>/dev/null ; then
echo ::set-output name=highest_semver_tag::$(get_tag_release -m)
fi
fi
- name: Check output
id: check_output
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
VERSION_WITHOUT_PREFIX: ${{ steps.get_release_version_without_prefix.outputs.version_without_prefix }}
HIGHEST_SEMVER_TAG: ${{ steps.get_highest_semver.outputs.highest_semver_tag }}
run: |
echo $RELEASE_VERSION
echo $VERSION_WITHOUT_PREFIX
echo $HIGHEST_SEMVER_TAG
uses: ./.github/workflows/get_semantic_release_version.yaml
with:
custom_version: ${{ github.event.inputs.custom_version }}
token: ${{ github.event.inputs.token }}

build-python-wheel:
name: Build wheels
Expand Down Expand Up @@ -141,7 +93,7 @@ jobs:
needs: get-version
strategy:
matrix:
component: [feature-server, feature-server-java, feature-transformation-server]
component: [ feature-server, feature-server-java, feature-transformation-server ]
env:
REGISTRY: feastdev
steps:
Expand All @@ -158,11 +110,11 @@ jobs:

verify-python-wheels:
runs-on: ${{ matrix.os }}
needs: [build-python-wheel, build-source-distribution, get-version]
needs: [ build-python-wheel, build-source-distribution, get-version ]
strategy:
matrix:
os: [ubuntu-latest, macos-13 ]
python-version: ["3.9", "3.10", "3.11"]
os: [ ubuntu-latest, macos-13 ]
python-version: [ "3.9", "3.10", "3.11" ]
from-source: [ True, False ]
env:
# this script is for testing servers
Expand Down
84 changes: 84 additions & 0 deletions .github/workflows/get_semantic_release_version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Get semantic release version

on:
workflow_dispatch: # Allows manual trigger of the workflow
inputs:
custom_version: # Optional input for a custom version
description: 'Custom version to publish (e.g., v1.2.3) -- only edit if you know what you are doing'
required: false
token:
description: 'Personal Access Token'
required: true
default: ""
type: string

jobs:
get-version:
if: github.repository == 'feast-dev/feast'
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ github.event.inputs.token }}
GIT_AUTHOR_NAME: feast-ci-bot
GIT_AUTHOR_EMAIL: [email protected]
GIT_COMMITTER_NAME: feast-ci-bot
GIT_COMMITTER_EMAIL: [email protected]
outputs:
release_version: ${{ steps.get_release_version.outputs.release_version }}
version_without_prefix: ${{ steps.get_release_version_without_prefix.outputs.version_without_prefix }}
highest_semver_tag: ${{ steps.get_highest_semver.outputs.highest_semver_tag }}
steps:
- uses: actions/checkout@v4
- name: Get release version
id: get_release_version
run: |
if [[ -n "${{ github.event.inputs.custom_version }}" ]]; then
VERSION_REGEX="^v[0-9]+\.[0-9]+\.[0-9]+$"
echo "Using custom version: ${{ github.event.inputs.custom_version }}"
if [[ ! "${{ github.event.inputs.custom_version }}" =~ $VERSION_REGEX ]]; then
echo "Error: custom_version must match semantic versioning (e.g., v1.2.3)."
exit 1
fi
echo "::set-output name=release_version::${{ github.event.inputs.custom_version }}"
elif [[ "${GITHUB_REF}" == refs/tags/* ]]; then
echo "Using tag reference: ${GITHUB_REF#refs/tags/}"
echo "::set-output name=release_version::${GITHUB_REF#refs/tags/}"
else
echo "Defaulting to branch name: ${GITHUB_REF#refs/heads/}"
echo "::set-output name=release_version::${GITHUB_REF#refs/heads/}"
fi
- name: Get release version without prefix
id: get_release_version_without_prefix
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
run: |
if [[ "${RELEASE_VERSION}" == v* ]]; then
echo "::set-output name=version_without_prefix::${RELEASE_VERSION:1}"
else
echo "::set-output name=version_without_prefix::${RELEASE_VERSION}"
fi
- name: Get highest semver
id: get_highest_semver
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
run: |
if [[ -n "${{ github.event.inputs.custom_version }}" ]]; then
HIGHEST_SEMVER_TAG="${{ github.event.inputs.custom_version }}"
echo "::set-output name=highest_semver_tag::$HIGHEST_SEMVER_TAG"
echo "Using custom version as highest semantic version: $HIGHEST_SEMVER_TAG"
else
source infra/scripts/setup-common-functions.sh
SEMVER_REGEX='^v[0-9]+\.[0-9]+\.[0-9]+(-([0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*))?$'
if echo "${RELEASE_VERSION}" | grep -P "$SEMVER_REGEX" &>/dev/null ; then
echo ::set-output name=highest_semver_tag::$(get_tag_release -m)
echo "Using infra/scripts/setup-common-functions.sh to generate highest semantic version: $HIGHEST_SEMVER_TAG"
fi
fi
- name: Check output
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
VERSION_WITHOUT_PREFIX: ${{ steps.get_release_version_without_prefix.outputs.version_without_prefix }}
HIGHEST_SEMVER_TAG: ${{ steps.get_highest_semver.outputs.highest_semver_tag }}
run: |
echo $RELEASE_VERSION
echo $VERSION_WITHOUT_PREFIX
echo $HIGHEST_SEMVER_TAG
11 changes: 10 additions & 1 deletion .github/workflows/operator-e2e-integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ on:

jobs:
operator-e2e-tests:
timeout-minutes: 40
if:
((github.event.action == 'labeled' && (github.event.label.name == 'approved' || github.event.label.name == 'lgtm' || github.event.label.name == 'ok-to-test')) ||
(github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved') || contains(github.event.pull_request.labels.*.name, 'lgtm')))) &&
Expand All @@ -38,7 +39,7 @@ jobs:

- name: Create KIND cluster
run: |
kind create cluster --name $KIND_CLUSTER --wait 5m
kind create cluster --name $KIND_CLUSTER --wait 10m
- name: Set up kubernetes context
run: |
Expand All @@ -51,8 +52,16 @@ jobs:
cd infra/feast-operator/
make test-e2e
- name: Debug KIND Cluster when there is a failure
if: failure()
run: |
kubectl get pods --all-namespaces
kubectl describe nodes
- name: Clean up
if: always()
run: |
# Delete the KIND cluster after tests
kind delete cluster --name kind-$KIND_CLUSTER
4 changes: 4 additions & 0 deletions .github/workflows/pr_integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ on:
- opened
- synchronize
- labeled
paths-ignore:
- 'community/**'
- 'docs/**'
- 'examples/**'

# concurrency is currently broken, see details https://github.com/actions/runner/issues/1532
#concurrency:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/pr_local_integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ on:
- opened
- synchronize
- labeled
paths-ignore:
- 'community/**'
- 'docs/**'
- 'examples/**'

jobs:
integration-test-python-local:
Expand Down
Loading

0 comments on commit e27258d

Please sign in to comment.