Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
48ee0c82d4 | ||
|
|
a3b5dc873d | ||
|
|
632d9e59ad | ||
|
|
3ef0c00503 | ||
|
|
47144a0075 | ||
|
|
5080efc02c | ||
|
|
de737c2bff | ||
|
|
d3302f81d6 | ||
|
|
94765718f8 | ||
|
|
35e638434c | ||
|
|
d0dfd51b8f | ||
|
|
6bb8d76ea2 | ||
|
|
d18d41c831 | ||
|
|
449d82760a | ||
|
|
f47c515abd |
@@ -0,0 +1,3 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: myoung34
|
||||
@@ -1,15 +1,29 @@
|
||||
name: GitHub Actions Runner in Docker - Release
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- Dockerfile.base
|
||||
- README.md
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
create-release:
|
||||
name: Create Release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ github.ref }}
|
||||
release_name: Release ${{ github.ref }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
ubuntu_latest_tag:
|
||||
runs-on: ubuntu-latest
|
||||
needs: create-release
|
||||
steps:
|
||||
- name: Copy Repo Files
|
||||
uses: actions/checkout@master
|
||||
@@ -30,6 +44,7 @@ jobs:
|
||||
run: docker buildx build -f Dockerfile -t ${ORG}/github-runner:${TAG} --output "type=image,push=true" --platform linux/amd64,linux/arm/v7,linux/arm64 .
|
||||
ubuntu_bionic_tag:
|
||||
runs-on: ubuntu-latest
|
||||
needs: create-release
|
||||
steps:
|
||||
- name: Copy Repo Files
|
||||
uses: actions/checkout@master
|
||||
@@ -52,6 +67,7 @@ jobs:
|
||||
run: docker buildx build -f Dockerfile.ubuntu-bionic -t ${ORG}/github-runner:${TAG}-ubuntu-bionic --output "type=image,push=true" --platform linux/amd64,linux/arm/v7,linux/arm64 .
|
||||
ubuntu_xenial_tag:
|
||||
runs-on: ubuntu-latest
|
||||
needs: create-release
|
||||
steps:
|
||||
- name: Copy Repo Files
|
||||
uses: actions/checkout@master
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
FROM myoung34/github-runner-base:latest
|
||||
LABEL maintainer="myoung34@my.apsu.edu"
|
||||
|
||||
ARG GH_RUNNER_VERSION="2.169.1"
|
||||
ARG GH_RUNNER_VERSION="2.263.0"
|
||||
ARG TARGETPLATFORM
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
Docker Github Actions Runner
|
||||
============================
|
||||
|
||||
[](https://hub.docker.com/r/myoung34/github-runner)
|
||||
|
||||
This will run the [new self-hosted github actions runners](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/hosting-your-own-runners).
|
||||
|
||||
This has been tested and verified on:
|
||||
@@ -70,6 +72,33 @@ github-runner your-account/your-repo AARGHTHISISYOURGHACTIONSTOKEN
|
||||
github-runner your-account/some-other-repo ARGHANOTHERGITHUBACTIONSTOKEN ubuntu-xenial
|
||||
```
|
||||
|
||||
Or `docker-compose.yml`:
|
||||
```yml
|
||||
version: '2.3'
|
||||
|
||||
services:
|
||||
worker:
|
||||
build: .
|
||||
image: myoung34/github-runner:latest
|
||||
environment:
|
||||
REPO_URL: https://github.com/example/repo
|
||||
RUNNER_NAME: example-name
|
||||
RUNNER_TOKEN: someGithubTokenHere
|
||||
RUNNER_WORKDIR: /tmp/runner/work
|
||||
ORG_RUNNER: true
|
||||
ORG_NAME: example-github-org
|
||||
LABELS: linux,x64,gpu
|
||||
security_opt:
|
||||
# needed on SELinux systems to allow docker container to manage other docker containers
|
||||
- label:disable
|
||||
volumes:
|
||||
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||
- '/tmp/runner:/tmp/runner'
|
||||
# note: a quirk of docker-in-docker is that this path
|
||||
# needs to be the same path on host and inside the container,
|
||||
# docker mgmt cmds run outside of docker but expect the paths from within
|
||||
```
|
||||
|
||||
### Nomad ###
|
||||
|
||||
```
|
||||
|
||||
+12
-4
@@ -7,6 +7,7 @@ _RUNNER_NAME=${RUNNER_NAME:-default}
|
||||
_RUNNER_WORKDIR=${RUNNER_WORKDIR:-/_work}
|
||||
_ORG_RUNNER=${ORG_RUNNER:-false}
|
||||
_LABELS=${LABELS:-default}
|
||||
_SHORT_URL=${REPO_URL}
|
||||
|
||||
if [[ -n "${ACCESS_TOKEN}" ]]; then
|
||||
URI=https://api.github.com
|
||||
@@ -22,13 +23,11 @@ if [[ -n "${ACCESS_TOKEN}" ]]; then
|
||||
_REPO="$(echo "${_PATH}" | cut -d/ -f2)"
|
||||
|
||||
_FULL_URI="${URI}/repos/${_ACCOUNT}/${_REPO}/actions/runners/registration-token"
|
||||
_SHORT_URL="${REPO_URL}"
|
||||
if [[ ${_ORG_RUNNER} == "true" ]]; then
|
||||
[[ -z ${ORG_NAME} ]] && ( echo "ORG_NAME required for org runners"; exit 1 )
|
||||
_FULL_URI="${URI}/orgs/${ORG_NAME}/actions/runners/registration-token"
|
||||
_SHORT_URL="${_PROTO}github.com/${ORG_NAME}"
|
||||
fi
|
||||
echo curl -XPOST -fsSL -H "${AUTH_HEADER}" -H "${API_HEADER}" "${_FULL_URI}"
|
||||
RUNNER_TOKEN="$(curl -XPOST -fsSL \
|
||||
-H "${AUTH_HEADER}" \
|
||||
-H "${API_HEADER}" \
|
||||
@@ -37,5 +36,14 @@ if [[ -n "${ACCESS_TOKEN}" ]]; then
|
||||
fi
|
||||
|
||||
echo "Configuring"
|
||||
./config.sh --url "${_SHORT_URL}" --token "${RUNNER_TOKEN}" --name "${_RUNNER_NAME}" --work "${_RUNNER_WORKDIR}" --labels "${_LABELS}" --replace
|
||||
./run.sh
|
||||
|
||||
./config.sh \
|
||||
--url "${_SHORT_URL}" \
|
||||
--token "${RUNNER_TOKEN}" \
|
||||
--name "${_RUNNER_NAME}" \
|
||||
--work "${_RUNNER_WORKDIR}" \
|
||||
--labels "${_LABELS}" \
|
||||
--unattended \
|
||||
--replace
|
||||
|
||||
./bin/runsvc.sh
|
||||
|
||||
Reference in New Issue
Block a user