ci: add full-node tests (#920)
diff --git a/images/tempest/Earthfile b/images/tempest/Earthfile
index 61dd5df..2160336 100644
--- a/images/tempest/Earthfile
+++ b/images/tempest/Earthfile
@@ -1,21 +1,49 @@
VERSION 0.7
+ARG --global REGISTRY=ghcr.io/vexxhost/atmosphere
ARG --global PROJECT=tempest
ARG --global RELEASE=master
ARG --global PROJECT_REF=699749ec27897efe9bd7824664237c16c3339c03
+build.plugin:
+ ARG PLUGIN
+ FROM ../openstack-service+builder --RELEASE=${RELEASE}
+ DO ../openstack-service+GIT_CHECKOUT \
+ --PROJECT=${PLUGIN} \
+ --PROJECT_REF=${RELEASE}
+ SAVE ARTIFACT /src
+
+octavia-test-server:
+ FROM golang:1.18
+ COPY (+build.plugin/src --PLUGIN=octavia-tempest-plugin) /src
+ ENV GO111MODULE=off
+ ENV CGO_ENABLED=0
+ ENV GOOS=linux
+ RUN go build \
+ -a -ldflags '-s -w -extldflags -static' \
+ -o /build/test_server.bin \
+ /src/octavia_tempest_plugin/contrib/test_server/test_server.go
+ SAVE ARTIFACT /build/test_server.bin
+
build:
FROM ../openstack-service+builder --RELEASE=${RELEASE}
+ COPY (+build.plugin/src --PLUGIN=barbican-tempest-plugin) /barbican-tempest-plugin
+ COPY (+build.plugin/src --PLUGIN=cinder-tempest-plugin) /cinder-tempest-plugin
+ COPY (+build.plugin/src --PLUGIN=heat-tempest-plugin) /heat-tempest-plugin
+ COPY (+build.plugin/src --PLUGIN=keystone-tempest-plugin) /keystone-tempest-plugin
+ COPY (+build.plugin/src --PLUGIN=neutron-tempest-plugin) /neutron-tempest-plugin
+ COPY (+build.plugin/src --PLUGIN=octavia-tempest-plugin) /octavia-tempest-plugin
DO ../openstack-service+BUILD_VENV \
--PROJECT=${PROJECT} \
--PROJECT_REF=${PROJECT_REF} \
- --PIP_PACKAGES="git+https://github.com/openstack/barbican-tempest-plugin.git git+https://github.com/openstack/cinder-tempest-plugin.git git+https://github.com/openstack/heat-tempest-plugin.git git+https://github.com/openstack/keystone-tempest-plugin.git git+https://github.com/openstack/neutron-tempest-plugin.git git+https://github.com/openstack/octavia-tempest-plugin.git"
+ --PIP_PACKAGES="/barbican-tempest-plugin /cinder-tempest-plugin /heat-tempest-plugin /keystone-tempest-plugin /neutron-tempest-plugin /octavia-tempest-plugin junitxml"
image:
FROM ../openstack-service+image --RELEASE ${RELEASE} --PROJECT ${PROJECT}
+ COPY +octavia-test-server/test_server.bin /opt/octavia-tempest-plugin/test_server.bin
COPY +build/venv /var/lib/openstack
DO ../+APT_INSTALL \
- --PACKAGES "iputils-ping"
+ --PACKAGES "iputils-ping openssh-client"
SAVE IMAGE --push \
- ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \
- ghcr.io/vexxhost/atmosphere/${PROJECT}:${PROJECT_REF}
+ ${REGISTRY}/${PROJECT}:${RELEASE} \
+ ${REGISTRY}/${PROJECT}:${PROJECT_REF}