Add pre/postinstall scripts to prevent 'npm install' command from fai… #3853
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 |