Use npm config instead of GIT global config #3851
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: Check ORM (Sequel) usage | |
on: | |
push: | |
branches-ignore: | |
- master | |
jobs: | |
orm-check: | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- name: Checkout current repository | |
uses: actions/checkout@v2 | |
- name: Check if the last commit modified deprecated Sequel models | |
shell: bash | |
run: | | |
# This script will exit if any of these files is found in the head branch. | |
ORM_FILES=$(git grep -l 'class.*< Sequel::Model\|class DBService' -- app/models) | |
MODIFIED_FILES=() | |
while IFS='$\n' read -r c; do | |
# Mark files as modified if new lines have been added | |
added=$(echo $c | awk '{print $1}') | |
removed=$(echo $c | awk '{print $2}') | |
is_numeric='^[0-9]+$' | |
if [[ $added =~ $is_numeric && $removed =~ $is_numeric ]]; then | |
summary=$(( $added - $removed )) | |
filename=$(echo $c | awk '{for(i=3;i<=NF;++i)print $i}') | |
if [ $summary -gt 0 ]; then | |
for orm in $ORM_FILES; do | |
if [ $filename = $orm ]; then | |
MODIFIED_FILES+=($filename) | |
fi | |
done | |
fi | |
fi | |
done < <(git diff $(git merge-base $(git rev-parse HEAD) origin/master) --numstat) | |
if [[ ${#MODIFIED_FILES[@]} -gt 0 ]]; then | |
for i in ${MODIFIED_FILES[@]}; do | |
echo "::error file=$i::This file has been flagged to be migrated, please do not add new lines." | |
done | |
exit 1 | |
fi | |
exit 0 |