This container handles the gathering of Ansible GitHub data, and saves it to a pin in the mounted pins folder
This container requires two mount points:
- a config dir mounted to
/srv/docker-config/github
for the tokens, lists, and email config - a
pins
dir mounted to/srv/docker-pins/github
for storing/reading data
Inside the container it should look like this:
/srv/docker-config
└── github
├── email.yml
├── github.token
└── repos.yml
/srv/docker-pins
└── github
This file will be sourced as a Sys.env file and should be in the format as seen in the example file - just replace the placeholder with your token. It needs public_repo, read:org
as a scope.
See the example - it's a list of orgs, repos, and collections (dereferenced through Galaxy) of interest.
I'm assuming a Gmail account in the code, just provide a file that looks like the example in this repo.
podman build --tag github-pins .
All the tasks are designed for a single execution
This builds a pin
of the repos of interest only - as such it runs quite quickly.
podman run --rm -ti \
-v /srv/docker-config/github/:/srv/docker-config/github \
-v /srv/docker-pins/github:/srv/docker-pins/github \
github:latest Rscript get_repos.R
This builds a pin
of the issues, PRs, and associated comments in the repo list. With a single GH token it can take over 17 hours, so for testing use a smaller repos pin
.
podman run --rm -ti \
-v /srv/docker-config/github/:/srv/docker-config/github \
-v /srv/docker-pins/github:/srv/docker-pins/github \
github:latest Rscript get_issues_and_prs.R
You can run an R shell in the container - this is the container default:
podman run --rm -ti \
-v /srv/docker-config/github/:/srv/docker-config/github \
-v /srv/docker-pins/github:/srv/docker-pins/github \
github:latest