-
-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* fix: Fix GitHub Actions * Create validate-js.yml * Format * Update clang-format.sh * fix: Fix pods * Update validate-cpp.yml * Fix JS * Remove libs before linting c++ * Update package.json * Bundle * Update package.json * use ESLint from VC * fix * Update build-ios.yml
- Loading branch information
Showing
21 changed files
with
1,168 additions
and
127 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
module.exports = { | ||
root: true, | ||
parser: '@typescript-eslint/parser', | ||
parserOptions: { | ||
tsconfigRootDir: __dirname, | ||
project: ['./tsconfig.json'], | ||
ecmaFeatures: { | ||
jsx: true, | ||
}, | ||
ecmaVersion: 2018, | ||
sourceType: 'module', | ||
}, | ||
ignorePatterns: ['scripts', 'lib', 'docs', 'example', 'tensorflow'], | ||
plugins: ['@typescript-eslint'], | ||
extends: ['plugin:@typescript-eslint/recommended', '@react-native-community'], | ||
rules: { | ||
// eslint | ||
'semi': 'off', | ||
'curly': ['warn', 'multi-or-nest', 'consistent'], | ||
'no-mixed-spaces-and-tabs': ['warn', 'smart-tabs'], | ||
'no-async-promise-executor': 'warn', | ||
'require-await': 'warn', | ||
'no-return-await': 'warn', | ||
'no-await-in-loop': 'warn', | ||
'comma-dangle': 'off', // prettier already detects this | ||
'no-restricted-syntax': [ | ||
'error', | ||
{ | ||
selector: 'TSEnumDeclaration', | ||
message: | ||
"Enums have various disadvantages, use TypeScript's union types instead.", | ||
}, | ||
], | ||
// prettier | ||
'prettier/prettier': ['warn'], | ||
// typescript | ||
'@typescript-eslint/no-use-before-define': 'off', | ||
'@typescript-eslint/no-unused-vars': [ | ||
'error', | ||
{ | ||
vars: 'all', | ||
args: 'after-used', | ||
ignoreRestSiblings: false, | ||
varsIgnorePattern: '^_', | ||
argsIgnorePattern: '^_', | ||
}, | ||
], | ||
'@typescript-eslint/explicit-function-return-type': [ | ||
'warn', | ||
{ | ||
allowExpressions: true, | ||
}, | ||
], | ||
'@typescript-eslint/no-namespace': 'off', | ||
'@typescript-eslint/ban-ts-comment': 'off', | ||
'@typescript-eslint/no-unsafe-assignment': 'error', | ||
// react plugin | ||
'react/no-unescaped-entities': 'off', | ||
// react native plugin | ||
'react-native/no-unused-styles': 'warn', | ||
'react-native/split-platform-components': 'off', | ||
'react-native/no-inline-styles': 'warn', | ||
'react-native/no-color-literals': 'off', | ||
'react-native/no-raw-text': 'off', | ||
'react-native/no-single-element-style-arrays': 'warn', | ||
'@typescript-eslint/strict-boolean-expressions': [ | ||
'error', | ||
{ | ||
allowString: false, | ||
allowNullableObject: false, | ||
allowNumber: false, | ||
allowNullableBoolean: true, | ||
}, | ||
], | ||
'@typescript-eslint/no-non-null-assertion': 'error', | ||
'@typescript-eslint/no-unnecessary-condition': 'error', | ||
}, | ||
env: { | ||
node: true, | ||
}, | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
name: Build Android | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
paths: | ||
- '.github/workflows/build-android.yml' | ||
- 'cpp/**' | ||
- 'android/**' | ||
- 'example/android/**' | ||
- 'yarn.lock' | ||
- 'example/yarn.lock' | ||
pull_request: | ||
paths: | ||
- '.github/workflows/build-android.yml' | ||
- 'cpp/**' | ||
- 'android/**' | ||
- 'example/android/**' | ||
- 'yarn.lock' | ||
- 'example/yarn.lock' | ||
|
||
jobs: | ||
build: | ||
name: Build Android Example App | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Setup JDK 11 | ||
uses: actions/setup-java@v2 | ||
with: | ||
distribution: 'zulu' | ||
java-version: 11 | ||
java-package: jdk | ||
|
||
- name: Get yarn cache directory path | ||
id: yarn-cache-dir-path | ||
run: echo "::set-output name=dir::$(yarn cache dir)" | ||
- name: Restore node_modules from cache | ||
uses: actions/cache@v3 | ||
id: yarn-cache | ||
with: | ||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | ||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-yarn- | ||
- name: Install node_modules | ||
run: yarn install --frozen-lockfile | ||
- name: Install node_modules for example/ | ||
run: yarn install --frozen-lockfile --cwd example | ||
|
||
- name: Restore Gradle cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | ||
restore-keys: | | ||
${{ runner.os }}-gradle- | ||
- name: Run Gradle Build for example/android/ | ||
run: cd example/android && ./gradlew assembleDebug --build-cache && cd ../.. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
name: Build iOS | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
paths: | ||
- '.github/workflows/build-ios.yml' | ||
- 'cpp/**' | ||
- 'ios/**' | ||
- '*.podspec' | ||
- 'example/ios/**' | ||
pull_request: | ||
paths: | ||
- '.github/workflows/build-ios.yml' | ||
- 'cpp/**' | ||
- 'ios/**' | ||
- '*.podspec' | ||
- 'example/ios/**' | ||
|
||
jobs: | ||
build: | ||
name: Build iOS Example App | ||
runs-on: macOS-latest | ||
defaults: | ||
run: | ||
working-directory: example/ios | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Get yarn cache directory path | ||
id: yarn-cache-dir-path | ||
run: echo "::set-output name=dir::$(yarn cache dir)" | ||
- name: Restore node_modules from cache | ||
uses: actions/cache@v3 | ||
id: yarn-cache | ||
with: | ||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | ||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-yarn- | ||
- name: Install node_modules for example/ | ||
run: yarn install --frozen-lockfile --cwd .. | ||
|
||
- name: Restore buildcache | ||
uses: mikehardy/buildcache-action@v2 | ||
continue-on-error: true | ||
|
||
- name: Setup Ruby (bundle) | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: 2.6.10 | ||
bundler-cache: true | ||
working-directory: example/ios | ||
|
||
- name: Restore Pods cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: | | ||
example/ios/Pods | ||
~/Library/Caches/CocoaPods | ||
~/.cocoapods | ||
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-pods- | ||
- name: Install Pods | ||
run: bundle exec pod install | ||
- name: Install xcpretty | ||
run: gem install xcpretty | ||
- name: Build App | ||
run: "set -o pipefail && xcodebuild \ | ||
CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ \ | ||
-derivedDataPath build -UseModernBuildSystem=YES \ | ||
-workspace TfliteExample.xcworkspace \ | ||
-scheme TfliteExample \ | ||
-sdk iphonesimulator \ | ||
-configuration Debug \ | ||
-destination 'platform=iOS Simulator,name=iPhone 11 Pro' \ | ||
build \ | ||
CODE_SIGNING_ALLOWED=NO | xcpretty" |
This file was deleted.
Oops, something went wrong.
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
name: Validate JS | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
paths: | ||
- '.github/workflows/validate-js.yml' | ||
- 'src/**' | ||
- '*.json' | ||
- '*.js' | ||
- '*.lock' | ||
- 'example/src/**' | ||
- 'example/*.json' | ||
- 'example/*.js' | ||
- 'example/*.lock' | ||
- 'example/*.tsx' | ||
pull_request: | ||
paths: | ||
- '.github/workflows/validate-js.yml' | ||
- 'src/**' | ||
- '*.json' | ||
- '*.js' | ||
- '*.lock' | ||
- 'example/src/**' | ||
- 'example/*.json' | ||
- 'example/*.js' | ||
- 'example/*.lock' | ||
- 'example/*.tsx' | ||
|
||
jobs: | ||
compile: | ||
name: Compile JS (tsc) | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install reviewdog | ||
uses: reviewdog/action-setup@v1 | ||
|
||
- name: Get yarn cache directory path | ||
id: yarn-cache-dir-path | ||
run: echo "::set-output name=dir::$(yarn cache dir)" | ||
- name: Restore node_modules from cache | ||
uses: actions/cache@v3 | ||
id: yarn-cache | ||
with: | ||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | ||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-yarn- | ||
- name: Install node_modules | ||
run: yarn install --frozen-lockfile | ||
- name: Install node_modules (example/) | ||
run: yarn install --frozen-lockfile --cwd example | ||
|
||
- name: Run TypeScript # Reviewdog tsc errorformat: %f:%l:%c - error TS%n: %m | ||
run: | | ||
yarn typescript | 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 example && yarn typescript | 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 }} | ||
|
||
lint: | ||
name: Lint JS (eslint, prettier) | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Get yarn cache directory path | ||
id: yarn-cache-dir-path | ||
run: echo "::set-output name=dir::$(yarn cache dir)" | ||
- name: Restore node_modules from cache | ||
uses: actions/cache@v3 | ||
id: yarn-cache | ||
with: | ||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | ||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-yarn- | ||
- name: Install node_modules | ||
run: yarn install --frozen-lockfile | ||
- name: Install node_modules (example/) | ||
run: yarn install --frozen-lockfile --cwd example | ||
|
||
- name: Run ESLint | ||
run: yarn lint -f @jamesacarr/github-actions | ||
|
||
- name: Run ESLint with auto-fix | ||
run: yarn lint --fix | ||
|
||
- name: Run ESLint in example/ | ||
run: cd example && yarn lint -f @jamesacarr/github-actions && cd .. | ||
|
||
- name: Run ESLint in example/ with auto-fix | ||
run: cd example && yarn lint --fix && cd .. | ||
|
||
- name: Verify no files have changed after auto-fix | ||
run: git diff --exit-code HEAD |
Oops, something went wrong.