Skip to content

Commit

Permalink
start using gh context
Browse files Browse the repository at this point in the history
  • Loading branch information
jsliacan committed Dec 19, 2023
1 parent ec0bc05 commit 8e55f06
Showing 1 changed file with 179 additions and 159 deletions.
338 changes: 179 additions & 159 deletions .github/workflows/windows-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,171 +17,191 @@ jobs:

steps:

- name: Create instance
run: |
# Create instance
podman run -d --name windows-create --rm \
-v ${PWD}:/workspace:z \
-e ARM_TENANT_ID=${{ secrets.ARM_TENANT_ID }} \
-e ARM_SUBSCRIPTION_ID=${{ secrets.ARM_SUBSCRIPTION_ID }} \
-e ARM_CLIENT_ID=${{ secrets.ARM_CLIENT_ID }} \
-e ARM_CLIENT_SECRET='${{ secrets.ARM_CLIENT_SECRET }}' \
quay.io/rhqp/qenvs:v0.6.0 azure \
windows create \
--project-name 'windows-desktop' \
--backed-url 'file:///workspace' \
--conn-details-output '/workspace' \
--windows-version '${{ matrix.windows-version }}' \
--windows-featurepack '${{ matrix.windows-featurepack }}' \
--vmsize 'Standard_D8s_v4' \
--tags project=openshift-local,source=github,org=${{ github.repository_owner}} \
--spot
# Check logs
podman logs -f windows-create
- name: Check instance system info
run: |
ssh -i id_rsa \
-o StrictHostKeyChecking=no \
-o UserKnownHostsFile=/dev/null \
-o ServerAliveInterval=30 \
-o ServerAliveCountMax=1200 \
$(cat username)@$(cat host) "systeminfo"
- name: Download installer
id: download-installer-artifact
- name: Download GH context
id: download-gh-context-artifact
uses: dawidd6/action-download-artifact@v2
with:
workflow: ${{ github.event.workflow_run.workflow_id }}
name: Windows Installer (windows-2022)
name: gh_context

- name: Install CRC on host
- name: Add status in PR checks
run: |
# id_rsa for the host should be in pwd
HOST=$(cat host)
USER=$(cat username)
TARGET_FOLDER=crc-support
ASSET_FOLDER=/opt/crc-support
podman run --pull=always --rm -d --name crc-win-support \
-e TARGET_HOST=${HOST} \
-e TARGET_HOST_USERNAME=${USER} \
-e TARGET_HOST_KEY_PATH=/data/id_rsa \
-e TARGET_FOLDER=crc-support \
-e TARGET_CLEANUP='false' \
-e OUTPUT_FOLDER=/data \
-e DEBUG='true' \
-v ${PWD}:/data:z \
-v ${PWD}/crc-windows-installer.zip:${ASSET_FOLDER}/crc-windows-installer.zip:z \
quay.io/rhqp/crc-support:v0.0.4-windows ${TARGET_FOLDER}/run.ps1 \
-targetPath "/Users/${USER}/${TARGET_FOLDER}" \
-download 'false' \
-install 'true' \
-forceFresh 'false'
set -Eeuo pipefail
OWNER_REPO=$(cat gh_context.json | jq -r '.repository')
AFTER=$(cat gh_context.json | jq -r '.event.after')
curl -L -v \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ github.token }}" \
https://api.github.com/repos/${OWNER_REPO}/statuses/${AFTER} \
-d '{"state":"pending", "description":"Running e2e on Windows", "context":"win-ci-e2e"}'
# - name: Create instance
# run: |
# # Create instance
# podman run -d --name windows-create --rm \
# -v ${PWD}:/workspace:z \
# -e ARM_TENANT_ID=${{ secrets.ARM_TENANT_ID }} \
# -e ARM_SUBSCRIPTION_ID=${{ secrets.ARM_SUBSCRIPTION_ID }} \
# -e ARM_CLIENT_ID=${{ secrets.ARM_CLIENT_ID }} \
# -e ARM_CLIENT_SECRET='${{ secrets.ARM_CLIENT_SECRET }}' \
# quay.io/rhqp/qenvs:v0.6.0 azure \
# windows create \
# --project-name 'windows-desktop' \
# --backed-url 'file:///workspace' \
# --conn-details-output '/workspace' \
# --windows-version '${{ matrix.windows-version }}' \
# --windows-featurepack '${{ matrix.windows-featurepack }}' \
# --vmsize 'Standard_D8s_v4' \
# --tags project=openshift-local,source=github,org=${{ github.repository_owner}} \
# --spot
# # Check logs
# podman logs -f windows-create

