Skip to content
Merged
5 changes: 2 additions & 3 deletions .github/dependencies.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
CKF_VERSION: "1.10"
CKF_BRANCH: "track/1.10"
K8S_VERSION: "1.32"
JUJU_VERSION: "3.6"
UATS_BRANCH: "track/1.10"
JUJU_VERSION: "3.6"
142 changes: 0 additions & 142 deletions .github/workflows/deploy-to-aks-feast.yaml

This file was deleted.

47 changes: 41 additions & 6 deletions .github/workflows/deploy-to-aks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ on:
uats_branch:
description: 'Branch to run the UATs from e.g. main or track/1.10. By default, this is defined by the dependencies.yaml file.'
required: false
ckf_branch:
description: 'Branch on the Charmed Kubeflow repository to be tested'
required: false
risk:
description: 'The risk level to be tested'
required: false
default: 'stable'
schedule:
- cron: "17 02 * * 1"

Expand All @@ -18,9 +25,25 @@ jobs:
env:
AZURE_CORE_OUTPUT: none

strategy:
max-parallel: 1
fail-fast: false
matrix:
bundle:
- module: kubeflow-mlflow
uats:
env: uats-remote
extra-args: --filter "not feast"
- module: kubeflow-feast
uats:
env: feast-remote
extra-args: ""

steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Set envvars from dependencies.yaml
run: |
Expand All @@ -32,9 +55,15 @@ jobs:
run: |
K8S_VERSION=${{ inputs.k8s_version || env.K8S_VERSION }}
echo "K8S_VERSION=${K8S_VERSION}" >> $GITHUB_ENV
UATS_BRANCH=${{ inputs.uats_branch || env.UATS_BRANCH }}
CKF_BRANCH=${{ inputs.ckf_branch || env.CKF_BRANCH }}
echo "CKF_BRANCH=${CKF_BRANCH}" >> $GITHUB_ENV
RISK=${{ inputs.risk }}
echo "RISK=${RISK}" >> $GITHUB_ENV

if [[ -z "${{ inputs.uats_branch }}" ]]; then UATS_BRANCH=${CKF_BRANCH}; else UATS_BRANCH=${{ inputs.uats_branch }}; fi
echo "UATS_BRANCH=${UATS_BRANCH}" >> $GITHUB_ENV


- name: Install CLI tools
run: |
pip install tox
Expand All @@ -52,8 +81,10 @@ jobs:
run: |
# We need to remove the dot from version
# due to cluster naming restrictions
version=${{ env.CKF_VERSION }}
KF_VERSION="kf-${version//.}"
KF_VERSION=${{ env.CKF_BRANCH }}
KF_VERSION=${KF_VERSION##track/}
KF_VERSION=${KF_VERSION:0:4}
KF_VERSION="kf-${KF_VERSION//[.,-]}"
RESOURCE_GROUP=ckf-tf-${KF_VERSION}-ResourceGroup
NAME=ckf-tf-${KF_VERSION}-AKSCluster
LOCATION=westeurope
Expand All @@ -76,18 +107,22 @@ jobs:
run: |
az aks get-credentials --resource-group ${{ env.RESOURCE_GROUP }} --name ${{ env.NAME }} --admin
juju add-k8s aks --client
juju bootstrap aks aks-controller
juju bootstrap aks aks-controller --agent-version 3.6.9

- name: Deploy and assert kubeflow-mlflow solution
run: |
tox -c ./modules/kubeflow-mlflow -vve test_deployment -- -vv -s
if [[ '${{ github.event_name }}' != 'pull_request' ]]; then
git checkout '${{ env.CKF_BRANCH }}'
fi

tox -c ./modules/${{ matrix.bundle.module }} -vve test_deployment -- -vv -s --risk ${{ env.RISK }}

- name: Run UATs
run: |
git clone https://github.com/canonical/charmed-kubeflow-uats.git ~/charmed-kubeflow-uats
cd ~/charmed-kubeflow-uats
git checkout ${{ env.UATS_BRANCH }}
tox -e uats-remote -- --filter "not feast"
tox -e ${{ matrix.bundle.uats.env }} -- ${{ matrix.bundle.uats.extra-args }}

# On failure, capture debugging resources
- name: Select model
Expand Down
43 changes: 38 additions & 5 deletions .github/workflows/deploy-to-eks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ on:
uats_branch:
description: 'Branch to run the UATs from, e.g., main or track/1.10'
required: false
ckf_branch:
description: 'Branch on the Charmed Kubeflow repository to be tested'
required: false
risk:
description: 'The risk level to be tested'
required: false
default: 'stable'
# pull_request:
schedule:
- cron: "17 02 * * 1"

Expand All @@ -22,9 +30,25 @@ jobs:
outputs:
aws_region: ${{ steps.extract_region.outputs.region }}

strategy:
max-parallel: 1
fail-fast: false
matrix:
bundle:
- module: kubeflow-mlflow
uats:
env: uats-remote
extra-args: --filter "not feast"
- module: kubeflow-feast
uats:
env: feast-remote
extra-args: ""

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Set envvars from dependencies.yaml
run: |
Expand All @@ -36,7 +60,12 @@ jobs:
run: |
K8S_VERSION=${{ inputs.k8s_version || env.K8S_VERSION }}
echo "K8S_VERSION=${K8S_VERSION}" >> $GITHUB_ENV
UATS_BRANCH=${{ inputs.uats_branch || env.UATS_BRANCH }}
CKF_BRANCH=${{ inputs.ckf_branch || env.CKF_BRANCH }}
echo "CKF_BRANCH=${CKF_BRANCH}" >> $GITHUB_ENV
RISK=${{ inputs.risk }}
echo "RISK=${RISK}" >> $GITHUB_ENV

if [[ -z "${{ inputs.uats_branch }}" ]]; then UATS_BRANCH=${CKF_BRANCH}; else UATS_BRANCH=${{ inputs.uats_branch }}; fi
echo "UATS_BRANCH=${UATS_BRANCH}" >> $GITHUB_ENV

- name: Extract AWS region from cluster.yaml
Expand Down Expand Up @@ -121,22 +150,26 @@ jobs:
- name: Setup Juju controller
run: |
/snap/juju/current/bin/juju add-k8s eks --client
juju bootstrap eks eks-controller
juju bootstrap eks eks-controller --agent-version 3.6.9

- name: Deploy and assert kubeflow-mlflow solution
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ env.AWS_REGION }}
run: |
tox -c ./modules/kubeflow-mlflow -vve test_deployment -- -vv -s
if [[ '${{ github.event_name }}' != 'pull_request' ]]; then
git checkout '${{ env.CKF_BRANCH }}'
fi

