-
Notifications
You must be signed in to change notification settings - Fork 56
Make use of self hosted runners #848
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -15,7 +15,51 @@ concurrency: | |
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| prepare-dell: | ||
| name: Activate self-host infrastructure | ||
| runs-on: self-hosted | ||
| steps: | ||
| - name: Send Magic Packet | ||
| env: | ||
| TARGET_IP: 192.168.100.30 | ||
| MAC_ADDR: a4:bb:6d:51:d5:d2 | ||
| # The container has no ping, emulate it. | ||
| run: | | ||
| # Mask the IP and potential broadcast to keep logs clean | ||
| echo "::add-mask::$MAC_ADDR" | ||
| echo "::add-mask::$BROADCAST" | ||
| echo "::add-mask::$TARGET_IP" | ||
| BROADCAST=$(echo $TARGET_IP | sed 's/\.[0-9]*$/ .255/' | tr -d ' ') | ||
| PING="timeout 1 bash -c 'cat < /dev/null > /dev/tcp/$TARGET_IP/22' 2>/dev/null" | ||
|
|
||
| # Install tool silently | ||
| sudo apt-get update -qq && sudo apt-get install -y -qq wakeonlan > /dev/null | ||
|
|
||
| # Check if already awake (using the Bash TCP PING variable) | ||
| if eval "$PING"; then | ||
| echo "Target machine is already awake. Exiting." | ||
| exit 0 | ||
| fi | ||
|
|
||
| # If offline, send WoL | ||
| echo "Machine is offline. Sending WoL..." | ||
| wakeonlan -i $BROADCAST $MAC_ADDR > /dev/null | ||
|
|
||
| # Wait & Verify Loop (checks every 10s for 4 minutes) | ||
| echo "Waiting for response (checking Port 22)..." | ||
| for i in {1..24}; do | ||
| if eval "$PING"; then | ||
| echo "Machine is online and SSH is ready." | ||
| exit 0 | ||
| fi | ||
| sleep 10 | ||
| done | ||
|
|
||
| echo "Error: Target hardware did not respond within the timeout period." | ||
| exit 1 | ||
|
Comment on lines
+18
to
+59
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure what this is actually doing, and how it activates the self hosted infrastructure. Took it from Clads workflows.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The self hosted runner will now try to run this section, but it fails. Since I don't know exactly what it does (I'm guessing the the comments it allows you to ssh into the runner for debug builds if needed), I don't know how to fix. |
||
|
|
||
| build: | ||
| needs: prepare-dell | ||
| name: ${{ matrix.name }} | ||
| runs-on: ${{ matrix.os }} | ||
| strategy: | ||
|
|
@@ -60,6 +104,13 @@ jobs: | |
| llvm_targets_to_build: "host;NVPTX" | ||
| python-version: '3.14' | ||
| # Ubuntu X86 Jobs | ||
| - name: self-hosted-ubu22-x86-gcc12-clang-repl-21-cuda | ||
| os: self-hosted | ||
| compiler: gcc-12 | ||
| clang-runtime: '21' | ||
| llvm_enable_projects: "clang" | ||
| llvm_targets_to_build: "host;NVPTX" | ||
| python-version: '3.14' | ||
| - name: ubu24-x86-gcc12-clang-repl-21 | ||
| os: ubuntu-24.04 | ||
| compiler: gcc-12 | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not running at the moment. Just displaying the below message. I was able to use the self hosted runners the other day, so hopefully this is just some Github issue, and will run soon.