Skip to content

Refactor package loading process w provider pattern (the real MZAL) #117

Refactor package loading process w provider pattern (the real MZAL)

Refactor package loading process w provider pattern (the real MZAL) #117

Workflow file for this run

name: Test Cross-Cluster
on:
pull_request:
paths-ignore:
- "**.md"
- "**.jpg"
- "**.png"
- "**.gif"
- "**.svg"
- "adr/**"
- "docs/**"
- "CODEOWNERS"
permissions:
contents: read
# Abort prior jobs in the same workflow / PR
concurrency:
group: e2e-${{ github.ref }}
cancel-in-progress: true
jobs:
# Build the binary and init package
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: Setup golang
uses: ./.github/actions/golang
- name: Setup NodeJS
uses: ./.github/actions/node
- name: Build binary and zarf packages
uses: ./.github/actions/packages
with:
build-examples: "false"
# Upload the contents of the build directory for later stages to use
- name: Upload build artifacts
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
with:
name: build-artifacts
path: build/
retention-days: 1
# Run the tests on k3d
validate-k3d:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: Download build artifacts
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
with:
name: build-artifacts
path: build/
- name: Setup golang
uses: ./.github/actions/golang
- name: Setup K3d
uses: ./.github/actions/k3d
- name: Run tests
run: |
chmod +x build/zarf
make test-e2e ARCH=amd64
- name: Save logs
if: always()
uses: ./.github/actions/save-logs
# Run the tests on k3s
validate-k3s:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: Download build artifacts
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
with:
name: build-artifacts
path: build/
- name: Setup golang
uses: ./.github/actions/golang
- name: Run tests
# NOTE: "PATH=$PATH" preserves the default user $PATH. This is needed to maintain the version of go installed
# in a previous step. This test run will use Zarf to create a K3s cluster, and a brand new cluster will be
# used for each test
run: |
chmod +x build/zarf
sudo env "PATH=$PATH" CI=true APPLIANCE_MODE=true make test-e2e ARCH=amd64
- name: Save logs
if: always()
uses: ./.github/actions/save-logs
# Run the tests on kind
validate-kind:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: Download build artifacts
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
with:
name: build-artifacts
path: build/
- name: Setup golang
uses: ./.github/actions/golang
- name: Setup Kind
run: |
kind delete cluster && kind create cluster
kubectl scale deploy -n kube-system coredns --replicas=1
- name: Run tests
run: |
chmod +x build/zarf
make test-e2e ARCH=amd64
- name: Save logs
if: always()
uses: ./.github/actions/save-logs
# Run the tests on minikube
validate-minikube:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: Download build artifacts
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
with:
name: build-artifacts
path: build/
- name: Setup golang
uses: ./.github/actions/golang
- name: Setup Minikube
run: minikube start --driver=docker
- name: Run tests
run: |
chmod +x build/zarf
make test-e2e ARCH=amd64
- name: Save logs
if: always()
uses: ./.github/actions/save-logs