-
Notifications
You must be signed in to change notification settings - Fork 98
97 lines (83 loc) · 2.8 KB
/
validate-js.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
86
87
88
89
90
91
92
93
94
95
96
97
name: Validate JS
on:
push:
branches:
- 0.x
paths:
- '.github/workflows/validate-js.yml'
- '*.lock*'
- 'packages/react-native-quick-crypto/src/**'
- 'packages/react-native-quick-crypto/*.json'
- 'packages/react-native-quick-crypto/*.js'
- 'packages/react-native-quick-crypto/*.lock*'
- 'packages/example/src/**'
- 'packages/example/*.json'
- 'packages/example/*.js'
- 'packages/example/*.lock*'
- 'packages/example/*.tsx'
pull_request:
paths:
- '.github/workflows/validate-js.yml'
- '*.lock*'
- 'packages/react-native-quick-crypto/src/**'
- 'packages/react-native-quick-crypto/*.json'
- 'packages/react-native-quick-crypto/*.js'
- 'packages/react-native-quick-crypto/*.lock*'
- 'packages/example/src/**'
- 'packages/example/*.json'
- 'packages/example/*.js'
- 'packages/example/*.lock*'
- 'packages/example/*.tsx'
jobs:
compile_js:
name: Compile JS (tsc)
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.1.26
- name: Install reviewdog
uses: reviewdog/action-setup@v1
- name: Bootstrap JS
run: |
bun install
- name: Run TypeScript # Reviewdog tsc errorformat: %f:%l:%c - error TS%n: %m
run: |
bun tsc | reviewdog -name="tsc" -efm="%f(%l,%c): error TS%n: %m" -reporter="github-pr-review" -filter-mode="nofilter" -fail-on-error -tee
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run TypeScript in example/ # Reviewdog tsc errorformat: %f:%l:%c - error TS%n: %m
run: |
cd packages/example && bun tsc | reviewdog -name="tsc" -efm="%f(%l,%c): error TS%n: %m" -reporter="github-pr-review" -filter-mode="nofilter" -fail-on-error -tee && cd ..
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Test JS
run: bun test
lint_js:
name: JS Lint (eslint, prettier)
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.1.26
- name: Bootstrap JS
run: |
bun install
- name: Run ESLint/Prettier (rnqc)
working-directory: packages/react-native-quick-crypto
run: |
bun lint:fix
bun format:fix
- name: Run ESLint/Prettier (example)
working-directory: packages/example
run: |
bun lint:fix
bun format:fix
- name: Verify no files have changed after auto-fix
run: git diff --exit-code HEAD -- . ':(exclude)bun.lockb'