feat: add support for custom topology #420
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test flux-operator | |
on: | |
pull_request: [] | |
jobs: | |
formatting: | |
name: Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup black linter | |
run: conda create --quiet --name black pyflakes | |
- name: Check Spelling | |
uses: crate-ci/typos@7ad296c72fa8265059cc03d1eda562fbdfcd6df2 # v1.9.0 | |
with: | |
files: ./docs/*/*.md ./docs/*/*/*.md ./docs/*.md ./README.md ./docs/*.md | |
unit-tests: | |
name: Unit Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ^1.20 | |
- name: fmt check | |
run: make fmt | |
- name: Install zeromq | |
run: sudo apt-get update && sudo apt-get install -y libsodium-dev libzmq3-dev libczmq-dev | |
# These aren't written yet | |
- name: Run Unit tests | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: make test | |
- name: Check Updated flux-operator-arm.yaml | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
cp examples/dist/flux-operator-arm.yaml /tmp/flux-operator-arm.yaml | |
make build-config-arm | |
diff examples/dist/flux-operator-arm.yaml /tmp/flux-operator-arm.yaml | |
# Ensure build-config is the same as the one we have | |
- name: Check Updated flux-operator.yaml | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
cp examples/dist/flux-operator.yaml /tmp/flux-operator.yaml | |
make build-config | |
diff examples/dist/flux-operator.yaml /tmp/flux-operator.yaml | |
test-jobs: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
test: [["post", "", 100], | |
["batch", "", 100], | |
["timed", "", 100], | |
["debug", "", 100], | |
["volumes", "", 100], | |
["hello-world", "", 100], | |
["nginx-service", "", 100], | |
["custom-config", "", 100], | |
["minimal-service", "", 100], | |
["existing-volumes", "", 100], | |
["flux-resource-list", "", 100], | |
["nginx-sidecar-service", "", 100], | |
["pokemon", "ghcr.io/rse-ops/pokemon:app-latest", 100], | |
["snakemake", "ghcr.io/rse-ops/atacseq:app-latest", 100], | |
["singularity", "ghcr.io/rse-ops/singularity:tag-mamba", 100], | |
["lammps", "ghcr.io/converged-computing/metric-lammps:latest", 100], | |
["disable-view", "ghcr.io/rse-ops/lammps:flux-sched-focal", 100]] | |
steps: | |
- name: Clone the code | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ^1.20 | |
- name: Install zeromq | |
run: sudo apt-get update && sudo apt-get install -y libsodium-dev libzmq3-dev libczmq-dev | |
- name: Start minikube | |
uses: medyagh/setup-minikube@697f2b7aaed5f70bf2a94ee21a4ec3dde7b12f92 # v0.0.9 | |
- name: Pull Docker Containers to MiniKube | |
env: | |
container: ${{ matrix.test[1] }} | |
test: ${{ matrix[0] }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
export SHELL=/bin/bash | |
eval $(minikube -p minikube docker-env) | |
if [[ "${container}" != "" ]]; then | |
minikube ssh docker pull ${container} | |
fi | |
if [[ "${test}" == "nginx-service" ]]; then | |
minikube ssh docker pull nginx | |
fi | |
minikube ssh docker pull ghcr.io/converged-computing/flux-view-rocky:tag-9 | |
make deploy-local | |
minikube image load ghcr.io/flux-framework/flux-operator:test | |
kubectl apply -f examples/dist/flux-operator-local.yaml | |
- name: Test ${{ matrix.test[0] }} | |
env: | |
name: ${{ matrix.test[0] }} | |
jobtime: ${{ matrix.test[2] }} | |
run: /bin/bash ./script/test.sh ${name} ${jobtime} |