Update ubi9 and add ubi9-based developer image #239
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Copyright (c) 2019-2021 Red Hat, Inc. | |
# This program and the accompanying materials are made | |
# available under the terms of the Eclipse Public License 2.0 | |
# which is available at https://www.eclipse.org/legal/epl-2.0/ | |
# | |
# SPDX-License-Identifier: EPL-2.0 | |
# | |
# Contributors: | |
# Red Hat, Inc. - initial API and implementation | |
# | |
name: Empty workspace smoke test on udi8 | |
on: | |
pull_request: | |
paths-ignore: | |
- '**/*.md' | |
- .devfile.yaml | |
- LICENSE | |
- 'base/ubi9/**' | |
- 'universal/ubi9/**' | |
env: | |
USERSTORY: CloneGitRepoAPI | |
TS_API_TEST_KUBERNETES_COMMAND_LINE_TOOL: kubectl | |
DEPLOYMENT_TIMEOUT: 90s | |
PULL_POLICY: IfNotPresent | |
jobs: | |
workspace-api-tests-on-minikube: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@master | |
- name: Free runner space | |
run: | | |
sudo rm -rf /usr/local/lib/android | |
# obtain the PR number for tegging the image | |
- name: Get PR number | |
id: get_pr_number | |
run: | | |
pr_number=$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }') | |
echo "PR_NUMBER=$pr_number" >> $GITHUB_ENV | |
echo ">>>>>>>>>>>$pr_number" | |
- name: Cleanup build-in images | |
run: | | |
# remove build-in images from the VM because it is not used | |
docker rmi -f $(docker images -aq) | |
- name: Start minikube cluster | |
id: run-minikube | |
uses: che-incubator/setup-minikube-action@next | |
with: | |
minikube-version: v1.31.0 | |
# connect with docker daemon in the minikube and build an image there | |
# we need to build the image in the minikube because we have just 14 GB of space on the runner | |
# the UBI have more than 9 GB size this approach saves the disk space | |
- name: Build base image | |
run: | | |
eval $(minikube docker-env) | |
cd base/ubi8 && docker build -t quay.io/devfile/base-developer-image:ubi8-latest . | |
- name: Build universal image | |
run: | | |
eval $(minikube docker-env) | |
cd universal/ubi8 && docker build -t quay.io/devfile/universal-developer-image:${{ env.PR_NUMBER }} . | |
- name: Checkout DWO | |
uses: actions/checkout@master | |
with: | |
repository: devfile/devworkspace-operator | |
path: devworkspace-operator | |
- name: Setup cert manager | |
run: | | |
cd devworkspace-operator | |
make install_cert_manager | |
kubectl wait deployment -n cert-manager cert-manager --for condition=Available=True --timeout=$DEPLOYMENT_TIMEOUT | |
kubectl wait deployment -n cert-manager cert-manager-cainjector --for condition=Available=True --timeout=$DEPLOYMENT_TIMEOUT | |
kubectl wait deployment -n cert-manager cert-manager-webhook --for condition=Available=True --timeout=$DEPLOYMENT_TIMEOUT | |
- name: Setup DWO | |
run: | | |
cd devworkspace-operator | |
make install | |
kubectl rollout status deployment -n devworkspace-controller devworkspace-controller-manager --timeout=$DEPLOYMENT_TIMEOUT | |
kubectl rollout status deployment -n devworkspace-controller devworkspace-webhook-server --timeout=$DEPLOYMENT_TIMEOUT | |
kubectl wait deployment -n devworkspace-controller devworkspace-webhook-server --for condition=Available=True --timeout=$DEPLOYMENT_TIMEOUT | |
kubectl wait deployment -n devworkspace-controller devworkspace-controller-manager --for condition=Available=True --timeout=$DEPLOYMENT_TIMEOUT | |
- name: Check that UDI is presen in the image list | |
run: | | |
# we used it for the build above and do not need it anymore. It saves the disk space | |
minikube image rm quay.io/devfile/base-developer-image:ubi8-latest | |
minikube image list --format table | |
- name: Install NodeJs | |
uses: actions/setup-node@v4 | |
- name: Checkout tests codebase | |
uses: actions/checkout@master | |
with: | |
ref: api-test-with-clone-project-without-generating | |
repository: eclipse/che | |
path: che | |
- name: Run Empty workspace smoke test | |
run: | | |
export TS_API_TEST_UDI_IMAGE=quay.io/devfile/universal-developer-image:${{ env.PR_NUMBER }} | |
cd che/tests/e2e | |
npm i | |
npm run driver-less-test | |