diff --git a/.github/workflows/daily_collection.yaml b/.github/workflows/daily_collection.yaml index d6b879c..eddd3d3 100644 --- a/.github/workflows/daily_collection.yaml +++ b/.github/workflows/daily_collection.yaml @@ -25,7 +25,7 @@ jobs: run: | uv run gitmetrics collect -q \ --add-metrics \ - --config-file daily.yaml \ + --config-file daily_extraction_config.yaml \ --token ${{ secrets.GITHUB_TOKEN }} \ --output-folder ${{ secrets.OUTPUT_FOLDER }} env: diff --git a/.github/workflows/daily_summarize.yaml b/.github/workflows/daily_summarize.yaml index c09f0b3..c19d8b4 100644 --- a/.github/workflows/daily_summarize.yaml +++ b/.github/workflows/daily_summarize.yaml @@ -40,7 +40,7 @@ jobs: cd sdv-dev.github.io git config --local user.name "github-actions[bot]" git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add --force assets/GitHub_Summary.xlsx + git add --force assets/gitmetrics_growth_summary.xlsx git commit -m "Upload GitHub Summary - $(date '+%Y-%m-%d %H:%M:%S')" git remote set-url origin https://sdv-team:${{ secrets.GH_TOKEN }}@github.com/sdv-dev/sdv-dev.github.io git push origin gatsby-home diff --git a/.github/workflows/traffic_collection.yaml b/.github/workflows/traffic_collection.yaml index fa4c58a..1dca1bc 100644 --- a/.github/workflows/traffic_collection.yaml +++ b/.github/workflows/traffic_collection.yaml @@ -23,7 +23,7 @@ jobs: - name: Collect GitHub Traffic Data run: | uv run gitmetrics traffic \ - --config-file traffic_config.yaml \ + --config-file traffic_project_definitions.yaml \ --token ${{ secrets.GH_TOKEN }} \ --output-folder ${{ secrets.OUTPUT_FOLDER }} env: diff --git a/.github/workflows/weekly_collection.yaml b/.github/workflows/weekly_collection.yaml index 3e14b3e..3b71bec 100644 --- a/.github/workflows/weekly_collection.yaml +++ b/.github/workflows/weekly_collection.yaml @@ -24,7 +24,7 @@ jobs: run: | uv run gitmetrics collect -q \ --add-metrics \ - --config-file weekly.yaml \ + --config-file weekly_extraction_config.yaml \ --token ${{ secrets.GITHUB_TOKEN }} \ --output-folder ${{ secrets.OUTPUT_FOLDER }} env: @@ -32,7 +32,7 @@ jobs: - name: Consolidate GitHub Data run: | uv run gitmetrics consolidate \ - --config-file weekly.yaml \ + --config-file weekly_extraction_config.yaml \ --output-folder ${{ secrets.OUTPUT_FOLDER }} env: PYDRIVE_CREDENTIALS: ${{ secrets.PYDRIVE_CREDENTIALS }} diff --git a/README.md b/README.md index 86516bb..cd53cc5 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ Collect metrics from GitHub by running `gitmetrics` on your computer. You need t 1. A GitHub Token. Documentation about how to create a Personal Access Token can be found [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) -2. A list of GitHub Repositories for which to collect the metrics, defined in a YAML file. The repositories need to be given as `{org-name}/{repo-name}`, (e.g. `sdv-dev/SDV`). See [daily.yaml](./daily.yaml) for an example. +2. A list of GitHub Repositories for which to collect the metrics, defined in a YAML file. The repositories need to be given as `{org-name}/{repo-name}`, (e.g. `sdv-dev/SDV`). See [daily_summarization_config.yaml](./daily_summarization_config.yaml) for an example. 3. (__Optional__) A filename where the output will be stored. If a name containing the `.xlsx` extension is given (like `path/to/my-filename.xlsx`), it will be used as provided. Otherwise, a filename will be created as `github-metrics-{name}-{today}.xlsx` within @@ -77,7 +77,7 @@ Collect metrics from GitHub by running `gitmetrics` on your computer. You need t You can run gitmetrics with the following CLI command: ```shell -gitmetrics collect --token {GITHUB_TOKEN} --add-metrics --config-file daily.yaml +gitmetrics collect --token {GITHUB_TOKEN} --add-metrics --config-file daily_summarization_config.yaml ``` ## Google Drive Integration @@ -94,6 +94,6 @@ GitMetrics is capable of reading and writing results in Google Spreadsheets. The - See [instructions from PyDrive](https://pythonhosted.org/PyDrive/quickstart.html). ## Workflows -1. **Weekly Collection**: On a weekly basis, this workflow collects GitHub metrics for the repositories defined in [weekly.yaml](./weekly.yaml). -2. **Daily Collection**: On a daily basis, this workflow collects GitHub metrics for the repositories defined in [daily.yaml](./daily.yaml). -3. **Daily Summarize**: On a daily basis, this workflow summarizes the GitHub metrics (from the daily collection). The summarized data is published to a GitHub repo: [GitHub_Summary.xlsx](https://github.com/sdv-dev/sdv-dev.github.io/blob/gatsby-home/assets/GitHub_Summary.xlsx) +1. **Weekly Collection**: On a weekly basis, this workflow collects GitHub metrics for the repositories defined in [weekly_extraction_config.yaml](./weekly_extraction_config.yaml). +2. **Daily Collection**: On a daily basis, this workflow collects GitHub metrics for the repositories defined in [daily_summarization_config.yaml](./daily_summarization_config.yaml). +3. **Daily Summarize**: On a daily basis, this workflow summarizes the GitHub metrics (from the daily collection). The summarized data is published to a GitHub repo: [gitmetrics_growth_summary.xlsx](https://github.com/sdv-dev/sdv-dev.github.io/blob/gatsby-home/assets/gitmetrics_growth_summary.xlsx) diff --git a/daily.yaml b/daily_extraction_config.yaml similarity index 75% rename from daily.yaml rename to daily_extraction_config.yaml index 9eeb1b9..522df1f 100644 --- a/daily.yaml +++ b/daily_extraction_config.yaml @@ -1,4 +1,4 @@ -import_config: config.yaml +import_config: project_definitions.yaml projects: sdv-dev: gretel: diff --git a/summarize_config.yaml b/daily_summarization_config.yaml similarity index 100% rename from summarize_config.yaml rename to daily_summarization_config.yaml diff --git a/gitmetrics/__main__.py b/gitmetrics/__main__.py index 963d297..eb37524 100644 --- a/gitmetrics/__main__.py +++ b/gitmetrics/__main__.py @@ -15,6 +15,8 @@ LOGGER = logging.getLogger(__name__) +DEFAULT_PROJECT_DEFINITIONS = 'project_definitions.yaml' + def _env_setup(logfile, verbosity): warnings.simplefilter('ignore') @@ -195,7 +197,7 @@ def _get_parser(): '-c', '--config-file', type=str, - default='config.yaml', + default=DEFAULT_PROJECT_DEFINITIONS, help='Path to the configuration file.', ) collect.add_argument( @@ -221,7 +223,7 @@ def _get_parser(): '-c', '--config-file', type=str, - default='config.yaml', + default=DEFAULT_PROJECT_DEFINITIONS, help='Path to the configuration file.', ) consolidate.add_argument( @@ -249,7 +251,7 @@ def _get_parser(): '-c', '--config-file', type=str, - default='traffic_config.yaml', + default='traffic_project_definitions.yaml', help='Path to the configuration file.', ) traffic.add_argument( @@ -273,7 +275,7 @@ def _get_parser(): '-c', '--config-file', type=str, - default='summarize_config.yaml', + default='summarize_project_definitions.yaml', help='Path to the configuration file.', ) summarize.add_argument( diff --git a/gitmetrics/consolidate.py b/gitmetrics/consolidate.py index 6289e79..f0998ff 100644 --- a/gitmetrics/consolidate.py +++ b/gitmetrics/consolidate.py @@ -14,7 +14,7 @@ ) from gitmetrics.output import create_spreadsheet, load_spreadsheet -OUTPUT_FILENAME = 'Consolidated_Overview' +OUTPUT_FILENAME = 'gitmetrics_consolidated_summary_to_date' SHEET_NAME = 'Overview' LOGGER = logging.getLogger(__name__) diff --git a/gitmetrics/summarize.py b/gitmetrics/summarize.py index 61e208a..e6c955c 100644 --- a/gitmetrics/summarize.py +++ b/gitmetrics/summarize.py @@ -55,7 +55,7 @@ def summarize_metrics( The folder containing the location of the collected GitHub metrics. The folder must only contain spreadsheet (xlsx) files. The name of each file must match the `github_org` (lowercase) in - summarize_config.yaml. + summarize_project_definitions.yaml. The GitHub metrics are computed from the xlsx files in this folder. dry_run (bool): diff --git a/config.yaml b/project_definitions.yaml similarity index 100% rename from config.yaml rename to project_definitions.yaml diff --git a/pyproject.toml b/pyproject.toml index 89dfc54..a259485 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -88,7 +88,6 @@ ignore = [ # pydocstyle "D107", # Missing docstring in __init__ "D417", # Missing argument descriptions in the docstring, this is a bug from pydocstyle: https://github.com/PyCQA/pydocstyle/issues/449 - "PD901", "PD101", ] diff --git a/weekly.yaml b/weekly_extraction_config.yaml similarity index 85% rename from weekly.yaml rename to weekly_extraction_config.yaml index 0ea2c96..76fcbe7 100644 --- a/weekly.yaml +++ b/weekly_extraction_config.yaml @@ -1,4 +1,4 @@ -import_config: config.yaml +import_config: project_definitions.yaml projects: PyTorchLightning: airbyte: