Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
05bc2fb
Initial TF module refactoring
Batalex Mar 30, 2026
0b4b781
Adapt object storage charm modules, remove manual tls
Batalex Mar 31, 2026
8352cb8
Adapt zk and data-integrator charm modules
Batalex Mar 31, 2026
ab974de
Initial working 3.4 bundle
Batalex Mar 31, 2026
c498609
Move terraform bundle to root level
Batalex Apr 1, 2026
d66c2d5
Fix product models output
Batalex Apr 1, 2026
e733eaa
Migrate aks setup to root level resources
Batalex Apr 1, 2026
30e352a
Remove previous bundles
Batalex Apr 1, 2026
9f99119
Streamline initial module
Batalex Apr 1, 2026
a9a41e5
Yaml bundle helpers removal
Batalex Apr 1, 2026
68cb538
Initial working integration tests (simple ones)
Batalex Apr 1, 2026
7f76a89
[PRA-232] Pinning Juju 3.6.14 in CI (#205)
deusebio Mar 30, 2026
0982927
WIP: Test on CI
Batalex Apr 2, 2026
345bf4e
chore: Lint
Batalex Apr 2, 2026
2e96f6b
Remove TF documentation script
Batalex Apr 2, 2026
354e081
Remove bundle backend mentions from workflow
Batalex Apr 2, 2026
f7ad813
Fix self-signed-certificases app name in test
Batalex Apr 2, 2026
7aded55
Add azure_storage_config to test bundle entrypoint module
Batalex Apr 2, 2026
b31c064
Fix empty s3 module condition
Batalex Apr 2, 2026
a8dc2b6
Fix azure-storage tf offer
Batalex Apr 2, 2026
953a93f
Pass admin_password to bundle
Batalex Apr 2, 2026
cba2e6d
Fix azure-storage storage-account hyphen config option
Batalex Apr 2, 2026
130c677
Remove manual secret granting to az storage
Batalex Apr 2, 2026
978fff1
Fix azure-storage missing path
Batalex Apr 7, 2026
62ca62a
Initial re-implementation of COS integration
Batalex Apr 7, 2026
742e83a
Rework provides output of charm modules
Batalex Apr 7, 2026
9b11dbf
Add upstream COS lite TF bundle
Batalex Apr 7, 2026
74282c1
Re-test COS on CI
Batalex Apr 7, 2026
aae9e90
Fix cos model name in test helpers
Batalex Apr 7, 2026
091bfa4
Re-align revisions
Batalex Apr 8, 2026
9963145
Use constant for cos namespace in tests
Batalex Apr 8, 2026
7af6408
Cleanup and duplicate folders for 3.5
Batalex Apr 8, 2026
080096f
Disable internal tls for COS testing
Batalex Apr 8, 2026
23ccd6f
Re-align 3.5 revisions
Batalex Apr 8, 2026
6ad4d77
Re-enable full testing
Batalex Apr 8, 2026
7e75ad9
Add reference doc automation
Batalex Apr 8, 2026
b6e9c72
Fix a couple of wrong COS namespaces
Batalex Apr 8, 2026
404d802
Fix module output
Batalex Apr 8, 2026
5e4e3fe
Uncomment basic test with 3.5
Batalex Apr 8, 2026
afd52ac
Remove storage size fixture, size hardcoded for the tests
Batalex Apr 8, 2026
398fc96
Update output doc
Batalex Apr 8, 2026
e011cae
Align copyright years
Batalex Apr 9, 2026
135cf1d
Move Azure Storage secret handling to product module
Batalex Apr 9, 2026
c1ee0e3
Move Kyuubi secret handling to product
Batalex Apr 9, 2026
2652901
Add missing variable in test entrypoint
Batalex Apr 9, 2026
73174b2
Fix storage-account config option
Batalex Apr 9, 2026
04b9d25
adding business logic to fetch revisions
deusebio Apr 11, 2026
79484e2
small fix
deusebio Apr 11, 2026
1fa1ff8
limit ci
deusebio Apr 11, 2026
49c80ae
fix
deusebio Apr 11, 2026
0465bd2
fix
deusebio Apr 11, 2026
33ceff3
fix
deusebio Apr 11, 2026
6176396
adding charmcraft
deusebio Apr 11, 2026
52ceccc
fix
deusebio Apr 11, 2026
61fcbed
fix
deusebio Apr 11, 2026
8152b47
adding possibility to feed variables to tests
deusebio Apr 11, 2026
a0b1c74
test workflow
deusebio Apr 11, 2026
afd03fc
adding test workflow
deusebio Apr 11, 2026
0fd8623
fix linting
deusebio Apr 11, 2026
0ea68d0
fix file creation and feeding
deusebio Apr 11, 2026
77a53a7
fix
deusebio Apr 11, 2026
55ff22a
rollout all tests
deusebio Apr 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 40 additions & 8 deletions .github/actions/run-test/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,6 @@ inputs:
default: 3.4.4
required: false
type: string
bundle-backend:
description: "The backend to use to deploy the bundle"
default: yaml
required: false
type: string
storage-backend:
description: "The object storage backend to be used"
default: s3
Expand Down Expand Up @@ -63,6 +58,16 @@ inputs:
required: false
default: ""
type: string
tfvars-file:
description: "Optional artifact name containing a tfvars file to pass to pytest"
required: false
default: ""
type: string
architecture:
description: "Target architecture for the test run"
required: false
default: "amd64"
type: string

runs:
using: "composite"
Expand Down Expand Up @@ -227,16 +232,43 @@ runs:
sudo snap install terraform --classic
fi

- id: download-tfvars
name: Download tfvars artifact
if: ${{ inputs.tfvars-file != '' }}
uses: actions/download-artifact@v4
with:
name: ${{ inputs.tfvars-file }}
path: tfvars-artifacts

- id: tests-integration
name: Run Integration Tests
shell: bash
env:
AZURE_STORAGE_ACCOUNT: ${{ inputs.azure-storage-account }}
AZURE_STORAGE_KEY: ${{ inputs.azure-storage-key }}
run: |
TFVARS_ARG=""
if [[ -n "${{ inputs.tfvars-file }}" ]]; then
TFVARS_PATH="$(find tfvars-artifacts -type f | head -n1)"
if [[ -z "$TFVARS_PATH" ]]; then
echo "ERROR: no tfvars file found in artifact '${{ inputs.tfvars-file }}'."
find tfvars-artifacts -type f || true
exit 1
fi

version=${{ inputs.spark-version }}
major_minor="${version%.*}" # -> 3.5
arch="${{ inputs.architecture }}"

# Extract nested mapping under amd64 and "<major>.<minor>"
yq ".${arch}.\"${major_minor}\"" $TFVARS_PATH > python/revisions.yaml

TFVARS_ARG="--tfvars-file revisions.yaml"
fi

juju add-model spark-bundle-test
juju list-models
cd python && tox run -e ${{ inputs.tox-env }} -- -m '${{ steps.select-tests.outputs.mark_expression }}' --backend ${{ inputs.bundle-backend }} --cos-model ${{ inputs.cos-model }} --spark-version ${{ inputs.spark-version }} --storage-backend ${{ inputs.storage-backend }} --model spark-bundle-test ${{ inputs.pytest-args }}
cd python && tox run -e ${{ inputs.tox-env }} -- -m '${{ steps.select-tests.outputs.mark_expression }}' --cos-model ${{ inputs.cos-model }} --spark-version ${{ inputs.spark-version }} --storage-backend ${{ inputs.storage-backend }} --model spark-bundle-test ${{ inputs.pytest-args }} $TFVARS_ARG
echo "TEST_EXIT_CODE=$?" >> $GITHUB_ENV

- id: collect-logs
Expand Down Expand Up @@ -293,13 +325,13 @@ runs:
if [ "${TEST_EXIT_CODE}" != "0" ]; then
STATUS="failure"
fi
echo '{"tox-env": "${{ inputs.tox-env }}", "k8s-distribution": "${{ inputs.k8s-distribution }}", "spark-version": "${{ inputs.spark-version }}", "bundle-backend": "${{ inputs.bundle-backend }}", "storage-backend": "${{ inputs.storage-backend }}", "cos": "${{ inputs.cos-model != '' }}", "juju-version": "${{ inputs.juju-agent-version }}", "status": "'"$STATUS"'"}' > test-result.json
echo '{"tox-env": "${{ inputs.tox-env }}", "k8s-distribution": "${{ inputs.k8s-distribution }}", "spark-version": "${{ inputs.spark-version }}", "storage-backend": "${{ inputs.storage-backend }}", "cos": "${{ inputs.cos-model != '' }}", "juju-version": "${{ inputs.juju-agent-version }}", "status": "'"$STATUS"'"}' > test-result.json

- name: Upload the test result as artifact
if: always()
uses: actions/upload-artifact@v6
with:
name: integration-results-${{ inputs.tox-env }}-${{ inputs.k8s-distribution }}-${{ inputs.k8s-version }}-${{ inputs.spark-version }}-${{ inputs.bundle-backend }}-${{ inputs.storage-backend }}-${{ inputs.cos-model }}-${{ inputs.juju-agent-version }}
name: integration-results-${{ inputs.tox-env }}-${{ inputs.k8s-distribution }}-${{ inputs.k8s-version }}-${{ inputs.spark-version }}-${{ inputs.storage-backend }}-${{ inputs.cos-model }}-${{ inputs.juju-agent-version }}
path: test-result.json


Loading
Loading