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: 24.0.7 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@v5 - 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@d17e3a9a36850ea89f35db16c1067dd2b68ee343 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