Skip to content

Commit

Permalink
Use OBS PR builds for the e2e tests
Browse files Browse the repository at this point in the history
Signed-off-by: David Cassany <dcassany@suse.com>
  • Loading branch information
davidcassany committed Aug 23, 2023
1 parent fa4df72 commit 01ceb9b
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 56 deletions.
79 changes: 38 additions & 41 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
name: e2e tests
on:
pull_request:
push:
branches:
- main

concurrency:
group: e2e-tests=full-${{ github.head_ref || github.ref }}-${{ github.repository }}
cancel-in-progress: true

jobs:
push-docker:
env:
REGISTRY_URL: ttl.sh
REPO: elemental-operator-ci
prepare-build:
name: Prepare chart for PR and wait for image builds
runs-on: ubuntu-latest
outputs:
chart_name: ${{ steps.chart.outputs.chart_name }}
Expand All @@ -20,40 +17,39 @@ jobs:
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Export tag
id: export_tag
run: |
TAG=`git describe --abbrev=0 --tags 2>/dev/null || echo "v0.0.0"`
COMMITDATE=`date -d @$(git log -n1 --format="%at") "+%FT%TZ"`
echo "operator_tag=$TAG" >> $GITHUB_OUTPUT
echo "commit_date=$COMMITDATE" >> $GITHUB_OUTPUT
- name: Docker meta
id: meta
uses: docker/metadata-action@v4.1.1
- name: Wait for OBS worflow to start
uses: cloudposse/github-action-wait-commit-status@main
with:
images: |
${{ env.REGISTRY_URL}}/${{ env.REPO }}
tags: |
type=sha,format=short,prefix=${{ steps.export_tag.outputs.operator_tag }}-
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2.2.1
- name: Build image
uses: docker/build-push-action@v3.2.0
repository: ${{ github.repository }}
sha: ${{ github.sha }}
status: "OBS: seedimage-builder - containers/x86_64"
lookup: "success"
token: ${{ github.token }}
check-retry-count: 30
check-retry-interval: 60
- name: Wait for OBS operator-image build
uses: cloudposse/github-action-wait-commit-status@main
with:
context: .
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
push: true
cache-from: type=gha
cache-to: type=gha,mode=max
target: elemental-operator
build-args: |
TAG=${{ steps.export_tag.outputs.operator_tag }}
COMMITDATE=${{ steps.export_tag.outputs.commit_date }}
COMMIT=${{ github.sha }}
- name: Make chart
run: REPO=${{ env.REPO }} REGISTRY_URL=${{ env.REGISTRY_URL }} make chart
repository: ${{ github.repository }}
sha: ${{ github.sha }}
status: "OBS: operator-image - containers/x86_64"
lookup: "success"
token: ${{ github.token }}
check-retry-count: 30
check-retry-interval: 60
- name: Build chart for release
env:
PR_NUMBER: ${{ github.event.number }}
B_REPO: registry.opensuse.org/isv/rancher/elemental/pr/rancher/elemental-operator/pr-${PR_NUMBER}/containers
OPERATOR_REPO: rancher/elemental-operator
SEEDIMAGE_REPO: rancher/seedimage-builder
CHANNEL_REPO: rancher/elemental-teal-channel
run: |
REGISTRY_URL=${B_REPO} \
REPO=${OPERATOR_REPO} \
REPO_SEEDIMAGE=${SEEDIMAGE_REPO} \
REPO_CHANNEL=${CHANNEL_REPO} \
make chart
- name: Set chart output
id: chart
run: |
Expand All @@ -64,17 +60,18 @@ jobs:
with:
name: chart
path: build/*.tgz

e2e-tests:
strategy:
matrix:
kubernetes: [ "v1.24.6", "v1.25.8"]
replicas: ["1"]
rancherVersion : ["2.7.2"]
runs-on: ubuntu-latest
needs: push-docker
needs: prepare-build
name: k8s ${{ matrix.kubernetes }} - Rancher ${{ matrix.rancherVersion }} - ${{ matrix.replicas }} replicas
env:
CHART: ${{ github.workspace }}/build/${{ needs.push-docker.outputs.chart_name }}
CHART: ${{ github.workspace }}/build/${{ needs.prepare-build.outputs.chart_name }}
KUBE_VERSION: ${{ matrix.kubernetes }}
OPERATOR_REPLICAS: ${{ matrix.replicas }}
RANCHER_VERSION: ${{ matrix.rancherVersion }}
Expand Down
6 changes: 6 additions & 0 deletions .obs/workflows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@ pr_workflow:
source_project: isv:Rancher:Elemental:Dev
source_package: seedimage-builder
target_project: isv:Rancher:Elemental:PR
- set_flags:
flags:
- type: publish
status: enable
project: isv:Rancher:Elemental:PR
repository: containers

filters:
event: pull_request
Expand Down
15 changes: 0 additions & 15 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ GIT_TAG?=$(shell git describe --abbrev=0 --tags 2>/dev/null || echo "v0.0.0" )
CHART_VERSION?=$(subst v,,$(GIT_TAG))
TAG?=${GIT_TAG}
REPO?=rancher/elemental-operator
REPO_REGISTER?=rancher/elemental-register
TAG_SEEDIMAGE?=${CHART_VERSION}
REPO_SEEDIMAGE?=rancher/seedimage-builder
TAG_CHANNEL?=${CHART_VERSION}
Expand Down Expand Up @@ -102,16 +101,6 @@ build-docker-operator:
--build-arg "COMMITDATE=${COMMITDATE}" \
-t ${REGISTRY_HEADER}${REPO}:${CHART_VERSION} .

.PHONY: build-docker-register
build-docker-register:
DOCKER_BUILDKIT=1 docker build \
-f Dockerfile \
--target elemental-register \
--build-arg "TAG=${GIT_TAG}" \
--build-arg "COMMIT=${GIT_COMMIT}" \
--build-arg "COMMITDATE=${COMMITDATE}" \
-t ${REGISTRY_HEADER}${REPO_REGISTER}:${CHART_VERSION} .

.PHONY: build-docker-seedimage-builder
build-docker-seedimage-builder:
DOCKER_BUILDKIT=1 docker build \
Expand All @@ -122,10 +111,6 @@ build-docker-seedimage-builder:
build-docker-push-operator: build-docker-operator
docker push ${REGISTRY_HEADER}${REPO}:${CHART_VERSION}

.PHONY: build-docker-push-register
build-docker-push-register: build-docker-register
docker push ${REGISTRY_HEADER}${REPO_REGISTER}:${CHART_VERSION}

.PHONY: build-docker-push-seedimage-builder
build-docker-push-seedimage-builder: build-docker-seedimage-builder
docker push ${REGISTRY_HEADER}${REPO_SEEDIMAGE}:${TAG_SEEDIMAGE}
Expand Down

0 comments on commit 01ceb9b

Please sign in to comment.