The collection of jobs found in this repository make up the CI Run project. CI Runs' aim is, when triggered by a commit to the juju repository is to:
- Create a tarball snapshot of the codebase
- Build binaries (for use in testing and as agents)
- Update the testing streams
- Run the unit tests
- Run the suite of integration tests
The integration tests themselves are not in this repo, they are in
github.com/juju/juju/tests/suites
. This repo contains the informaion Jekins
needs to run the tests.
To change which clouds and which versions the tests run on, edit
./tools/gen-wire-tests/juju.config
. To change which tests are run,
edit ./jobs/ci-run/integration/integrationtests.yml
.
To build the job descriptions run:
JUJU_REPO_PATH="<juju-repo-on-branch-to-generate-jobs-from>" make gen-wire-tests
To push, you need to be on the Canonical VPN. Check that everything is working with:
make push-test
And push to https://jenkins.juju.canonical.com/ with:
make push
This is a workaround for issues encountered when running the push (and other make targets) script on ubuntu noble, related to python3 being 3.12 and jenkins-jjb being broken by it.
The workaround consist of basically installing python3.11 through a ppa and changing the python base path on the Makefile by hand before re-creating the virtual env and re-running the targets:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update && sudo apt-get install python3.11-venv
rm -rf venv/
# fix temporary the python3 --> python3.11
vim Makefile
make ensure-venv
# fix temporary the python3.11 --> python3
# python_base_path = $(shell which python3.11)
vim Makefile
make test-push