Fix username issue #64
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
name: Update leader board after submission merge. | |
on: | |
push: | |
branches: | |
- development | |
jobs: | |
update-file: | |
if: github.repository == 'infocusp/llm_seminar_series' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 10 | |
- name: Get current commit details | |
id: commit_info | |
run: | | |
commit_author=$(git log --format='%an' -1) | |
commit_email=$(git log --format='%ae' -1) | |
echo "Current commit author is $commit_author ($commit_email)" | |
echo "commit_author=$commit_author" >> "$GITHUB_ENV" | |
echo "commit_email=$commit_email" >> "$GITHUB_ENV" | |
- name: Get merge commit hash | |
id: merge_commit | |
run: | | |
merge_commit=$(git log --merges --pretty=format:%H -1 $GITHUB_SHA) | |
echo "Found merge commit: $merge_commit" | |
echo "merge_commit=$merge_commit" >> "$GITHUB_ENV" | |
# Merge commit has maintainer's name so we get name from second last commit | |
- name: Get original author's name | |
id: original_author | |
run: | | |
merge_commit=$(git log --merges --pretty=format:%H -1 $GITHUB_SHA) | |
echo "Found merge commit=$merge_commit" | |
echo "merge_commit=$merge_commit" >> "$GITHUB_ENV" | |
- name: Set original author | |
run: | | |
if [ -n "$merge_commit" ] && [ "$GITHUB_SHA" = "$merge_commit" ]; then | |
original_author=$(git log --format='%an' -n 2 $merge_commit | tail -n 1) | |
original_email=$(git log --format='%ae' -n 2 $merge_commit | tail -n 1) | |
echo "Author of original commit is $original_author ($original_email)" | |
else | |
original_author=$commit_author | |
original_email=$commit_email | |
echo "No merge commit found. Setting original author as $commit_author($commit_email)." | |
fi | |
echo "original_author=$original_author" >> "$GITHUB_ENV" | |
echo "original_email=$original_email" >> "$GITHUB_ENV" | |
# # Merge commit has maintainer's name so we get name from second last commit | |
# - name: Get original author's name | |
# id: original_author | |
# run: | | |
# echo "Passed merge commit: $merge_commit" | |
# echo "$(git log --format='%ae' -n 2 $merge_commit)" | |
# original_author=$(git log --format='%an' -n 2 $merge_commit | tail -n 1) | |
# original_email=$(git log --format='%ae' -n 2 $merge_commit | tail -n 1) | |
# echo "Author of original commit is $original_author ($original_email)" | |
# # echo "::set-output name=original_author::$original_author" | |
# echo "original_author=$original_author" >> "$GITHUB_ENV" | |
- name: Check if there are any changes in submissions dir | |
uses: dorny/[email protected] | |
id: changes | |
with: | |
# Use context to get the branch where commits were pushed. | |
# If there is only one long-lived branch (e.g. master), | |
# you can specify it directly. | |
# If it's not configured, the repository default branch is used. | |
base: ${{ github.ref }} | |
filters: | | |
src: | |
- added|modified: 'session_2/challenge/submissions/**' | |
list-files: "shell" | |
- name: Print changed files | |
run: | | |
echo '${{ toJSON(steps.changes.outputs) }}' | |
- if: ${{ (steps.changes.outputs.src_count > 1) }} | |
uses: actions/github-script@v7 | |
with: | |
script: core.setFailed('More than one submissions are not allowed at once.') | |
- if: ${{ (steps.changes.outputs.src == 'true') && (steps.changes.outputs.src_count == 1) }} | |
name: Install Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- if: ${{ (steps.changes.outputs.src == 'true') && (steps.changes.outputs.src_count == 1) }} | |
name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r session_2/challenge/requirements.txt | |
- if: ${{ (steps.changes.outputs.src == 'true') && (steps.changes.outputs.src_count == 1) }} | |
name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r session_2/challenge/requirements.txt | |
- if: ${{ (steps.changes.outputs.src == 'true') && (steps.changes.outputs.src_count == 1) }} | |
name: Run leaderboard update script | |
id: leaderboard-update | |
run: | | |
cd session_2/challenge | |
filename=$(basename "${{ steps.changes.outputs.src_files }}") | |
filename_without_extension="${filename%.*}" # Remove extension | |
echo "Author name: $original_author | Submission name: $filename_without_extension" | |
python -m scripts.leaderboard --github_name="$original_author" --prompt="$filename_without_extension" | |
- if: ${{ (steps.changes.outputs.src == 'true') && (steps.changes.outputs.src_count == 1) }} | |
name: Commit changes | |
uses: EndBug/add-and-commit@v9 | |
with: | |
message: Updated leaderboard | |
default_author: github_actions |