Skip to content

Commit

Permalink
chore(workflows): setup expo dependencies (#8)
Browse files Browse the repository at this point in the history
<!--  Thanks for sending a pull request! -->

#### What this PR does / why we need it:

Setup dependencies for expo sdk by ignoring renovate-bot update and
instead use `yarn expo-cli upgrade`.

#### Additional notes:

The ignore list is derived using `.github/renovate.json`:

```js
console.log(JSON.stringify(Object.keys(JSON.parse(require('fs').readFileSync('./bundledNativeModules.json', 'utf8')))))
```
  • Loading branch information
fuxingloh committed Jun 19, 2023
1 parent e99f5b0 commit 3ef6904
Show file tree
Hide file tree
Showing 6 changed files with 3,545 additions and 154 deletions.
1 change: 1 addition & 0 deletions .github/release-drafter.yml
Expand Up @@ -23,5 +23,6 @@ version-resolver:
- 'kind/feature'
default: patch
prerelease: false
version-template: "$MAJOR.0.0"
template: |
$CHANGES
120 changes: 118 additions & 2 deletions .github/renovate.json
@@ -1,6 +1,10 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base", "helpers:pinGitHubActionDigests", ":semanticCommitTypeAll(bump)"],
"extends": [
"config:base",
"helpers:pinGitHubActionDigests",
":semanticCommitTypeAll(bump)"
],
"dependencyDashboard": true,
"dependencyDashboardAutoclose": false,
"major": {
Expand All @@ -9,8 +13,120 @@
"rangeStrategy": "bump",
"packageRules": [
{
"matchPackagePatterns": ["^@birthdayresearch/sticky", "^@birthdayresearch/eslint-config"],
"matchPackagePatterns": [
"^@birthdayresearch/sticky",
"^@birthdayresearch/eslint-config"
],
"groupName": "@birthdayresearch/sticky"
},
{
"matchPackageNames": [
"@expo/vector-icons",
"@react-native-async-storage/async-storage",
"@react-native-community/datetimepicker",
"@react-native-masked-view/masked-view",
"@react-native-community/netinfo",
"@react-native-community/slider",
"@react-native-community/viewpager",
"@react-native-picker/picker",
"@react-native-segmented-control/segmented-control",
"@stripe/stripe-react-native",
"expo-analytics-amplitude",
"expo-app-auth",
"expo-app-loader-provider",
"expo-apple-authentication",
"expo-application",
"expo-asset",
"expo-auth-session",
"expo-av",
"expo-background-fetch",
"expo-barcode-scanner",
"expo-battery",
"expo-blur",
"expo-brightness",
"expo-build-properties",
"expo-calendar",
"expo-camera",
"expo-cellular",
"expo-checkbox",
"expo-clipboard",
"expo-constants",
"expo-contacts",
"expo-crypto",
"expo-dev-client",
"expo-device",
"expo-document-picker",
"expo-face-detector",
"expo-file-system",
"expo-font",
"expo-gl",
"expo-google-app-auth",
"expo-haptics",
"expo-image",
"expo-image-loader",
"expo-image-manipulator",
"expo-image-picker",
"expo-in-app-purchases",
"expo-intent-launcher",
"expo-keep-awake",
"expo-linear-gradient",
"expo-linking",
"expo-local-authentication",
"expo-localization",
"expo-location",
"expo-mail-composer",
"expo-media-library",
"expo-module-template",
"expo-modules-core",
"expo-navigation-bar",
"expo-network",
"expo-notifications",
"expo-permissions",
"expo-print",
"expo-random",
"expo-screen-capture",
"expo-screen-orientation",
"expo-secure-store",
"expo-sensors",
"expo-sharing",
"expo-sms",
"expo-speech",
"expo-splash-screen",
"expo-sqlite",
"expo-status-bar",
"expo-store-review",
"expo-system-ui",
"expo-task-manager",
"expo-tracking-transparency",
"expo-updates",
"expo-video-thumbnails",
"expo-web-browser",
"lottie-react-native",
"react",
"react-dom",
"react-native",
"react-native-web",
"react-native-branch",
"react-native-gesture-handler",
"react-native-get-random-values",
"react-native-maps",
"react-native-pager-view",
"react-native-reanimated",
"react-native-screens",
"react-native-safe-area-context",
"react-native-shared-element",
"react-native-svg",
"react-native-view-shot",
"react-native-webview",
"sentry-expo",
"unimodules-app-loader",
"unimodules-image-loader-interface",
"@shopify/react-native-skia",
"@shopify/flash-list",
"@sentry/react-native"
],
"groupName": "expo-sdk",
"enabled": false
}
]
}
38 changes: 38 additions & 0 deletions .github/workflows/expo-dependencies.yml
@@ -0,0 +1,38 @@
name: Expo Dependencies

on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3

- run: corepack enable yarn

- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
with:
node-version-file: '.nvmrc'
cache: yarn

- run: yarn install --frozen-lockfile

- run: yarn expo-cli upgrade
working-directory: ./app

- name: Create Pull Request
uses: peter-evans/create-pull-request@d7db273d6c7206ba99224e659c982ae34a1025e3 # v4.2.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: 'bump(deps): `expo-cli upgrade` dependencies'
committer: Levain Keychain Bot <github-actions[bot]@users.noreply.github.com>
author: Levain Keychain Bot <github-actions[bot]@users.noreply.github.com>
title: 'bump(deps): `expo-cli upgrade` dependencies'
body: |
#### What this PR does / why we need it:
Bump expo dependencies to newest release with `expo-cli upgrade`.
branch: github-actions/expo-deps
6 changes: 6 additions & 0 deletions app/README.md
@@ -0,0 +1,6 @@
# keychain/app

## Dependencies Management

- `package.json:dependencies` that are required for the app to run used in production and installed on the client (mobile devices).
- `package.json:devDependencies` that are required for the app to build and function but not necessary part of the app such as testing, linting, etc.
7 changes: 4 additions & 3 deletions app/package.json
Expand Up @@ -10,14 +10,15 @@
"web": "expo start --web"
},
"dependencies": {
"@babel/core": "^7.20.0",
"@types/react": "~18.0.27",
"expo": "~48.0.18",
"expo-status-bar": "~1.4.4",
"react": "18.2.0",
"react-native": "0.71.8",
"@types/react": "~18.0.27",
"@babel/core": "^7.20.0",
"react-native": "0.71.3",
"typescript": "^4.9.4"
},
"devDependencies": {
"expo-cli": "^6.3.8"
}
}

0 comments on commit 3ef6904

Please sign in to comment.