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
1 change: 0 additions & 1 deletion .github/workflows/container-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ jobs:
container:
- 'almalinux:9'
- 'fedora:latest'
- 'quay.io/pypa/manylinux2014_x86_64'
- 'quay.io/pypa/manylinux_2_28_x86_64'
version:
- latest
Expand Down
34 changes: 33 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,13 @@ Set up a specific version of NVIDIA CUDA in GitHub Actions.
- 🎯 **Flexible Version Specification**: Support for `latest`, `Major`, `Major.Minor`, or `Major.Minor.Patch` formats
- ⚡️ **Automatic Installation Method Selection**: Intelligently chooses between network and local installers
- 💻 **Cross-Platform Support**: Works on both Linux (x86_64 and ARM64) and Windows (x86_64) runners
- 🥗 **Supports Both Debian-based and Fedora-based Distributions**: Works seamlessly on Ubuntu, Debian, Fedora, AlmaLinux, and other related container/VM environments
- 🛠️ **Environment Configuration**: Automatically sets up all necessary environment variables
- ✅ **Supported Versions**: Supports CUDA versions >= 10.0

## Tested Platforms

- **Linux**: ubuntu-latest, ubuntu-24.04, ubuntu-22.04, ubuntu-24.04-arm, ubuntu-22.04-arm
- **Linux**: ubuntu-latest, ubuntu-24.04, ubuntu-22.04, ubuntu-24.04-arm, ubuntu-22.04-arm, fedora, almalinux, manylinux_2_28_x86_64
- **Windows**: windows-latest, windows-2025, windows-2022

## Quick Start
Expand Down Expand Up @@ -77,6 +78,37 @@ steps:
method: 'network' # or 'local', 'auto'
```

### Install CUDA on Fedora-based distribution

```yaml
TestContainer:
runs-on: ubuntu-latest
container:
image: fedora:latest

steps:
- name: Install System Dependencies
shell: bash
run: |
# POSIX-compatible redirection so it works even without bash
if command -v dnf >/dev/null 2>&1; then
echo "dnf found"
dnf install -y --allowerasing libxml2 wget gcc gcc-c++ make curl sudo git
elif command -v yum >/dev/null 2>&1; then
echo "yum found"
yum install -y libxml2 wget gcc gcc-c++ make curl sudo git
elif command -v apt-get >/dev/null 2>&1; then
echo "apt-get found"
apt-get update
apt-get install -y libxml2 curl wget build-essential sudo git
fi

- name: Setup CUDA
uses: mjun0812/setup-cuda@v1
with:
version: '12.4'
```

## Inputs

### `version`
Expand Down