80 lines
3.6 KiB
YAML
80 lines
3.6 KiB
YAML
name: Release ARC Runner Images
|
|
|
|
# Revert to https://github.com/actions-runner-controller/releases#releases
|
|
# for details on why we use this approach
|
|
on:
|
|
# We must do a trigger on a push: instead of a types: closed so GitHub Secrets
|
|
# are available to the workflow run
|
|
push:
|
|
branches:
|
|
- 'master'
|
|
paths:
|
|
- 'runner/VERSION'
|
|
- '.github/workflows/arc-release-runners.yaml'
|
|
|
|
env:
|
|
# Safeguard to prevent pushing images to registeries after build
|
|
PUSH_TO_REGISTRIES: true
|
|
TARGET_ORG: actions-runner-controller
|
|
TARGET_WORKFLOW: release-runners.yaml
|
|
DOCKER_VERSION: 20.10.23
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build-runners:
|
|
name: Trigger Build and Push of Runner Images
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Get runner version
|
|
id: versions
|
|
run: |
|
|
runner_current_version="$(echo -n $(cat runner/VERSION | grep 'RUNNER_VERSION=' | cut -d '=' -f2))"
|
|
container_hooks_current_version="$(echo -n $(cat runner/VERSION | grep 'RUNNER_CONTAINER_HOOKS_VERSION=' | cut -d '=' -f2))"
|
|
echo runner_version=$runner_current_version >> $GITHUB_OUTPUT
|
|
echo container_hooks_version=$container_hooks_current_version >> $GITHUB_OUTPUT
|
|
|
|
- name: Get Token
|
|
id: get_workflow_token
|
|
uses: peter-murray/workflow-application-token-action@8e1ba3bf1619726336414f1014e37f17fbadf1db
|
|
with:
|
|
application_id: ${{ secrets.ACTIONS_ACCESS_APP_ID }}
|
|
application_private_key: ${{ secrets.ACTIONS_ACCESS_PK }}
|
|
organization: ${{ env.TARGET_ORG }}
|
|
|
|
- name: Trigger Build And Push Runner Images To Registries
|
|
env:
|
|
RUNNER_VERSION: ${{ steps.versions.outputs.runner_version }}
|
|
CONTAINER_HOOKS_VERSION: ${{ steps.versions.outputs.container_hooks_version }}
|
|
run: |
|
|
# Authenticate
|
|
gh auth login --with-token <<< ${{ steps.get_workflow_token.outputs.token }}
|
|
|
|
# Trigger the workflow run
|
|
gh workflow run ${{ env.TARGET_WORKFLOW }} -R ${{ env.TARGET_ORG }}/releases \
|
|
-f runner_version=${{ env.RUNNER_VERSION }} \
|
|
-f docker_version=${{ env.DOCKER_VERSION }} \
|
|
-f runner_container_hooks_version=${{ env.CONTAINER_HOOKS_VERSION }} \
|
|
-f sha='${{ github.sha }}' \
|
|
-f push_to_registries=${{ env.PUSH_TO_REGISTRIES }}
|
|
|
|
- name: Job summary
|
|
env:
|
|
RUNNER_VERSION: ${{ steps.versions.outputs.runner_version }}
|
|
CONTAINER_HOOKS_VERSION: ${{ steps.versions.outputs.container_hooks_version }}
|
|
run: |
|
|
echo "The [release-runners.yaml](https://github.com/actions-runner-controller/releases/blob/main/.github/workflows/release-runners.yaml) workflow has been triggered!" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Parameters:**" >> $GITHUB_STEP_SUMMARY
|
|
echo "- runner_version: ${{ env.RUNNER_VERSION }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "- docker_version: ${{ env.DOCKER_VERSION }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "- runner_container_hooks_version: ${{ env.CONTAINER_HOOKS_VERSION }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "- sha: ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "- push_to_registries: ${{ env.PUSH_TO_REGISTRIES }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Status:**" >> $GITHUB_STEP_SUMMARY
|
|
echo "[https://github.com/actions-runner-controller/releases/actions/workflows/release-runners.yaml](https://github.com/actions-runner-controller/releases/actions/workflows/release-runners.yaml)" >> $GITHUB_STEP_SUMMARY
|