# - name: Check instance system info
# run: |
# ssh -i id_rsa \
# -o StrictHostKeyChecking=no \
# -o UserKnownHostsFile=/dev/null \
# -o ServerAliveInterval=30 \
# -o ServerAliveCountMax=1200 \
# $(cat username)@$(cat host) "systeminfo"

# - name: Download installer
# id: download-installer-artifact
# uses: dawidd6/action-download-artifact@v2
# with:
# workflow: ${{ github.event.workflow_run.workflow_id }}
# name: Windows Installer (windows-2022)

# - name: Install CRC on host
# run: |
# # id_rsa for the host should be in pwd

# HOST=$(cat host)
# USER=$(cat username)
# TARGET_FOLDER=crc-support
# ASSET_FOLDER=/opt/crc-support
# podman run --pull=always --rm -d --name crc-win-support \
# -e TARGET_HOST=${HOST} \
# -e TARGET_HOST_USERNAME=${USER} \
# -e TARGET_HOST_KEY_PATH=/data/id_rsa \
# -e TARGET_FOLDER=crc-support \
# -e TARGET_CLEANUP='false' \
# -e OUTPUT_FOLDER=/data \
# -e DEBUG='true' \
# -v ${PWD}:/data:z \
# -v ${PWD}/crc-windows-installer.zip:${ASSET_FOLDER}/crc-windows-installer.zip:z \
# quay.io/rhqp/crc-support:v0.0.4-windows ${TARGET_FOLDER}/run.ps1 \
# -targetPath "/Users/${USER}/${TARGET_FOLDER}" \
# -download 'false' \
# -install 'true' \
# -forceFresh 'false'

# Check logs
podman logs -f crc-win-support
- name: Write pull-secret
env:
PULL_SECRET: ${{ secrets.PULL_SECRET }}
run: |
echo $PULL_SECRET > pull-secret
- name: Download ID file
id: download-id-artifact
uses: dawidd6/action-download-artifact@v2
with:
workflow: ${{ github.event.workflow_run.workflow_id }}
name: id

- name: Read ID value
id: id
uses: juliangruber/read-file-action@v1
with:
path: ./id.txt

- name: Download e2e image
id: download-images-artifact
uses: dawidd6/action-download-artifact@v2
with:
workflow_conclusion: completed
workflow: build-tests.yml
name: crc-e2e-id${{ steps.id.outputs.content }}

- name: Run CRC e2e
env:
ID: ${{ steps.id.outputs.content }}
run: |
# Get latest built
# curl -OL https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/release-info.json
# VERSION=$(jq -r '.version.crcVersion' release-info.json)
# load crc-e2e image from tar file
podman load -i crc-e2e.tar
mkdir output
# id_rsa for the host should be in pwd
# # Check logs
# podman logs -f crc-win-support

# - name: Write pull-secret
# env:
# PULL_SECRET: ${{ secrets.PULL_SECRET }}
# run: |
# echo $PULL_SECRET > pull-secret

# - name: Download ID file
# id: download-id-artifact
# uses: dawidd6/action-download-artifact@v2
# with:
# workflow: ${{ github.event.workflow_run.workflow_id }}
# name: id

# - name: Read ID value
# id: id
# uses: juliangruber/read-file-action@v1
# with:
# path: ./id.txt

# - name: Download e2e image
# id: download-images-artifact
# uses: dawidd6/action-download-artifact@v2
# with:
# workflow_conclusion: completed
# workflow: build-tests.yml
# name: crc-e2e-id${{ steps.id.outputs.content }}

# - name: Run CRC e2e
# env:
# ID: ${{ steps.id.outputs.content }}
# run: |
# # Get latest built
# # curl -OL https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/release-info.json
# # VERSION=$(jq -r '.version.crcVersion' release-info.json)

# # load crc-e2e image from tar file
# podman load -i crc-e2e.tar

# mkdir output
# # id_rsa for the host should be in pwd

