Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: tests

on:
push:
branches: [master, main]
paths:
- "gitcolombo.py"
- "test_gitcolombo.py"
- ".github/workflows/tests.yml"
pull_request:
paths:
- "gitcolombo.py"
- "test_gitcolombo.py"
- ".github/workflows/tests.yml"
workflow_dispatch:

jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Configure git identity (for end-to-end test)
run: |
git config --global user.name "ci"
git config --global user.email "ci@example.com"
git config --global init.defaultBranch main
git config --global commit.gpgsign false

- name: Run tests
run: python -m unittest test_gitcolombo -v

- name: Smoke-check CLI
run: python gitcolombo.py --help
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.DS_Store
repos/
__pycache__/
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ OSINT tool to extract info about persons from git repositories: common names, em
# from all GitHub personal/org repos by nickname
./gitcolombo.py --nickname LubyRuffy

# change where remote repos get cloned (default: ./repos)
./gitcolombo.py -u https://github.com/Kalanchyovskaia16/newlps --repos-dir ./clones

Remote repositories are cloned into `./repos/` by default; override with `--repos-dir`.

For batch cloning from Gitlab and Bitbucket group repos you can use [ghorg](https://github.com/gabrie30/ghorg).

Output:
Expand All @@ -35,6 +40,19 @@ Output:
- different names for the same person
- general statistics

### Testing

Stdlib-only test suite (`test_gitcolombo.py`), no third-party dependencies.
Run from the repo root:

python3 -m unittest test_gitcolombo -v

The end-to-end test creates a real git repository in a temp directory, so a
working `git` binary is required (the test is skipped if `git` is missing).

Tests run on every push and pull request via GitHub Actions
(`.github/workflows/tests.yml`) across Python 3.10–3.13.

### Details

[RUS] https://telegra.ph/Gitcolombo---OSINT-v-GitHub-03-02
Expand Down
Loading
Loading