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/githubfor the tokens, lists, and email config
- a pinsdir mounted to/srv/docker-pins/githubfor 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