Start selfhosted runner using ssh #35
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: Build ISO on selfhosted runner (ROCm) | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
vm-start: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Save ssh configuration | |
run: | | |
# Save ssh config | |
echo "$SSH_CONFIG" | base64 -d > ~/.ssh/config | |
# Save ssh known hosts | |
echo "$SSH_KNOWN_HOSTS" | base64 -d > ~/.ssh/known_hosts | |
# Save ssh private key | |
echo "$SSH_PRIVATE_KEY" | base64 -d > /tmp/private.key | |
# Fix permissions for private key | |
chmod 600 /tmp/private.key | |
- name: Start Github Actions Runner VM | |
run: | | |
ssh runner "virsh --connect=qemu:///system start GithubActions" | |
build: | |
needs: vm-start | |
runs-on: self-hosted | |
steps: | |
- name: Remove previous artifacts | |
run: | | |
sudo rm -fr out/ | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Build image | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: archlinux:latest | |
options: --privileged --rm --volume ${{ github.workspace }}:/workspace | |
run: | | |
# Exit on error | |
set -eu | |
# Enter project directory | |
pushd /workspace | |
# Install dependencies | |
.ci/dependencies.sh | |
# Patch mkarchiso | |
.ci/mkarchiso.sh | |
# Configure to use ROCm | |
.ci/configure.py rocm | |
popd | |
# Build image | |
mkarchiso -v -m iso -w /_work -o /workspace/out /workspace | |
- name: Create summary | |
run: | | |
# Exit on error | |
set -eu | |
# Print checksums to summary | |
sha256sum out/* > "$GITHUB_STEP_SUMMARY" | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: archiso-output | |
path: out/ | |
vm-stop: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Save ssh configuration | |
run: | | |
# Save ssh config | |
echo "$SSH_CONFIG" | base64 -d > ~/.ssh/config | |
# Save ssh known hosts | |
echo "$SSH_KNOWN_HOSTS" | base64 -d > ~/.ssh/known_hosts | |
# Save ssh private key | |
echo "$SSH_PRIVATE_KEY" | base64 -d > /tmp/private.key | |
# Fix permissions for private key | |
chmod 600 /tmp/private.key | |
- name: Stop Github Actions Runner VM | |
run: | | |
ssh runner "virsh --connect=qemu:///system shutdown GithubActions" |