Skip to content

Commit

Permalink
chore(ci): test start-stop aws instance
Browse files Browse the repository at this point in the history
  • Loading branch information
soonum committed Nov 19, 2024
1 parent 801df0b commit 57d3e5f
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 4 deletions.
44 changes: 42 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ jobs:
id: npm-ci-test
run: npm run ci-test

test-action:
name: GitHub Actions Test
test-action-spawn-terminate:
name: GitHub Actions Test (spawn -> terminate)
runs-on: ubuntu-latest
strategy:
matrix:
Expand All @@ -66,6 +66,11 @@ jobs:
backend: ${{ matrix.provider }}
profile: ci-test

- name: Test runner is alive
uses: ./.github/workflows/registered_runner.yml
with:
runner-name: ${{ steps.test-start.outputs.label }}

- name: Test stop instance
id: test-stop
if: ${{ always() }}
Expand All @@ -76,3 +81,38 @@ jobs:
slab-url: ${{ secrets.SLAB_BASE_URL_PRE_PROD }}
job-secret: ${{ secrets.JOB_SECRET }}
label: ${{ steps.test-start.outputs.label }}

test-action-start-stop:
name: GitHub Actions Test (start -> stop)
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871

- name: Test start instance
id: test-start
uses: ./
with:
mode: start
github-token: ${{ secrets.SLAB_ACTION_TOKEN }}
slab-url: ${{ secrets.SLAB_BASE_URL_PRE_PROD }}
job-secret: ${{ secrets.JOB_SECRET }}
backend: aws
profile: ci-test-start-stop

- name: Test runner is alive
uses: ./.github/workflows/registered_runner.yml
with:
runner-name: ci-persistent-runner

- name: Test stop instance
id: test-stop
if: ${{ always() }}
uses: ./
with:
mode: stop
github-token: ${{ secrets.SLAB_ACTION_TOKEN }}
slab-url: ${{ secrets.SLAB_BASE_URL_PRE_PROD }}
job-secret: ${{ secrets.JOB_SECRET }}
label: ci-persistent-runner
19 changes: 19 additions & 0 deletions .github/workflows/registered_runner.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# This simple workflow is used to test if a runner is registered on GitHub platform.
name: Test registered runner

on:
workflow_call:
inputs:
runner-name:
required: true
type: string

jobs:
test-runner:
name: Test Runner
runs-on: ${{ inputs.runner-name }}
timeout-minutes: 5 # Job should be picked very quickly
steps:
- name: Checkout
id: checkout
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871
8 changes: 8 additions & 0 deletions ci/slab.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ image_id = "ami-01d21b7be69801c2f" # Ubuntu 22.04
instance_type = "t3.2xlarge"
user = "ubuntu"

# This instance is a persistent one with a runner already registered
[backend.aws.ci-test-start-stop]
region = "eu-west-3"
image_id = "ami-01d21b7be69801c2f" # Ubuntu 22.04
instance_type = "t3.2xlarge"
instance_id = "i-042a592f53f5ab592"
runner_name = "ci-persistent-runner"

[backend.hyperstack.ci-test]
environment_name = "canada"
image_name = "Ubuntu Server 22.04 LTS R535 CUDA 12.2"
Expand Down
2 changes: 1 addition & 1 deletion dist/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/gh.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ async function waitForRunnerRegistered(label) {
)
await utils.sleep(quietPeriodSeconds)
core.info(
`Checking every ${retryIntervalSeconds}s if the GitHub self-hosted runner is registered`
`Checking every ${retryIntervalSeconds}s if the GitHub self-hosted runner is registered (runner: ${label})`
)

while (waitSeconds < timeoutSeconds) {
Expand Down

0 comments on commit 57d3e5f

Please sign in to comment.