Skip to content

Commit eb70b78

Browse files
committed
Mac Workflows initial concept with podman-e2e-mac workflow, scheduler and template
Signed-off-by: Ondrej Dockal <[email protected]>
1 parent f6753bc commit eb70b78

File tree

3 files changed

+58
-42
lines changed

3 files changed

+58
-42
lines changed

.github/workflows/mac-dummy-template.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# This example workflow represents an independent workflow that tests something, runs after E2E test Job is finished
2-
# and makes use of startJob machine's access information
3-
name: Dummy Mac Test Job
1+
# This example workflow represents an independent dummy workflow serves as a template for
2+
# other possible workflows getting information for creating a Mac host from its parent scheduler job
3+
name: Dummy Mac Template Job
44

55
on:
66
workflow_call:

.github/workflows/mac-scheduler.yaml

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -37,23 +37,23 @@ jobs:
3737
host_id: ${{ steps.set_secret.outputs.host_id }}
3838

3939
steps:
40-
- name: Create a host instance on AWS
40+
- name: Create a host on AWS
4141
# run: |
42-
# # Create host only - How to get host ID?
43-
# # podman run -d --name mac-create --rm \
44-
# # -v ${PWD}:/workspace:z \
45-
# # -e AWS_ACCESS_KEY_ID=${{ AWS_ACCESS_KEY_ID }} \
46-
# # -e AWS_SECRET_ACCESS_KEY='${{ AWS_SECRET_ACCESS_KEY }}' \
47-
# # -e AWS_DEFAULT_REGION=us-east-1 \
48-
# # quay.io/rhqp/qenvs:${{ matrix.qenvs-version }} aws \
49-
# # mac create \
50-
# # --host-only
51-
# # --project-name mac-desktop \
52-
# # --backed-url file:///workspace \
53-
# # --conn-details-output /workspace \
54-
# # # Check logs
55-
# # podman logs -f mac-create
56-
# # Simulate step that creates dedicatedHostID
42+
# Create host only - How to get host ID?
43+
# podman run -d --name mac-host-create --rm \
44+
# -v ${PWD}:/workspace:z \
45+
# -e AWS_ACCESS_KEY_ID=${{ AWS_ACCESS_KEY_ID }} \
46+
# -e AWS_SECRET_ACCESS_KEY='${{ AWS_SECRET_ACCESS_KEY }}' \
47+
# -e AWS_DEFAULT_REGION=us-east-1 \
48+
# quay.io/rhqp/qenvs:${{ matrix.qenvs-version }} aws \
49+
# mac create \
50+
# --host-only
51+
# --project-name mac-desktop \
52+
# --backed-url file:///workspace \
53+
# --conn-details-output /workspace \
54+
# # Check logs
55+
# podman logs -f mac-host-create
56+
# Simulate step that creates dedicatedHostID
5757
run: |
5858
# requires sudo! mkdir /workspace
5959
mkdir workspace
@@ -63,9 +63,6 @@ jobs:
6363
6464
- name: Output encoded secrets
6565
id: set_secret
66-
# env:
67-
# HOST: ${{ secrets.HOST }}
68-
# KEY: ${{ secrets.KEY }}
6966
run: |
7067
host_id=$(cat $GITHUB_WORKSPACE/workspace/dedicatedHostID | base64 -w0 | base64 -w0)
7168
echo "host_id is $host_id"
@@ -83,7 +80,7 @@ jobs:
8380
needs: createHostJob
8481
secrets:
8582
env_vars: |
86-
HOST_ID=${{ needs.startJob.createHostJob.host_id }}
83+
HOST_ID=${{ needs.createHostJob.outputs.host_id }}
8784
8885
cleanUpJob:
8986
runs-on: ubuntu-latest

.github/workflows/podman-e2e-mac.yaml

