Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
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
28 changes: 17 additions & 11 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ jobs:
strategy:
fail-fast: false
matrix:
runs-on: [[ubuntu-24.04], [Ubuntu_ARM64_4C_16G_01], [self-hosted, linux, s390x],[self-hosted, ppc64el]]
runs-on: [[ubuntu-24.04], [ubuntu-24.04-arm], [s390x, noble, self-hosted], [ppc64el, noble, self-hosted]]
steps:
- uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -144,24 +144,24 @@ jobs:
strategy:
fail-fast: false
matrix:
runs-on: [[ubuntu-24.04], [Ubuntu_ARM64_4C_16G_01]]
runs-on: [[ubuntu-24.04], [ubuntu-24.04-arm], [s390x, noble, self-hosted], [ppc64el, noble, self-hosted]]
test-command: ['tox -e func']
juju-channel: ["3.4/stable"]
juju-channel: ["3.6/stable"]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we ok with upgrading to juju 3.6 for func tests in general? @Pjack

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I cannot answer it now. But we will track it in canonical/solutions-engineering-automation#227

steps:
- uses: actions/checkout@v4
with:
submodules: true

# arm64 runners don't have gcc installed by default
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y gcc

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
# s390x runners don't have a rust toolchain available
# NOTE: only required for building from source bcrypt>=4.0.0 or cryptography>=3.4
sudo apt install -y cargo
# also for building cryptography>=3.4, on s390x runners
sudo apt install -y libssl-dev
sudo apt install -y pkg-config

- name: Setup Juju environment
uses: charmed-kubernetes/actions-operator@main
Expand All @@ -176,8 +176,12 @@ jobs:
# This is used by zaza in the functional tests for non-amd64 architectures (if applicable)
- name: Set zaza juju model constraints for architecture
run: |
if [ "${{ env.SYSTEM_ARCH }}" = "aarch64" ]; then
if [ "$SYSTEM_ARCH" = "aarch64" ]; then
echo "TEST_MODEL_CONSTRAINTS=arch=arm64" >> "$GITHUB_ENV"
elif [ "$SYSTEM_ARCH" = "ppc64le" ]; then
echo "TEST_MODEL_CONSTRAINTS=arch=ppc64el" >> "$GITHUB_ENV"
elif [ "$SYSTEM_ARCH" = "s390x" ]; then
echo "TEST_MODEL_CONSTRAINTS=arch=s390x" >> "$GITHUB_ENV"
fi

- name: Download the built charms
Expand Down Expand Up @@ -257,7 +261,9 @@ jobs:
for model in $models; do
# show status here for quick debugging
juju status -m "$model"
juju-crashdump --as-root -m "$model" -u "$model-$(uname -m)" -o "$dir"
# cannot use the --as-root flag to juju-crashdump, because the latest revision is not released to the snap store for s390x or ppc64el
# https://github.com/juju/juju-crashdump/issues/109
juju-crashdump -m "$model" -u "$model-$(uname -m)" -o "$dir"
done

- name: Upload juju crashdumps
Expand Down
2 changes: 1 addition & 1 deletion tests/functional/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
git+https://github.com/openstack-charmers/zaza.git@master#egg=zaza
git+https://github.com/samuelallan72/zaza.git@unpin-cryptography#egg=zaza
Copy link
Contributor Author

@samuelallan72 samuelallan72 May 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the biggest thing we need to figure out. Whether to try to unpin cryptography in zaza (preferred), or get the old cryptography python package revision building on s390x and ppc64el.

TODO: revert this line once it's fixed upstream (or we figure out a workaround).

python-openstackclient
1 change: 1 addition & 0 deletions tests/functional/tests/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ gate_bundles:
- jammy
- focal
smoke_bundles:
- focal
- jammy
tests:
- tests.nrpe_tests.TestNrpe
Expand Down
Loading