Compare commits

...
30 Commits
Author SHA1 Message Date
Marcus Young bb19030a73 [Automated 🤖 ] Bump to version 2.274.2 2020-11-16 07:40:31 -06:00
Marcus Young 6213d66bcd [Automated 🤖 ] Bump to version 2.274.1 2020-11-09 08:30:50 -06:00
Marcus Young 1d5a155cc2 [Automated 🤖 ] Bump to version 2.274.0 2020-11-05 10:49:01 -06:00
Marcus Young a12ceeb0dd [Automated 🤖 ] Bump to version 2.274.0 2020-11-05 09:58:57 -06:00
Marcus Young ca70d18293 [Automated 🤖 ] Bump to version 2.274.0 2020-11-05 09:44:09 -06:00
myoung34andGitHub 06d8f4625d Merge pull request #71 from morihaya/readme-patch
fix: Kubernetes sample in README
2020-11-03 08:52:00 -06:00
morihaya a1281ef45c fix: Kubernetes sample in README 2020-11-03 23:07:17 +09:00
Marcus Young 9201778fad [Automated 🤖 ] Bump to version 2.273.6 2020-11-02 13:29:29 -06:00
Marcus Young bff29ac494 Revert docker-build-push action until a solution is found for it re-cloning and removing changes to the Dockerfile 2020-11-02 10:27:16 -06:00
Marcus Young e4be4ad005 Debug workflow 2020-11-02 09:29:31 -06:00
myoung34andGitHub 10017089e9 Merge pull request #69 from myoung34/platforms
Fix supported platforms
2020-11-02 09:23:43 -06:00
Marcus Young fa1de4a811 Fix supported platforms 2020-11-02 09:23:27 -06:00
myoung34andGitHub e17bf4910b Merge pull request #68 from myoung34/outputs
Use step outputs instead of env vars
2020-11-02 09:16:57 -06:00
Marcus Young d72e997be8 Use step outputs instead of env vars 2020-11-02 09:16:34 -06:00
myoung34andGitHub 76b0b01565 Merge pull request #67 from myoung34/syntax
Fix interpolation syntax
2020-11-02 08:53:20 -06:00
Marcus Young 42929b8d14 Fix interpolation syntax 2020-11-02 08:53:05 -06:00
myoung34andGitHub 594be32236 Merge pull request #66 from myoung34/fix_token
Fix user/pass
2020-11-02 08:49:34 -06:00
Marcus Young 952fa6436d Fix user/pass 2020-11-02 08:48:40 -06:00
myoung34andGitHub df396afc51 Merge pull request #65 from damacus/workflow/deploy
Update deploy & release workflows to use Docker Actions
2020-11-02 08:42:27 -06:00
Dan Webb 5ab9c36182 Update deploy & release workflows to use Docker Actions 2020-11-02 14:38:21 +00:00
myoung34andGitHub 123a06f31f Merge pull request #64 from damacus/base/update-workflow
Updates the base Dockerfile workflow to use Docker's GitHub Action
2020-11-02 08:36:47 -06:00
Dan Webb fa889767b2 Updates the base Dockerfile workflow to use Docker's GitHub Action
We now use the newer docker setup & build actions.
2020-11-02 14:02:35 +00:00
myoung34andGitHub 04f0651b9f Merge pull request #62 from damacus/configure/runner-group
Add the option to configure the RUNNER_GROUP on startup
2020-10-23 04:58:00 -05:00
myoung34andGitHub b7f8c8ffe7 Merge pull request #63 from damacus/update/base
Update docker-compose & git
2020-10-23 04:56:42 -05:00
Dan Webb bb7c15e231 Update docker-compose & git 2020-10-23 09:56:05 +01:00
Dan Webb bdfbe31f59 Add the option to configure the RUNNER_GROUP on startup
This adds the RUNNER_GROUP variable to configure which group the runner
is added to. Defaults to the "Default" runner group.
2020-10-23 09:43:24 +01:00
myoung34andGitHub 3e7ea713b6 Merge pull request #58 from Jorgen1040/readme-fix
Removed build from example docker-compose file
2020-10-09 18:10:37 -05:00
Jorgen1040 731f9b4d35 Removed build from example docker-compose file 2020-10-10 01:05:24 +02:00
myoung34andGitHub 6171bd339f Merge pull request #57 from nberrington-cloudian/support-setup-python
Add support for the setup-python action
2020-10-05 06:00:46 -05:00
Neil Berrington 8b2f017591 Add support for the setup-python action 2020-10-05 10:14:23 +01:00
4 changed files with 28 additions and 14 deletions
+4 -1
View File
@@ -2,7 +2,10 @@
FROM myoung34/github-runner-base:latest
LABEL maintainer="myoung34@my.apsu.edu"
ARG GH_RUNNER_VERSION="2.273.5"
ENV AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
RUN mkdir -p /opt/hostedtoolcache
ARG GH_RUNNER_VERSION="2.274.2"
ARG TARGETPLATFORM
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+2 -2
View File
@@ -1,11 +1,11 @@
FROM ubuntu:focal
LABEL maintainer="myoung34@my.apsu.edu"
ARG GIT_VERSION="2.26.2"
ARG GIT_VERSION="2.29.0"
ARG DUMB_INIT_VERSION="1.2.2"
ARG DOCKER_KEY="7EA0A9C3F273FCD8"
ENV DOCKER_COMPOSE_VERSION="1.26.2"
ENV DOCKER_COMPOSE_VERSION="1.27.4"
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ENV DEBIAN_FRONTEND=noninteractive
+20 -11
View File
@@ -29,6 +29,7 @@ These containers are built via Github actions that [copy the dockerfile](https:/
| `REPO_URL` | If using a non-organization runner this is the full repository url to register under such as 'https://github.com/myoung34/repo' |
| `RUNNER_TOKEN` | If not using a PAT for `ACCESS_TOKEN` this will be the runner token provided by the Add Runner UI (a manual process). Note: This token is short lived and will change frequently. `ACCESS_TOKEN` is likely preferred. |
| `RUNNER_WORKDIR` | The working directory for the runner. Runners on the same host should not share this directory. Default is '/_work'. This must match the source path for the bind-mounted volume at RUNNER_WORKDIR, in order for container actions to access files. |
| `RUNNER_GROUP` | Name of the runner group to add this runner to (defaults to the default runner group) |
## Examples ##
@@ -38,12 +39,13 @@ If you're using a RHEL based OS with SELinux, add `--security-opt=label=disable`
### Manual ###
```
# org runner
```shell
# org runner
docker run -d --restart always --name github-runner \
-e RUNNER_NAME_PREFIX="myrunner" \
-e ACCESS_TOKEN="footoken" \
-e RUNNER_WORKDIR="/tmp/github-runner-your-repo" \
-e RUNNER_GROUP="my-group" \
-e ORG_RUNNER="true" \
-e ORG_NAME="octokode" \
-e LABELS="my-label,other-label" \
@@ -56,6 +58,7 @@ docker run -d --restart always --name github-runner \
-e RUNNER_NAME="foo-runner" \
-e RUNNER_TOKEN="footoken" \
-e RUNNER_WORKDIR="/tmp/github-runner-your-repo" \
-e RUNNER_GROUP="my-group" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/github-runner-your-repo:/tmp/github-runner-your-repo \
myoung34/github-runner:latest
@@ -63,7 +66,7 @@ docker run -d --restart always --name github-runner \
Or shell wrapper:
```
```shell
function github-runner {
name=github-runner-${1//\//-}
org=$(dirname $1)
@@ -75,6 +78,7 @@ function github-runner {
-e RUNNER_TOKEN="$2" \
-e RUNNER_NAME="linux-${repo}" \
-e RUNNER_WORKDIR="/tmp/github-runner-${repo}" \
-e RUNNER_GROUP="my-group" \
-e LABELS="my-label,other-label" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/github-runner-${repo}:/tmp/github-runner-${repo} \
@@ -86,18 +90,19 @@ github-runner your-account/some-other-repo ARGHANOTHERGITHUBACTIONSTOKEN ubuntu-
```
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
RUNNER_GROUP: my-group
ORG_RUNNER: 'false'
LABELS: linux,x64,gpu
security_opt:
@@ -106,14 +111,14 @@ services:
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
- '/tmp/runner:/tmp/runner'
# note: a quirk of docker-in-docker is that this path
# 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 ###
```
```hcl
job "github_runner" {
datacenters = ["home"]
type = "system"
@@ -125,6 +130,7 @@ job "github_runner" {
ACCESS_TOKEN = "footoken"
RUNNER_NAME_PREFIX = "myrunner" \
RUNNER_WORKDIR = "/tmp/github-runner-your-repo"
RUNNER_GROUP = "my-group"
ORG_RUNNER = "true"
ORG_NAME = "octokode"
LABELS = "my-label,other-label"
@@ -144,7 +150,7 @@ job "github_runner" {
### Kubernetes ###
```
```yml
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -172,7 +178,7 @@ spec:
image: myoung34/github-runner:latest
env:
- name: ORG_RUNNER
value: true
value: "true"
- name: ORG_NAME
value: octokode
- name: LABELS
@@ -189,6 +195,8 @@ spec:
fieldPath: metadata.name
- name: RUNNER_WORKDIR
value: /tmp/github-runner-your-repo
- name: RUNNER_GROUP
value: my-group
volumeMounts:
- name: dockersock
mountPath: /var/run/docker.sock
@@ -198,7 +206,7 @@ spec:
## Usage From GH Actions Workflow ##
```
```yml
name: Package
on:
@@ -218,11 +226,12 @@ jobs:
A runner token can be automatically acquired at runtime if `ACCESS_TOKEN` (a GitHub personal access token) is a supplied. This uses the [GitHub Actions API](https://developer.github.com/v3/actions/self_hosted_runners/#create-a-registration-token). e.g.:
```
```shell
docker run -d --restart always --name github-runner \
-e ACCESS_TOKEN="footoken" \
-e RUNNER_NAME="foo-runner" \
-e RUNNER_WORKDIR="/tmp/github-runner-your-repo" \
-e RUNNER_GROUP="my-group" \
-e ORG_RUNNER="true" \
-e ORG_NAME="octokode" \
-e LABELS="my-label,other-label" \
@@ -242,5 +251,5 @@ Creating GitHub personal access token (PAT) for using by self-hosted runner make
* admin:org_hook
* notifications
* workflow
Also, when creating a PAT for self-hosted runner which will process events from several repositories of the particular organization, create the PAT using organization owner account. Otherwise your new PAT will not have sufficient privileges for all repositories.
+2
View File
@@ -14,6 +14,7 @@ deregister_runner() {
_RUNNER_NAME=${RUNNER_NAME:-${RUNNER_NAME_PREFIX:-github-runner}-$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo '')}
_RUNNER_WORKDIR=${RUNNER_WORKDIR:-/_work}
_LABELS=${LABELS:-default}
_RUNNER_GROUP=${RUNNER_GROUP:-Default}
_SHORT_URL=${REPO_URL}
if [[ ${ORG_RUNNER} == "true" ]]; then
@@ -33,6 +34,7 @@ echo "Configuring"
--name "${_RUNNER_NAME}" \
--work "${_RUNNER_WORKDIR}" \
--labels "${_LABELS}" \
--runnergroup "${_RUNNER_GROUP}" \
--unattended \
--replace