Skip to content
Merged
Show file tree
Hide file tree
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
13 changes: 8 additions & 5 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ jobs:
e2e-test:
runs-on: linux-amd64-cpu4
if: ${{ github.event.workflow_run.conclusion == 'success' }} && ${{ github.event.workflow_run.event == 'push' }}
strategy:
matrix:
label: [default, legacy, dra, kernel]
name: E2E Test (${{ matrix.label }})

steps:
- name: Checkout code
uses: actions/checkout@v4
Expand All @@ -42,9 +47,8 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y make
make ginkgo

- name: Run e2e tests
- name: Run e2e test for ${{ matrix.label }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand All @@ -55,13 +59,12 @@ jobs:
echo "${{ secrets.AWS_SSH_KEY }}" > "$e2e_ssh_key"
chmod 600 "$e2e_ssh_key"
export E2E_SSH_KEY="$e2e_ssh_key"

make -f tests/Makefile test
make -f tests/Makefile test GINKGO_ARGS="--label-filter='${{ matrix.label }}'"

- name: Archive Ginkgo logs
uses: actions/upload-artifact@v4
with:
name: ginkgo-logs
name: ginkgo-logs-${{ matrix.label }}
path: ginkgo.json
retention-days: 15

Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/golang.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,14 @@ jobs:
with:
go-version: ${{ needs.variables.outputs.GOLANG_VERSION }}

- run: make coverage
- name: Run unit tests and generate coverage report
run: make coverage

- name: Upload to Coveralls
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
file: coverage.out

build:
name: Build
Expand Down
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,7 @@ test:
go test -coverprofile=$(COVERAGE_FILE) ./pkg/...

coverage: test
cat $(COVERAGE_FILE) | grep -v "_mock.go" > $(COVERAGE_FILE).no-mocks
go tool cover -func=$(COVERAGE_FILE).no-mocks
go tool cover -func=$(COVERAGE_FILE)

mdlint:
${CONTAINER_RUN_CMD} \
Expand Down
13 changes: 3 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Holodeck

> * Tech preview, under heavy development *
[![Latest Release](https://img.shields.io/github/v/release/NVIDIA/holodeck?label=latest%20release)](https://github.com/NVIDIA/holodeck/releases/latest)

A tool for creating and managing GPU-ready Cloud test environments.

Expand All @@ -13,6 +13,7 @@ A tool for creating and managing GPU-ready Cloud test environments.
- [Commands Reference](docs/commands/)
- [Contributing Guide](docs/contributing/)
- [Examples](docs/examples/)
- [Latest Release](https://github.com/NVIDIA/holodeck/releases/latest)

---

Expand Down Expand Up @@ -89,19 +90,11 @@ holodeck status <instance-id>
holodeck dryrun -f ./examples/v1alpha1_environment.yaml
```

---

## 📦 Supported Cuda-Drivers

See [docs/prerequisites.md](docs/prerequisites.md#supported-cuda-drivers) for the full list and usage.

---

## 📂 More

- [Examples](docs/examples/)
- [Guides](docs/guides/)

---

For more information, see the [docs/](docs/) directory.
For more information, see the [documentation](docs/README.md) directory.
24 changes: 24 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Holodeck Documentation

[![Latest Release](https://img.shields.io/github/v/release/NVIDIA/holodeck?label=latest%20release)](https://github.com/NVIDIA/holodeck/releases/latest)

Welcome to the Holodeck documentation! Here you'll find everything you need to
get started, use, and contribute to Holodeck.

## 📚 Sections

- [Quick Start](quick-start.md): Get up and running with Holodeck in minutes.
- [Prerequisites](prerequisites.md): What you need before you begin.
- [Commands Reference](commands/README.md): Detailed documentation for every
Holodeck CLI command.
- [Contributing Guide](contributing/README.md): How to contribute to Holodeck,
including coding standards and PR process.
- [Examples](examples/README.md): Example configuration files and usage scenarios.
- [Guides](guides/README.md): In-depth guides and tutorials for advanced usage.
- [Latest Release](https://github.com/NVIDIA/holodeck/releases/latest)

---

For general information, see the [main README](../README.md).

If you have questions or want to contribute, check out the [Contributing Guide](contributing/README.md)!
2 changes: 1 addition & 1 deletion docs/examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,4 @@ A sample kind cluster configuration for use with the kind installer.
---

For more details on configuration options, see the
[Command Reference](../commands/) and [Quick Start Guide](../quick-start.md).
[Command Reference](../commands/README.md) and [Quick Start Guide](../quick-start.md).
10 changes: 10 additions & 0 deletions docs/guides/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Guides

This section is for in-depth guides and tutorials related to Holodeck.

- If you are looking for step-by-step instructions or advanced usage, guides
will be listed here as they are added.
- To contribute a guide, simply add a new Markdown file to this folder and
update this README with a link.

*No guides are available yet. Stay tuned!*
2 changes: 1 addition & 1 deletion docs/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,5 +71,5 @@ holodeck delete <instance-id>

- Check out the [Prerequisites](prerequisites.md) for detailed setup
requirements
- Explore the [Command Reference](commands/) for all available commands
- Explore the [Command Reference](commands/README.md) for all available commands
- See [Examples](../examples/) for more complex configurations
6 changes: 3 additions & 3 deletions pkg/provisioner/templates/kubernetes.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,13 +116,13 @@ with_retry 10 20s kubectl --kubeconfig $KUBECONFIG wait --for=condition=establis
# Apply custom resources with increased retry attempts
with_retry 10 20s kubectl --kubeconfig $KUBECONFIG apply -f https://raw.githubusercontent.com/projectcalico/calico/${CALICO_VERSION}/manifests/custom-resources.yaml

# Wait for cluster to be ready
with_retry 10 20s kubectl --kubeconfig $KUBECONFIG wait --for=condition=ready --timeout=300s nodes --all

# Make single-node cluster schedulable
kubectl taint nodes --all node-role.kubernetes.io/control-plane:NoSchedule-
kubectl label node --all node-role.kubernetes.io/worker=
kubectl label node --all nvidia.com/holodeck.managed=true

# Wait for cluster to be ready
with_retry 10 30s kubectl --kubeconfig $KUBECONFIG wait --for=condition=ready --timeout=300s nodes --all
`

const KindTemplate = `
Expand Down
Loading