HOST=$(cat host)
USER=$(cat username)
# platform tag is inferred from the image
E2E_TAGS="@minimal"
TARGET_FOLDER="crc-e2e"
podman run --rm -d --name crc-e2e \
-e PLATFORM=windows \
-e TARGET_HOST=${HOST} \
-e TARGET_HOST_USERNAME=${USER} \
-e TARGET_HOST_KEY_PATH=/opt/crc/id_rsa \
-e PULL_SECRET_FILE_PATH=/opt/crc/pull-secret \
-e E2E_TAG_EXPRESSION=${E2E_TAGS} \
-v $PWD/pull-secret:/opt/crc/pull-secret:Z \
-v $PWD/output:/output:Z \
-v $PWD/id_rsa:/opt/crc/id_rsa:Z \
quay.io/crcont/crc-e2e:id-${ID} \
-targetFolder ${TARGET_FOLDER} \
-junitResultsPath ${TARGET_FOLDER}/junit
# Check logs
podman logs -f crc-e2e
- name: Test Report
uses: mikepenz/action-junit-report@v4
if: always() # always run even if the previous step fails
with:
fail_on_failure: true
include_passed: true
detailed_summary: true
require_tests: true
report_paths: '**/*.xml'
# HOST=$(cat host)
# USER=$(cat username)
# # platform tag is inferred from the image
# E2E_TAGS="@minimal"
# TARGET_FOLDER="crc-e2e"

# podman run --rm -d --name crc-e2e \
# -e PLATFORM=windows \
# -e TARGET_HOST=${HOST} \
# -e TARGET_HOST_USERNAME=${USER} \
# -e TARGET_HOST_KEY_PATH=/opt/crc/id_rsa \
# -e PULL_SECRET_FILE_PATH=/opt/crc/pull-secret \
# -e E2E_TAG_EXPRESSION=${E2E_TAGS} \
# -v $PWD/pull-secret:/opt/crc/pull-secret:Z \
# -v $PWD/output:/output:Z \
# -v $PWD/id_rsa:/opt/crc/id_rsa:Z \
# quay.io/crcont/crc-e2e:id-${ID} \
# -targetFolder ${TARGET_FOLDER} \
# -junitResultsPath ${TARGET_FOLDER}/junit

# # Check logs
# podman logs -f crc-e2e

# - name: Test Report
# uses: mikepenz/action-junit-report@v4
# if: always() # always run even if the previous step fails
# with:
# fail_on_failure: true
# include_passed: true
# detailed_summary: true
# require_tests: true
# report_paths: '**/*.xml'

- name: Upload e2e results
uses: actions/upload-artifact@v3
if: always()
with:
name: E2E-results-windows-${{ matrix.windows-version }}${{ matrix.windows-featurepack }}
path: |
**/*.xml
**/*.results
**/*.log
- name: Destroy instance
if: always()
run: |
# Make sure lock is removed
rm -rf .pulumi/locks/*
# - name: Upload e2e results
# uses: actions/upload-artifact@v3
# if: always()
# with:
# name: E2E-results-windows-${{ matrix.windows-version }}${{ matrix.windows-featurepack }}
# path: |
# **/*.xml
# **/*.results
# **/*.log

# - name: Destroy instance
# if: always()
# run: |
# # Make sure lock is removed
# rm -rf .pulumi/locks/*

# Destroy instance
podman run -d --name windows-destroy --rm \
-v ${PWD}:/workspace:z \
-e ARM_TENANT_ID=${{ secrets.ARM_TENANT_ID }} \
-e ARM_SUBSCRIPTION_ID=${{ secrets.ARM_SUBSCRIPTION_ID }} \
-e ARM_CLIENT_ID=${{ secrets.ARM_CLIENT_ID }} \
-e ARM_CLIENT_SECRET='${{ secrets.ARM_CLIENT_SECRET }}' \
quay.io/rhqp/qenvs:v0.6.0 azure \
windows destroy \
--project-name 'windows-desktop' \
--backed-url 'file:///workspace'
# Check logs
podman logs -f windows-destroy
# # Destroy instance
# podman run -d --name windows-destroy --rm \
# -v ${PWD}:/workspace:z \
# -e ARM_TENANT_ID=${{ secrets.ARM_TENANT_ID }} \
# -e ARM_SUBSCRIPTION_ID=${{ secrets.ARM_SUBSCRIPTION_ID }} \
# -e ARM_CLIENT_ID=${{ secrets.ARM_CLIENT_ID }} \
# -e ARM_CLIENT_SECRET='${{ secrets.ARM_CLIENT_SECRET }}' \
# quay.io/rhqp/qenvs:v0.6.0 azure \
# windows destroy \
# --project-name 'windows-desktop' \
# --backed-url 'file:///workspace'
# # Check logs
# podman logs -f windows-destroy

0 comments on commit 8e55f06

Please sign in to comment.