-
Notifications
You must be signed in to change notification settings - Fork 671
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add new
sandbox-bundled-offloaded-functional-tests
for offloading l…
…iterals unit test (#6111) * Enable offloading e2e test Signed-off-by: Mecoli1219 <[email protected]> * Fix kube-config path Signed-off-by: Mecoli1219 <[email protected]> * stop sandbox Signed-off-by: Mecoli1219 <[email protected]> * change order Signed-off-by: Mecoli1219 <[email protected]> * test Signed-off-by: Mecoli1219 <[email protected]> * Update config.yaml Signed-off-by: Mecoli1219 <[email protected]> --------- Signed-off-by: Mecoli1219 <[email protected]> Signed-off-by: Eduardo Apolinario <[email protected]> Co-authored-by: Eduardo Apolinario <[email protected]>
- Loading branch information
1 parent
7f95782
commit a796d24
Showing
1 changed file
with
91 additions
and
1 deletion.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,7 @@ on: | |
branches: | ||
- master | ||
- rc/* | ||
- 'release-v**' | ||
- "release-v**" | ||
workflow_dispatch: | ||
|
||
jobs: | ||
|
@@ -204,6 +204,96 @@ jobs: | |
run: | | ||
make end2end_execute | ||
sandbox-bundled-offloaded-functional-tests: | ||
runs-on: ubuntu-latest | ||
env: | ||
FLYTESNACKS_PRIORITIES: "P0" | ||
FLYTESNACKS_VERSION: "" | ||
timeout-minutes: 60 | ||
needs: [build-and-push-single-binary-image] | ||
steps: | ||
- name: Set latest Flytesnacks release | ||
if: ${{ env.FLYTESNACKS_VERSION == '' }} | ||
run: | | ||
FLYTESNACKS_VERSION="$(curl --silent https://api.github.com/repos/flyteorg/flytesnacks/releases/latest | jq -r .tag_name)" | ||
echo "FLYTESNACKS_VERSION=${FLYTESNACKS_VERSION}" >> ${GITHUB_ENV} | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- uses: actions/download-artifact@v4 | ||
with: | ||
name: single-binary-image | ||
path: docker/sandbox-bundled/images/tar | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v2 | ||
with: | ||
driver-opts: image=moby/buildkit:master | ||
buildkitd-flags: "--allow-insecure-entitlement security.insecure" | ||
- name: Build sandbox image for functional tests | ||
uses: docker/build-push-action@v6 | ||
with: | ||
context: docker/sandbox-bundled | ||
load: true | ||
allow: "security.insecure" | ||
tags: flyte-sandbox-bundled:local | ||
# Without this, the GHA runner is under disk pressure and evicts all the pods. | ||
# Buildx cache uses roughly 50% (7gb) of the GHA runner's disk (14gb). | ||
- name: Prune Docker Buildx cache to reclaim storage | ||
run: docker buildx prune --all --force | ||
- name: Set up Python | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: "3.12" | ||
- uses: unionai/[email protected] | ||
- name: Setup sandbox | ||
run: | | ||
mkdir -p ~/.flyte/sandbox | ||
cat << EOF > ~/.flyte/sandbox/config.yaml | ||
propeller: | ||
literal-offloading-config: | ||
enabled: true | ||
min-size-in-mb-for-offloading: 0.000001 | ||
task_resources: | ||
defaults: | ||
cpu: "0" | ||
memory: "0" | ||
limits: | ||
cpu: "0" | ||
memory: "0" | ||
EOF | ||
flytectl demo start --image flyte-sandbox-bundled:local --imagePullPolicy Never | ||
# By setting min-size-in-mb-for-offloading to 0.000001, we ensure that all tasks are offloaded. | ||
- name: Install Python dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install uv | ||
uv pip install --system flytekit flytekitplugins-deck-standard "numpy<2.0.0" pyarrow pandas | ||
uv pip freeze | ||
- name: Checkout flytesnacks | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: flyteorg/flytesnacks | ||
path: flytesnacks | ||
ref: ${{ env.FLYTESNACKS_VERSION }} | ||
- name: Register specific tests | ||
run: | | ||
flytekit_version=$(pip show flytekit | grep -i version | awk '{ print $2 }') | ||
while read -r line; | ||
do | ||
pyflyte -vv --config ./boilerplate/flyte/end2end/functional-test-config.yaml \ | ||
register \ | ||
--project flytesnacks \ | ||
--domain development \ | ||
--image cr.flyte.org/flyteorg/flytekit:py3.12-${flytekit_version} \ | ||
--version ${{ env.FLYTESNACKS_VERSION }} \ | ||
flytesnacks/$line; | ||
done < flytesnacks/flyte_tests.txt | ||
- name: Install Pytest | ||
run: | | ||
pip install pytest | ||
- name: End2End | ||
run: | | ||
make end2end_execute | ||
build-and-push-sandbox-bundled-image: | ||
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} | ||
runs-on: ubuntu-latest | ||
|