Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jeff-vincent/orka-actions-down-org
Organization support for orka-actions-down
https://github.com/jeff-vincent/orka-actions-down-org
Last synced: 1 day ago
JSON representation
Organization support for orka-actions-down
- Host: GitHub
- URL: https://github.com/jeff-vincent/orka-actions-down-org
- Owner: jeff-vincent
- License: mit
- Created: 2022-04-13T22:54:01.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-04-13T23:35:21.000Z (over 2 years ago)
- Last Synced: 2024-10-20T04:04:31.472Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# orka-actions-down-org
Run self-hosted, macOS workflows on MacStadium's Orka.
## Overview
This action is intended to be paired with [`jeff-vincent/[email protected]`](https://github.com/marketplace/actions/orka-actions-up-org) in order to pass iOS and macOS CI/CD jobs to ephemeral, self-hosted runners in [MacStadium's Orka](https://orkadocs.macstadium.com).[`jeff-vincent/[email protected]`](https://github.com/marketplace/actions/orka-actions-up-org) is responsible for spinning up a fresh macOS VM in Orka, which then registers itself as a self-hosted runner with the help of the agent resources housed and detailed in [`jeff-vincent/orka-actions-connect`](https://github.com/jeff-vincent/orka-actions-connect).
Finally, as shown in the example below, `jeff-vincent/[email protected]` tears down the ephemeral macOS, self-hosted runner.
## Example workflow
```
on:
push:
branches:
- mainjobs:
job1:
runs-on: ubuntu-latest # NOTE: both orka-actions-up and orka-actions-down run on `ubuntu-latest`
steps:
- name: Job 1
id: job1
uses: jeff-vincent/[email protected]
with:
orkaUser: ${{ secrets.ORKA_USER }}
orkaPass: ${{ secrets.ORKA_PASS }}
orkaBaseImage: gha_bigsur_v3.img # NOTE: this `.img` file is the agent that has been defined in Orka
githubPat: ${{ secrets.GH_PAT }}
githubOrg: example-org-1
vpnUser: ${{ secrets.VPN_USER }}
vpnPassword: ${{ secrets.VPN_PASSWORD }}
vpnAddress: ${{ secrets.VPN_ADDRESS }}
vpnServerCert: ${{ secrets.VPN_SERVER_CERT }}
vcpuCount: 6
coreCount: 6
outputs:
vm-name: ${{ steps.job1.outputs.vm-name }}
job2: # NOTE: this is where your macOS-based, GitHub Actions workflow will be executed.
needs: job1
runs-on: [self-hosted, "${{ needs.job1.outputs.vm-name }}"] # NOTE: this section of the workflow can contain any number of seperate jobs,
steps: # but each must have this `runs-on` value.
- name: Job 2
id: job2
run: |
sw_vers
job3:
if: always()
needs: [job1, job2] # NOTE: all jobs you wish to run on the macOS instance,
runs-on: ubuntu-latest # along with the `orka-actions-up` job, must be listed here.
steps:
- name: Job 3
id: job3
uses: jeff-vincent/[email protected]
with:
orkaUser: ${{ secrets.ORKA_USER }}
orkaPass: ${{ secrets.ORKA_PASS }}
githubPat: ${{ secrets.GH_PAT }}
githubOrg: example-org-1
vpnUser: ${{ secrets.VPN_USER }}
vpnPassword: ${{ secrets.VPN_PASSWORD }}
vpnAddress: ${{ secrets.VPN_ADDRESS }}
vpnServerCert: ${{ secrets.VPN_SERVER_CERT }}
vmName: ${{ needs.job1.outputs.vm-name }}
```## job2 example output
```
Run sw_vers
sw_vers
shell: /bin/bash -e {0}
ProductName: macOS
ProductVersion: 11.3
BuildVersion: 20E232
```