Skip to content

Commit

Permalink
Merge branch 'main' into multiple-blockquotes-ios
Browse files Browse the repository at this point in the history
  • Loading branch information
robertKozik committed Jan 22, 2024
2 parents 5916495 + f43ce0e commit 0d32fc1
Show file tree
Hide file tree
Showing 69 changed files with 2,171 additions and 1,074 deletions.
15 changes: 15 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,17 @@
**/node_modules/*
parser/react-native-live-markdown-parser.js

# any js file inside android and ios folders
**/android/**/*.js
**/ios/**/*.js

# Output of the build process & scripts
lib/**/*
scripts/**/*

babel.config.js
metro.config.js
react-native.config.js
jest.config.js
webpack.config.js
.eslintrc.js
43 changes: 20 additions & 23 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,15 @@ module.exports = {
project: true,
tsconfigRootDir: __dirname,
},
env: {
jest: true,
},
extends: [
'expensify',
'plugin:@typescript-eslint/recommended',
'prettier',
'plugin:@typescript-eslint/stylistic',
'plugin:import/typescript',
'prettier',
'plugin:prettier/recommended',
],
plugins: [
Expand All @@ -24,34 +29,24 @@ module.exports = {
},
root: true,
rules: {
'prettier/prettier': [
'error',
'rulesdir/prefer-underscore-method': 'off',
'react/jsx-props-no-spreading': 'off',
'react/require-default-props': 'off',
'react/jsx-filename-extension': ['error', { extensions: ['.tsx', '.jsx'] }],
"import/extensions": [
"error",
"ignorePackages",
{
quoteProps: 'consistent',
singleQuote: true,
tabWidth: 2,
trailingComma: 'es5',
useTabs: false,
},
],
'curly': 'error',
"jsx": "never",
"ts": "never",
"tsx": "never"
}
],
'import/no-unresolved': 'error',
'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
'react/jsx-uses-vars': 'error',
'react/jsx-uses-react': 'error',
'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': 'off', // TODO consider enabling this (currently it reports styles defined at the bottom of the file)
'@typescript-eslint/ban-ts-comment': [
'error',
{
'ts-ignore': 'allow-with-description',
'ts-expect-error': 'allow-with-description',
},
],
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
'@typescript-eslint/no-var-requires': 'warn',
'eqeqeq': 'error',
'no-unreachable': 'error',
'@typescript-eslint/consistent-type-imports': [
'error',
{ prefer: 'type-imports' },
Expand All @@ -62,5 +57,7 @@ module.exports = {
],
'tsdoc/syntax': 'error',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/array-type': ['error', {default: 'array-simple'}],
'@typescript-eslint/consistent-type-definitions': 'off',
},
};
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
*.pbxproj -text
# specific for windows script files
*.bat text eol=crlf
*.bat text eol=crlf
Binary file added .github/OSBotify-private-key.asc.gpg
Binary file not shown.
18 changes: 18 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!-- If necessary, assign reviewers that know the area or changes well. Feel free to tag any additional reviewers you see fit. -->

### Details
<!-- Explanation of the change or anything fishy that is going on -->

### Related Issues
<!-- Please replace GH_LINK with the link to the GitHub issue this Pull Request is related to -->
GH_LINK

### Manual Tests
<!---
Most changes should have accompanying tests. Describe the tests you added or if no tests were added an explanation about why one was not needed.
--->

