ci(ovn): improve stability (#945)
diff --git a/Jenkinsfile b/Jenkinsfile
index f5f766b..ad05b27 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,16 +1,3 @@
-def installDocker() {
- sh 'curl -fsSL https://get.docker.com | sh'
- sh 'sudo usermod -aG docker ubuntu'
-}
-
-def installEarthly() {
- installDocker()
-
- sh 'curl -fsSL https://github.com/earthly/earthly/releases/latest/download/earthly-linux-amd64 -o /usr/local/bin/earthly'
- sh 'chmod +x /usr/local/bin/earthly'
- sh 'earthly bootstrap'
-}
-
pipeline {
agent none
@@ -34,12 +21,15 @@
parallel {
stage('ansible-lint') {
agent {
- label 'jammy-2c-4g'
+ label 'earthly'
}
steps {
- installEarthly()
- sh 'earthly --output +lint.ansible-lint'
+ script {
+ docker.withRegistry('https://registry.hub.docker.com', 'docker-token') {
+ sh 'earthly --output +lint.ansible-lint'
+ }
+ }
}
post {
@@ -51,12 +41,15 @@
stage('helm') {
agent {
- label 'jammy-2c-4g'
+ label 'earthly'
}
steps {
- installEarthly()
- sh 'earthly --output +lint.helm'
+ script {
+ docker.withRegistry('https://registry.hub.docker.com', 'docker-token') {
+ sh 'earthly --output +lint.helm'
+ }
+ }
}
post {
@@ -68,12 +61,15 @@
stage('markdownlint') {
agent {
- label 'jammy-2c-4g'
+ label 'earthly'
}
steps {
- installEarthly()
- sh 'earthly --output +lint.markdownlint'
+ script {
+ docker.withRegistry('https://registry.hub.docker.com', 'docker-token') {
+ sh 'earthly --output +lint.markdownlint'
+ }
+ }
}
post {
@@ -85,12 +81,15 @@
stage('image-manifest') {
agent {
- label 'jammy-2c-4g'
+ label 'earthly'
}
steps {
- installEarthly()
- sh 'earthly +lint.image-manifest'
+ script {
+ docker.withRegistry('https://registry.hub.docker.com', 'docker-token') {
+ sh 'earthly +lint.image-manifest'
+ }
+ }
}
}
}
@@ -100,12 +99,15 @@
parallel {
stage('go') {
agent {
- label 'jammy-2c-4g'
+ label 'earthly'
}
steps {
- installEarthly()
- sh 'earthly --output +unit.go'
+ script {
+ docker.withRegistry('https://registry.hub.docker.com', 'docker-token') {
+ sh 'earthly --output +unit.go'
+ }
+ }
}
post {
@@ -121,13 +123,21 @@
parallel {
stage('collection') {
agent {
- label 'jammy-2c-4g'
+ label 'earthly'
}
steps {
- installEarthly()
- sh 'earthly --output +build.collection'
- archiveArtifacts artifacts: 'dist/**'
+ script {
+ docker.withRegistry('https://registry.hub.docker.com', 'docker-token') {
+ sh 'earthly --output +build.collection'
+ }
+ }
+ }
+
+ post {
+ success {
+ archiveArtifacts artifacts: 'dist/**'
+ }
}
}
@@ -138,12 +148,14 @@
steps {
script {
- if (env.BRANCH_NAME == 'main') {
- docker.withRegistry('https://ghcr.io', 'github-packages-token') {
- sh 'earthly --push +images'
- }
- } else {
- sh 'earthly --push +images'
+ docker.withRegistry('https://registry.hub.docker.com', 'docker-token') {
+ if (env.BRANCH_NAME == 'main') {
+ docker.withRegistry('https://ghcr.io', 'github-packages-token') {
+ sh 'earthly --push +images'
+ }
+ } else {
+ sh 'earthly --push +images'
+ }
}
}
@@ -155,12 +167,15 @@
stage('docs') {
agent {
- label 'jammy-2c-4g'
+ label 'earthly'
}
steps {
- installEarthly()
- sh 'earthly +mkdocs-build'
+ script {
+ docker.withRegistry('https://registry.hub.docker.com', 'docker-token') {
+ sh 'earthly +mkdocs-build'
+ }
+ }
}
}
}
diff --git a/build/pin-images.py b/build/pin-images.py
index 83ae2d4..361db9c 100755
--- a/build/pin-images.py
+++ b/build/pin-images.py
@@ -134,6 +134,14 @@
for image in data["_atmosphere_images"]:
if image in SKIP_IMAGE_LIST:
continue
+
+ # NOTE(mnaser): If we're in CI, only pin the Atmosphere images
+ if (
+ "registry.atmosphere.dev" in registry
+ and "ghcr.io/vexxhost/atmosphere" not in data["_atmosphere_images"][image]
+ ):
+ continue
+
image_src = data["_atmosphere_images"][image].replace(
"ghcr.io/vexxhost/atmosphere", registry
)
diff --git a/molecule/aio/group_vars/all/molecule.yml b/molecule/aio/group_vars/all/molecule.yml
index 583eea8..6b68864 100644
--- a/molecule/aio/group_vars/all/molecule.yml
+++ b/molecule/aio/group_vars/all/molecule.yml
@@ -125,6 +125,8 @@
ovn_ovsdb_nb: 1
ovn_ovsdb_sb: 1
ovn_northd: 1
+ manifests:
+ daemonset_ovn_controller: false
coredns_helm_values:
replicaCount: 1