Lines changed: 38 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,51 +8,70 @@ on:
88
secrets:
99
env_vars:
1010
required: true
11+
workflow_dispatch:
12+
inputs:
13+
host_id:
14+
description: 'AWS Host ID'
15+
type: string
16+
required: false
1117

1218
jobs:
1319
podman-e2e:
1420
runs-on: ubuntu-latest
1521
strategy:
1622
fail-fast: false
1723
matrix:
18-
version: ['13','14']
19-
arch: ['m1', 'm2']
24+
# version: ['13','14']
25+
version: ['14']
26+
# arch: ['m1', 'm2']
27+
arch: ['m1']
2028
qenvs-version: ['v0.6.1']
2129

2230
steps:
2331
- name: Decode credentials as environment variables
32+
# Runs only is the trigger event is a workflow call - run by mac-scheduler
33+
if: github.event_name == 'workflow_call'
2434
env:
2535
env_vars: ${{ secrets.env_vars }}
2636
run: |
37+
echo "Getting HOST_ID from parent workflow"
2738
for i in $env_vars; do
2839
i=$(echo $i | sed 's/=.*//g')=$(echo ${i#*=} | base64 -di | base64 -di)
2940
echo ::add-mask::${i#*=}
3041
printf '%s\n' "$i" >> $GITHUB_ENV
3142
done
3243
33-
- name: Validate credentials
44+
- name: Set host id into environment variables
45+
# Runs only is the trigger event is a workflow dispatch - run manually
46+
if: github.event_name == 'workflow_dispatch'
47+
env:
48+
HOST_ID: ${{ github.event.inputs.host_id }}
49+
run: |
50+
echo "Setting HOST_ID from Workflow input: ${{ env.HOST_ID }}"
51+
52+
- name: Validate Host ID
3453
run: |
3554
# Secrets are now available as masked environment variable.
3655
echo $HOST_D # or ${{ env.HOST_ID }}
3756
3857
- name: Create instance on the host passing --host-id
3958
# run: |
40-
# # # Create instance with provided HOST_ID
41-
# # podman run -d --name mac-create --rm \
42-
# # -v ${PWD}:/workspace:z \
43-
# # -e AWS_ACCESS_KEY_ID=${{ AWS_ACCESS_KEY_ID }} \
44-
# # -e AWS_SECRET_ACCESS_KEY='${{ AWS_SECRET_ACCESS_KEY }}' \
45-
# # -e AWS_DEFAULT_REGION=us-east-1 \
46-
# # quay.io/rhqp/qenvs:${{ matrix.qenvs-version }} aws \
47-
# # mac create \
48-
# # --host-id ${{ env.HOST_ID }}
49-
# # --project-name mac-desktop \
50-
# # --backed-url file:///workspace \
51-
# # --conn-details-output /workspace \
52-
# # --version '${{ matrix.version }}' \
53-
# # --arch '${{ matrix.arch }}'
54-
# # # Check logs
55-
# # podman logs -f mac-create
59+
# # Create instance with provided HOST_ID
60+
# podman run -d --name mac-create --rm \
61+
# -v ${PWD}:/workspace:z \
62+
# -e AWS_ACCESS_KEY_ID=${{ AWS_ACCESS_KEY_ID }} \
63+
# -e AWS_SECRET_ACCESS_KEY='${{ AWS_SECRET_ACCESS_KEY }}' \
64+
# -e AWS_DEFAULT_REGION=us-east-1 \
65+
# quay.io/rhqp/qenvs:${{ matrix.qenvs-version }} aws \
66+
# mac create \
67+
# --host-id ${{ env.HOST_ID }}
68+
# --project-name mac-desktop \
69+
# --backed-url file:///workspace \
70+
# --conn-details-output /workspace \
71+
# --version '${{ matrix.version }}' \
72+
# --arch '${{ matrix.arch }}'
73+
# # Check logs
74+
# podman logs -f mac-create
5675
run: |
5776
echo "Passing ${{ env.HOST_ID }} info"
5877

0 commit comments

Comments
 (0)