### Linked PRs
<!---
Please include links to any update PRs in repos that must change their package.json version.
--->
42 changes: 42 additions & 0 deletions .github/workflows/build-android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Test Android build
on:
pull_request:
paths:
- .github/workflows/android-build.yml
- android/**
- example/package.json
- example/android/**
merge_group:
branches:
- main
push:
branches:
- main
paths:
- .github/workflows/android-build.yml
- android/**
- example/package.json
- example/android/**

jobs:
build_android:
runs-on: ubuntu-latest
strategy:
matrix: {dir: ['example']}
fail-fast: false
steps:
- name: Check out Git repository
uses: actions/checkout@v4

- name: Setup Java 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17

- name: Install root & example node dependencies
run: yarn install --immutable

- name: Build app
working-directory: ${{ matrix.dir }}/android
run: ./gradlew assembleDebug --build-cache -PreactNativeArchitectures=arm64-v8a
53 changes: 53 additions & 0 deletions .github/workflows/build-ios.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Test iOS build
on:
pull_request:
paths:
- .github/workflows/ios-build.yml
- Example/package.json
- Example/ios/**
merge_group:
branches:
- main
push:
branches:
- main
paths:
- .github/workflows/ios-build.yml
- Example/package.json
- Example/ios/**

jobs:
build_ios:
runs-on: macos-12
strategy:
matrix: {dir: [Example]}
steps:
- name: Check out Git repository
uses: actions/checkout@v3

- name: Install app node_modules
working-directory: ${{ matrix.dir }}
run: yarn install --frozen-lockfile

- name: Restore Pods from cache
uses: actions/cache@v3
with:
path: |
${{ matrix.dir }}/ios/Pods
~/Library/Caches/CocoaPods
~/.cocoapods
key: ${{ runner.os }}-pods-${{ matrix.dir }}-${{ hashFiles(format('{0}/ios/Podfile.lock', matrix.dir)) }}

- name: Install Pods
working-directory: ${{ matrix.dir }}/ios
run: pod install

- name: Restore build artifacts from cache
uses: actions/cache@v3
with:
path: ~/Library/Developer/Xcode/DerivedData
key: ${{ runner.os }}-ios-derived-data-${{ matrix.dir }}-${{ hashFiles(format('{0}/ios/Podfile.lock', matrix.dir)) }}

- name: Build app
working-directory: ${{ matrix.dir }}
run: npx react-native run-ios
39 changes: 39 additions & 0 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: CLA Assistant

on:
issue_comment:
types: [created]
pull_request_target:
types: [opened, closed, synchronize]

jobs:
CLA:
runs-on: ubuntu-latest
# This job only runs for pull request comments or pull request target events (not issue comments)
if: github.event.issue.pull_request || github.event_name == 'pull_request_target'
steps:
- uses: actions-ecosystem/action-regex-match@9c35fe9ac1840239939c59e5db8839422eed8a73
id: sign
with:
text: ${{ github.event.comment.body }}
regex: '\s*I have read the CLA Document and I hereby sign the CLA\s*'
- uses: actions-ecosystem/action-regex-match@9c35fe9ac1840239939c59e5db8839422eed8a73
id: recheck
with:
text: ${{ github.event.comment.body }}
regex: '\s*recheck\s*'
- name: CLA Assistant
if: ${{ steps.recheck.outputs.match != '' || steps.sign.outputs.match != '' }} || github.event_name == 'pull_request_target'
# Version: 2.1.2-beta
uses: cla-assistant/github-action@948230deb0d44dd38957592f08c6bd934d96d0cf
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PERSONAL_ACCESS_TOKEN : ${{ secrets.CLA_BOTIFY_TOKEN }}
with:
path-to-signatures: '${{ github.repository }}/cla.json'
path-to-document: 'https://github.com/${{ github.repository }}/blob/main/CLA.md'
branch: 'main'
remote-organization-name: 'Expensify'
remote-repository-name: 'CLA'
lock-pullrequest-aftermerge: false
allowlist: 'snyk-bot,OSBotify'
39 changes: 39 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Lint JavaScript

on:
pull_request:
types: [opened, synchronize]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- uses: actions/cache@v2
with:
path: ~/.yarn
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: "16.x"

- name: Setup web example
run: npm ci
working-directory: ./WebExample

- run: yarn install --immutable


- name: Verify there's no Prettier diff
run: |
yarn lint --fix --quiet
if ! git diff --name-only --exit-code; then
# shellcheck disable=SC2016
echo 'Error: Prettier diff detected! Please run `npm run prettier` and commit the changes.'
exit 1
fi
87 changes: 87 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# name: Publish package to npmjs

# # This workflow runs when code is pushed to `main` (i.e: when a pull request is merged)
# on:
# push:
# branches: [main]

# # Ensure that only once instance of this workflow executes at a time.
# # If multiple PRs are merged in quick succession, there will only ever be one publish workflow running and one pending.
# concurrency: ${{ github.workflow }}

# jobs:
# version:
# runs-on: ubuntu-latest

# # OSBotify will update the version on `main`, so this check is important to prevent an infinite loop
# if: ${{ github.actor != 'OSBotify' }}

# steps:
# - uses: actions/checkout@v3
# with:
# ref: main

# - name: Decrypt & Import OSBotify GPG key
# run: |
# cd .github
# gpg --quiet --batch --yes --decrypt --passphrase="$LARGE_SECRET_PASSPHRASE" --output OSBotify-private-key.asc OSBotify-private-key.asc.gpg
# gpg --import OSBotify-private-key.asc
# env:
# LARGE_SECRET_PASSPHRASE: ${{ secrets.LARGE_SECRET_PASSPHRASE }}

# - name: Set up git for OSBotify
# run: |
# git config --global user.signingkey 367811D53E34168C
# git config --global commit.gpgsign true
# git config --global user.name OSBotify
# git config --global user.email [email protected]

# - uses: actions/setup-node@v3
# with:
# node-version: '16.x'
# registry-url: 'https://registry.npmjs.org'

# - name: Generate branch name
# run: echo "BRANCH_NAME=OSBotify-bump-version-$(uuidgen)" >> $GITHUB_ENV

# - name: Create branch for version-bump pull request
# run: git checkout -b ${{ env.BRANCH_NAME }}

# - name: Install npm packages
# run: npm ci

# - name: Update npm version
# run: npm version patch

# - name: Set new version in GitHub ENV
# run: echo "NEW_VERSION=$(jq '.version' package.json)" >> $GITHUB_ENV

# - name: Push branch and publish tags
# run: git push --set-upstream origin ${{ env.BRANCH_NAME }} && git push --tags

# - name: Create pull request
# run: |
# gh pr create \
# --title "Update version to ${{ env.NEW_VERSION }}" \
# --body "Update version to ${{ env.NEW_VERSION }}"
# sleep 5
# env:
# GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_TOKEN }}

# - name: Auto-approve pull request
# run: gh pr review --approve ${{ env.BRANCH_NAME }}
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# - name: Auto-merge pull request
# run: gh pr merge --merge --delete-branch ${{ env.BRANCH_NAME }}
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# - name: Build package
# run: npm run build

# - name: Publish to npm
# run: npm publish
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Loading

0 comments on commit 0d32fc1

Please sign in to comment.