Skip to main content

Adds tokens to GitHub and GitLab using browsercontroller.

Project description

Automatically get and set GitHub & GitLab personal access tokens/ssh deploy keys

Horrible boiler plate to automate 2 tasks in GitHub, and 1 in GitLab:

  1. Set an ssh deploy key in your GitHub account, such that you can push the GitLab build status icons to a specific (hardcoded) repository in your GitHub account.
  2. Generate and get/export a GitHub personal access token, such that you can set the commit statuses of your GitHub commits. (This is used to display the GitLab CI results in your GitHub repository pull requests).
  3. Get a GitLab runner token in your own GitLab server. (I did not yet find out how to do that through docker itself using bash only).

Usage: do once

Download/clone this repository.

  1. If you don't have pip: open Anaconda prompt and browse to the directory of this readme:
cd /home/<your path to the repository folder>/
  1. To use this package, first make a new conda environment and activate (it this automatically installs everything you need).
conda env create --file environment.yml

Usage: do every time you start Anaconda

  1. Activate the conda environment you created:
conda activate get_gitlab_generation_token

Usage: do every run (Set ssh-deploy key in GitHub for pushing build status icons)

python -m gitbrowserinteract --d --ssh <the public ssh key that was created>
  • The --d indicates you are setting the deploy ssh key in GitHub.
  • The -ssh <some ssh key> is used to absorb/take in the public ssh key that you want to add to github.

Usage: do every run

Create and get GitHub personal access token for setting commit build statuses

python -m gitbrowserinteract -hubcpat
  • The --hubcpat indicates you are letting GitHub create a personal access token and storing it.

More complete:

cd $repo_name && conda deactivate && conda activate get_gitlab_generation_token \
&& python -m gitbrowserinteract --hubcpat -hu $github_username -hp $github_pwd
cd $repo_name && conda deactivate && conda activate get_gitlab_generation_token \
&& python -m gitbrowserinteract --d -hu $github_username -hp $github_pwd

Usage: do every run (Create and get GitLab runnertoken)

python -m gitbrowserinteract --g

or, to run it from bash as a pip package:

python -m gitbrowserinteract.__main__ --glr
  • The --g indicates you are letting GitLab generate a personal access token and storing it.

Testing

  1. Testing is as simple as running the following command in the root directory of this repository in Anaconda prompt:
python -m pytest

from the root directory of this project.

Updating

Build the pip package with:

pip install --upgrade pip setuptools wheel
# pip install "keyring>=23.11"
pip install twine

Install the pip package locally with:

pip install -e .

Upload the pip package to the world with:

rm -r dist
rm -r build
python3 setup.py sdist bdist_wheel
python -m twine upload dist/\*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitbrowserinteract-0.0.5.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

gitbrowserinteract-0.0.5-py2.py3-none-any.whl (27.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file gitbrowserinteract-0.0.5.tar.gz.

File metadata

  • Download URL: gitbrowserinteract-0.0.5.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for gitbrowserinteract-0.0.5.tar.gz
Algorithm Hash digest
SHA256 f18175c5fb77cffba59b379b56e9c26c7e0d8de65818a81c76518a6e5366a83d
MD5 fb01e1a2a8fc89432e48a8fe14f8e344
BLAKE2b-256 c82db25fb181ca3a7b03cdce0c3041ca0d76dd38474734ade2dcac75a8bb7ad1

See more details on using hashes here.

File details

Details for the file gitbrowserinteract-0.0.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for gitbrowserinteract-0.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c44a27aff15e894ad6d0918b80a47e9aef59c89b714bf0560140d7f6d3d684de
MD5 e6e5a5ea63ac2a6beabd1b7067035101
BLAKE2b-256 44b416b7e3d31fef3df54467b950b8e5eff344b8eef541fb0295887a865c9f7f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page