Skip to content

Commit

Permalink
Enable offloading e2e test
Browse files Browse the repository at this point in the history
Signed-off-by: Mecoli1219 <[email protected]>
  • Loading branch information
Mecoli1219 committed Dec 17, 2024
1 parent e21a6ad commit 19d2e67
Showing 1 changed file with 97 additions and 2 deletions.
99 changes: 97 additions & 2 deletions .github/workflows/single-binary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
branches:
- master
- rc/*
- 'release-v**'
- "release-v**"
workflow_dispatch:

jobs:
Expand Down Expand Up @@ -160,7 +160,7 @@ jobs:
python-version: "3.12"
- uses: unionai/[email protected]
with:
version: '0.9.2'
version: "0.9.2"
- name: Setup sandbox
run: |
mkdir -p ~/.flyte/sandbox
Expand Down Expand Up @@ -206,6 +206,101 @@ 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]
with:
version: "0.9.2"
- name: Setup sandbox
run: |
mkdir -p ~/.flyte/sandbox
cat << EOF > ~/.flyte/sandbox/config.yaml
propeller:
create-flyteworkflow-crd: true
kube-config: $HOME/.flyte/sandbox/kubeconfig
rawoutput-prefix: s3://my-s3-bucket/data
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
Expand Down

0 comments on commit 19d2e67

Please sign in to comment.