Auto contributors will now try to merge with main before pushing #46
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: Automatically Add Contributors | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
types: | |
- closed | |
jobs: | |
update-contributors: | |
if: (github.event_name == 'push') || (github.event_name == 'pull_request' && github.event.pull_request.merged == true) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Python3.11 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
- name: Installing GitHub CLI | |
run: | | |
sudo apt install -y gh jq nodejs npm | |
- name: Install python packages | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r .github/workflows/contributors/requirements.txt | |
- name: Retrieving contributors for commit ${{ github.sha }} | |
run: | | |
echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." | |
echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" | |
echo "🔎 Getting all contributors from the ${{ github.ref }} branch." | |
PUSHED_CONTRIBUTORS=$(git shortlog -sne --no-merges ${{ github.event.before }}..${{ github.sha }}) | |
echo "The contributors are: $PUSHED_CONTRIBUTORS" | |
- name: Running Python Script to Update .all-contributorsrc | |
run: | | |
echo "Running Python Script to Update .all-contributorsrc" | |
python .github/workflows/contributors/update_contributors.py | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Using all-contributors CLI to update files | |
run: | | |
echo "Using all-contributors CLI to update files" | |
npm i -D all-contributors-cli | |
npx all-contributors generate | |
git config --global user.email "github-actions[bot]@users.noreply.github.com" | |
git config --global user.name "github-actions[bot]" | |
# Fetch the latest state of the master branch and try to rebase | |
git fetch origin main | |
git merge origin main | |
git add -u | |
git diff-index --quiet HEAD || git commit -m "Update readme and contributors.qmd with contributors" | |
git push |