- Notifications
You must be signed in to change notification settings - Fork19
Jenkins configuration for Juju CI
License
juju/juju-qa-jenkins
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 ingithub.com/juju/juju/tests/suites
. This repo contains the informaion Jekinsneeds 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:
export GH_TOKEN=<your github token>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 and have your authentication token ready. If you don't have any, create anAPI Token on jenkins
Then setup the environment variables:
export JENKINS_USER=<your username>export JENKINS_ACCESS_TOKEN=<your access token>
Check that everything is working with:
make test-push
And push tohttps://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/ppasudo apt-get update && sudo apt-get install python3.11-venvrm -rf venv/# fix temporary the python3 --> python3.11vim Makefilemake ensure-venv# fix temporary the python3.11 --> python3# python_base_path = $(shell which python3.11)vim Makefilemake test-push