diff --git a/playbooks/test-server-build/post.yaml b/playbooks/test-server-build/post.yaml new file mode 100644 index 00000000..2f3cfe68 --- /dev/null +++ b/playbooks/test-server-build/post.yaml @@ -0,0 +1,10 @@ +- hosts: all + name: Copy image + tasks: + - synchronize: + dest: "{{ zuul.executor.work_root }}/artifacts/" + mode: pull + src: "{{ ansible_user_dir }}/test-server" + verify_host: true + rsync_opts: + - "--exclude=/*/*/" diff --git a/playbooks/test-server-build/run.yaml b/playbooks/test-server-build/run.yaml new file mode 100644 index 00000000..27eb5258 --- /dev/null +++ b/playbooks/test-server-build/run.yaml @@ -0,0 +1,20 @@ +- hosts: all + tasks: + - name: Install dependencies + package: + name: + - golang + state: present + become: yes + - name: Ensure artifacts directory exists + file: + name: "{{ ansible_user_dir }}/test-server" + state: directory + - name: Build test_server.bin + shell: | + source_dir={{ ansible_user_dir }}/src/opendev.org/openstack/octavia-tempest-plugin + dest_dir={{ ansible_user_dir }}/test-server + CGO_ENABLED=0 GOOS=linux go build \ + -a -ldflags '-s -w -extldflags -static' \ + -o ${dest_dir}/test_server-{{ test_server_arch }}.{{ zuul.branch }}.bin \ + ${source_dir}/octavia_tempest_plugin/contrib/test_server/test_server.go diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 273e38af..8bc5461e 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -1064,6 +1064,29 @@ load_balancer: RBAC_test_type: keystone_default_roles +- job: + name: publish-openstack-octavia-tempest-plugin-test-server + parent: publish-openstack-artifacts + description: | + Publish octavia-test-plugin test_server.bin application to tarballs.o.o. + run: playbooks/test-server-build/run.yaml + post-run: playbooks/test-server-build/post.yaml + required-projects: + - openstack/octavia-tempest-plugin + vars: + test_server_arch: x86_64 + +- job: + name: octavia-test-server-build + parent: base + description: | + Builds octavia-test-plugin test_server.bin application. + run: playbooks/test-server-build/run.yaml + required-projects: + - openstack/octavia-tempest-plugin + vars: + test_server_arch: x86_64 + ######### Third party jobs ########## - job: diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml index 2daabdbf..07f0f3c1 100644 --- a/zuul.d/projects.yaml +++ b/zuul.d/projects.yaml @@ -72,3 +72,6 @@ - octavia-v2-dsvm-tls-barbican-stable-2025-2 - octavia-v2-dsvm-tls-barbican-stable-2025-1 - octavia-v2-dsvm-tls-barbican-stable-2024-2 + periodic: + jobs: + - publish-openstack-octavia-tempest-plugin-test-server