-
Notifications
You must be signed in to change notification settings - Fork 5.3k
85 lines (75 loc) · 2.75 KB
/
ci-fix.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: CI
on:
pull_request:
branches: [ master ]
permissions:
contents: write # to fetch code (actions/checkout)
pull-requests: write
jobs:
update-docs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v2
- name: Checkout PR
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh pr checkout ${{ github.event.pull_request.number }}
- name: echo
run: |
set -x
echo ${{ github.event.pull_request.base.repo.full_name }}
echo $GITHUB_REPOSITORY
env
- name: Fetch the master branch
run: git fetch origin HEAD:refs/remotes/origin/HEAD --depth 1
- name: Fetch the master branch
run: git diff --name-only origin/HEAD --no-renames --diff-filter=ACMR
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm i
# run linter
- run: |
set -x;
git status;
git checkout HEAD -- package.json;
changes=$(git diff --name-only origin/HEAD --no-renames --diff-filter=ACMR);
if [ "$changes" == "" ]; then
echo "checking all files";
node node_modules/eslint/bin/eslint --fix "lib/ace/**/*.js";
else
jsChanges=$(echo "$changes" | grep -P '.js$' || :);
if [ "$jsChanges" == "" ]; then
echo "nothing to check";
else
echo "checking $jsChanges";
node node_modules/eslint/bin/eslint --fix $jsChanges;
fi
fi
# check types
- run: npm run update-types
- run: node_modules/.bin/tsc --noImplicitAny --strict --noUnusedLocals --noImplicitReturns --noUnusedParameters --noImplicitThis ace.d.ts
- run: npm run typecheck
# push automatic fixes to the pull request
- run: |
set -x;
git status;
git add -u
git reset -- build
git config user.name "Ace Ci Bot"
git config user.email "bot@c9.io"
git commit -m "ci fixes" --author="Ace Ci Bot <bot@c9.io>"
git branch -f CI_FIXES
git remote -v
git log --all --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -- | head -n 100
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}