tox -c ./modules/${{ matrix.bundle.module }} -vve test_deployment -- -vv -s --risk ${{ env.RISK }}

- name: Run UATs
run: |
git clone https://github.com/canonical/charmed-kubeflow-uats.git ~/charmed-kubeflow-uats
cd ~/charmed-kubeflow-uats
git checkout ${{ env.UATS_BRANCH }}
tox -e uats-remote -- --filter "not feast"
tox -e ${{ matrix.bundle.uats.env }} -- ${{ matrix.bundle.uats.extra-args }}

# On failure, capture debugging resources
- name: Select model (for debug)
Expand Down
28 changes: 21 additions & 7 deletions .github/workflows/deploy-to-microk8s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ on:
uats_branch:
description: 'Branch to run the UATs from e.g. main or track/1.10. By default, this is defined by the dependencies.yaml file.'
required: false
ckf_branch:
description: 'Branch on the Charmed Kubeflow repository to be tested'
required: false
risk:
description: 'The risk level to be tested'
required: false
default: 'stable'

pull_request:
schedule:
- cron: "17 02 * * 1"
Expand Down Expand Up @@ -44,12 +52,14 @@ jobs:
run: |
K8S_VERSION=${{ inputs.k8s_version || env.K8S_VERSION }}
echo "K8S_VERSION=${K8S_VERSION}" >> $GITHUB_ENV
UATS_BRANCH=${{ inputs.uats_branch || env.UATS_BRANCH }}
CKF_BRANCH=${{ inputs.ckf_branch || env.CKF_BRANCH }}
echo "CKF_BRANCH=${CKF_BRANCH}" >> $GITHUB_ENV
RISK=${{ inputs.risk }}
echo "RISK=${RISK}" >> $GITHUB_ENV

if [[ -z "${{ inputs.uats_branch }}" ]]; then UATS_BRANCH=${CKF_BRANCH}; else UATS_BRANCH=${{ inputs.uats_branch }}; fi
echo "UATS_BRANCH=${UATS_BRANCH}" >> $GITHUB_ENV

- name: Checkout repository
uses: actions/checkout@v4

- id: setup-python
name: Setup Python
uses: actions/setup-python@v5.0.0
Expand All @@ -70,16 +80,20 @@ jobs:
channel: ${{ format('{0}-strict/stable', env.K8S_VERSION) }}
microk8s-group: snap_microk8s
microk8s-addons: "rbac dns hostpath-storage metallb:10.64.140.43-10.64.140.49"
bootstrap-options: "--agent-version 3.6.9"
bootstrap-options: "--agent-version 3.6.9"

- name: Setup terraform
run: |
sudo snap install terraform --channel latest/stable --classic
terraform --version

- name: Deploy solution
run: |
tox -c ./modules/${{ matrix.bundle.module }} -vve test_deployment -- -vv -s
if [[ '${{ github.event_name }}' != 'pull_request' ]]; then
git checkout '${{ env.CKF_BRANCH }}'
fi

tox -c ./modules/${{ matrix.bundle.module }} -vve test_deployment -- -vv -s --risk ${{ env.RISK }}

- name: Run UATs
run: |
Expand Down
Loading
Loading