Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running mirrord session in the CI #148

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 37 additions & 3 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ on:
jobs:
sanity:
runs-on: ubuntu-latest
name: helm-sanity debug
name: sanity render chart
steps:
- uses: actions/checkout@v4
- uses: azure/[email protected]
- run: helm template mirrord-operator --set license.key=secret --debug

operator-install:
runs-on: ubuntu-latest
name: helm install & check install
name: install chart
steps:
- uses: actions/checkout@v4
- name: start minikube
Expand All @@ -37,12 +37,46 @@ jobs:
run: kubectl create namespace namespace1 && kubectl create namespace namespace2
- name: check installing the chart with various `values` yamls
run: ./test_values_files.sh

operator-install-and-use:
runs-on: ubuntu-latest
name: install chart and run session
steps:
- uses: actions/checkout@v4
- name: start minikube
uses: medyagh/setup-minikube@master
with:
container-runtime: ${{ inputs.container-runtime }}
cpus: 'max'
memory: '4gb'
- uses: azure/[email protected]
- name: prepare operator license
env:
MIRRORD_OPERATOR_LICENSE: ${{ secrets.MIRRORD_OPERATOR_LICENSE }}
run: echo $MIRRORD_OPERATOR_LICENSE | base64 --decode > license.pem
- name: print license file hash
run: cat license.pem | sha256sum
- name: install the chart
run: helm install mirrord-operator --set license.file.data."license\\.pem"=$MIRRORD_OPERATOR_LICENSE --set operator.disableTelemetries=true --set operator.podAnnotations."annotation\.metalbear\.co/name"="operator" --set operator.podAnnotations."annotation\.metalbear\.co/version"="latest" --set operator.podLabels."label\.metalbear\.co/name"="operator" --set operator.podLabels."label\.metalbear\.co/version"="latest" ./mirrord-operator --wait
run: |
helm install mirrord-operator \
--set license.file.data."license\\.pem"="$(cat license.pem)" \
--set operator.disableTelemetries=true \
--set operator.podAnnotations."annotation\.metalbear\.co/name"="operator" \
--set operator.podAnnotations."annotation\.metalbear\.co/version"="latest" \
--set operator.podLabels."label\.metalbear\.co/name"="operator" \
--set operator.podLabels."label\.metalbear\.co/version"="latest" \
./mirrord-operator --wait
- name: wait for the operator status
uses: nick-fields/retry@v3
with:
timeout_seconds: 10
max_attempts: 5
retry_wait_seconds: 1
command: kubectl get mirrordoperators.operator.metalbear.co operator -o yaml
- name: download latest mirrord binary
run: curl -LO https://github.com/metalbear-co/mirrord/releases/latest/download/mirrord_linux_x86_64 && chmod +x ./mirrord_linux_x86_64
- name: run dummy mirrord session
run: MIRRORD_OPERATOR_ENABLE=true MIRRORD_TELEMETRY=false ./mirrord_linux_x86_64 exec -- echo whatever
- name: get operator logs
if: failure()
run: kubectl logs -n mirrord deployment/mirrord-operator
Loading