generated from nyu-software-engineering/git-practice
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 8d5abd6
Showing
5 changed files
with
827 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
The files in this directory contain configuration settings for GitHub Actions (https://docs.github.com/en/actions). | ||
Do not modify the given files, although you are welcome to add additional files as needed. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
name: log github events | ||
on: | ||
push: | ||
branches: [main, master] | ||
pull_request: | ||
types: [opened, closed] | ||
branches: [main, master] | ||
jobs: | ||
log: | ||
runs-on: ubuntu-latest | ||
env: | ||
COMMIT_LOG_API: ${{ secrets.COMMIT_LOG_API }} | ||
GITHUB_LOGIN: ${{ github.actor }} # github login also available in github.triggering_actor, github.event.sender.login | ||
COMMITS: ${{ toJSON(github.event.commits) }} | ||
REPOSITORY_URL: ${{ github.repositoryUrl }} | ||
EVENT_TYPE: ${{ github.event_name }} | ||
EVENT_ACTION: ${{ github.event.action }} | ||
PR_MERGED: ${{ github.event.pull_request.merged }} | ||
PR_CREATED_AT: ${{ github.event.pull_request.created_at}} | ||
PR_CLOSED_AT: ${{ github.event.pull_request.closed_at}} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 # this is important so git fetches all history.. the actions/checkout by default fetches all history as one commit which throws off stats | ||
- uses: actions/setup-python@v3 | ||
with: | ||
python-version: "^3.9" | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install --user pipenv | ||
pipenv --python $(which python) | ||
pipenv install pytz | ||
pipenv install python-dateutil | ||
pipenv install build | ||
pipenv install requests | ||
pipenv install gitcommitlogger | ||
- name: Log pull request opened | ||
if: github.event_name == 'pull_request' && github.event.action == 'opened' | ||
run: | | ||
pipenv run gitcommitlogger -r $(echo $REPOSITORY_URL) -t pull_request_opened -d $(echo $PR_CREATED_AT) -un $(echo $GITHUB_LOGIN) -o commit_stats.csv -u $(echo $COMMIT_LOG_API) -v | ||
- name: Log pull request closed and merged | ||
if: github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == true | ||
run: | | ||
echo $COMMITS > commits.json | ||
cat commits.json # debugging | ||
pipenv run gitcommitlogger -r $(echo $REPOSITORY_URL) -t pull_request_merged -d $(echo $PR_CLOSED_AT) -un $(echo $GITHUB_LOGIN) -i commits.json -o commit_stats.csv -u $(echo $COMMIT_LOG_API) -v | ||
- name: Log pull request closed without merge | ||
if: github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == false | ||
run: | | ||
pipenv run gitcommitlogger -r $(echo $REPOSITORY_URL) -t pull_request_closed -d $(echo $PR_CLOSED_AT) -un $(echo $GITHUB_LOGIN) -o commit_stats.csv -u $(echo $COMMIT_LOG_API) -v | ||
- name: Log push | ||
if: github.event_name == 'push' | ||
run: | | ||
echo $COMMITS > commits.json | ||
cat commits.json # debugging | ||
pipenv run gitcommitlogger -r $(echo $REPOSITORY_URL) -t $(echo $EVENT_TYPE) -i commits.json -o commit_stats.csv -u $(echo $COMMIT_LOG_API) -v |
Oops, something went wrong.