Skip to content

Commit

Permalink
v0.10.30
Browse files Browse the repository at this point in the history
  • Loading branch information
armaniferrante committed Feb 14, 2024
0 parents commit 5a538a4
Show file tree
Hide file tree
Showing 989 changed files with 137,663 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .actrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-P ubuntu-latest=catthehacker/ubuntu:full-latest
--container-architecture linux/amd64
70 changes: 70 additions & 0 deletions .easignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# All this file is doing is making sure hiddenwebview.html and provider.html
# are sent to expo's (EAS) servers when building the mobile app

!hiddenwebview.html
!provider.html

# Everything below this line is just a copy of the root .gitignore ------------------
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
web-build/

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
.parcel-cache

npm-debug.log*
yarn-debug.log*
yarn-error.log*

.rollup.cache
dist/
.turbo
.env
.idea
test-ledger/

.expo
.next

*-e

.eslintcache
.js.map
.d.ts.map
.tsbuildinfo

.dev.vars
.tamagui
.d.ts
.d.ts.map

# Not using zero-installs
# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

# Local Netlify folder
.netlify
docker
web
examples
packages/app-extension
10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
root = true

[*]
end_of_line = lf
insert_final_newline = true

[*.{js,json,yml}]
charset = utf-8
indent_style = space
indent_size = 2
1 change: 1 addition & 0 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DEFAULT_SOLANA_CONNECTION_URL=https://api.mainnet-beta.solana.com
9 changes: 9 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
**/node_modules/**
**/dist/**
**/build/**
**/dev/**

**/.expo/**
**/.next/**
**/__generated__/**
./scripts/*.ts
9 changes: 9 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module.exports = {
root: true,
// This tells ESLint to load the config from the package `eslint-config-custom`
extends: ["custom"],
ignorePatterns: ["**/*.js"],
parserOptions: {
project: ["./tsconfig.eslint.json", "./packages/*/tsconfig.json"],
},
};
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/.yarn/** linguist-vendored
/.yarn/releases/* binary
/.yarn/plugins/**/* binary
/.pnp.* binary linguist-generated
30 changes: 30 additions & 0 deletions .github/actions/app-mobile-monorepo-setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: app-mobile monorepo setup

inputs:
eas-version:
description: Version of EAS CLI to use
default: latest

expo-token:
description: Expo token to authenticate with
required: false

runs:
using: composite
steps:
- name: πŸ— Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"

- name: πŸ— Setup Expo
uses: expo/expo-github-action@v7
with:
eas-version: ${{ inputs.eas-version }}
# expo-version: ${{ inputs.expo-version }}
token: ${{ inputs.expo-token }}

- name: πŸ“¦ Install dependencies
run: yarn install --immutable
shell: bash
33 changes: 33 additions & 0 deletions .github/actions/build-setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Build setup
description: Prepare everything before running 'yarn build'

runs:
using: composite
steps:
##########################################################################
# Setup environment.
##########################################################################

#
# Make sure react-native package.json key is added if used in mobile
#
- name: "check-package-json-react-native.sh: chmod"
run: chmod +x ./scripts/check-package-json-react-native.sh
shell: bash

- name: "Run check-package-json-react-native.sh"
run: ./scripts/check-package-json-react-native.sh
shell: bash

##########################################################################
# Yarn install.
##########################################################################

- uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"

- name: yarn install
run: yarn install --immutable
shell: bash
133 changes: 133 additions & 0 deletions .github/workflows/app-mobile-build-production.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
name: app-mobile build production
on:
# push:
# branches:
# - ios-production
# - android-production
# paths:
# - "packages/app-mobile/**"
workflow_dispatch:
inputs:
platform:
description: Platform (android/ios). Both runs APK + App Store build. APK = apk only
type: choice
required: true
default: ios
options:
- ios
- android-both
- android-apk

jobs:
update:
name: EAS Build Production
runs-on: ubuntu-latest
# runs-on: macos-latest

env:
EXPO_USE_DEV_SERVER: true
TMPDIR: /tmp # Used for metro caching
NODE_OPTIONS: "--max_old_space_size=4096"
NODE_ENV: production
APP_ENV: production

steps:
- name: Check for EXPO_TOKEN
run: |
if [ -z "${{ secrets.EXPO_TOKEN }}" ]; then
echo "You must provide an EXPO_TOKEN secret linked to this project's Expo account in this repo's secrets. Learn more: https://docs.expo.dev/eas-update/github-actions"
exit 1
fi
- name: πŸ“¦ Checkout repository
uses: actions/checkout@v3

- name: 🌐 Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: yarn

- name: Cache Metro
uses: actions/cache@v3
id: cache-metro
with:
path: |
${{ env.TMPDIR }}/metro-cache
${{ env.TMPDIR }}/haste-map*
key: npm-${{ env.NODE_VERSION }}-${{ runner.os }}

- name: πŸš€ Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}

- name: 🧢 Install dependencies
run: yarn install --immutable

- name: πŸ—οΈ Build dependencies
env:
NODE_ENV: production
BACKPACK_CONFIG_VERSION: "${{ env.RELEASE_PREFIX }}-latest-beta-${{ github.run_number }}"
BACKPACK_CONFIG_LOG_LEVEL: "none"
# CI!=true so that build warnings aren't treated like errors (for now)
CI: ""
run: yarn build:mobile

##################################################################################
## Workflow Triggers
##################################################################################
- name: πŸš€ Build for Apple App Store (workflow trigger)
env:
APP_ENV: production
working-directory: ./packages/app-mobile
if: "contains(github.event.inputs.platform, 'ios')"
run: "yarn ios:build-production"

- name: πŸš€ Build for Google Play Store (workflow trigger)
env:
APP_ENV: production
working-directory: ./packages/app-mobile
if: "contains(github.event.inputs.platform, 'android-both')"
run: "yarn android:build-production"

- name: πŸš€ Build Android APK (workflow trigger)
env:
APP_ENV: production
working-directory: ./packages/app-mobile
if: "contains(github.event.inputs.platform, 'android-both')"
run: "yarn android:build-production-apk"

# Separately releases the android-apk if that is required
- name: πŸš€ Build Android APK (workflow trigger)
env:
APP_ENV: production
working-directory: ./packages/app-mobile
if: "contains(github.event.inputs.platform, 'android-apk')"
run: "yarn android:build-production-apk"

##################################################################################
## Merged into either ios-production or android-production branches
##################################################################################

- name: πŸš€ Build for Apple App Store (merged into ios-production branch)
env:
APP_ENV: production
working-directory: ./packages/app-mobile
if: contains(github.ref, 'ios-production')
run: "yarn ios:build-production"

- name: πŸš€ Build for Google Play Store (merged into android-production branch)
env:
APP_ENV: production
working-directory: ./packages/app-mobile
if: contains(github.ref, 'android-production')
run: "yarn android:build-production"

- name: πŸš€ Build Android APK (merged into android-production branch)
env:
APP_ENV: production
working-directory: ./packages/app-mobile
if: contains(github.ref, 'android-production')
run: "yarn android:build-production-apk"
83 changes: 83 additions & 0 deletions .github/workflows/app-mobile-ota-update-production.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: app-mobile OTA production
on:
workflow_dispatch:
inputs:
platform:
description: Platform (android/ios)
type: choice
required: true
default: ios
options:
- ios
- android

jobs:
update:
name: EAS Update Production
runs-on: ubuntu-latest
# runs-on: macos-latest

env:
EXPO_USE_DEV_SERVER: true
TMPDIR: /tmp # Used for metro caching
NODE_OPTIONS: "--max_old_space_size=4096"
NODE_ENV: production
APP_ENV: production

steps:
- name: Check for EXPO_TOKEN
run: |
if [ -z "${{ secrets.EXPO_TOKEN }}" ]; then
echo "You must provide an EXPO_TOKEN secret linked to this project's Expo account in this repo's secrets. Learn more: https://docs.expo.dev/eas-update/github-actions"
exit 1
fi
- name: πŸ“¦ Checkout repository
uses: actions/checkout@v3

- name: 🌐 Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: yarn

- name: Cache Metro
uses: actions/cache@v3
id: cache-metro
with:
path: |
${{ env.TMPDIR }}/metro-cache
${{ env.TMPDIR }}/haste-map*
key: npm-${{ env.NODE_VERSION }}-${{ runner.os }}

- name: πŸš€ Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}

- name: 🧢 Install dependencies
run: yarn install --immutable

- name: πŸ—οΈ Build dependencies
env:
NODE_ENV: production
BACKPACK_CONFIG_VERSION: "${{ env.RELEASE_PREFIX }}-latest-beta-${{ github.run_number }}"
BACKPACK_CONFIG_LOG_LEVEL: "none"
# CI!=true so that build warnings aren't treated like errors (for now)
CI: ""
run: yarn build:mobile

- name: πŸš€ Publish Apple Update
env:
APP_ENV: production
working-directory: ./packages/app-mobile
if: "contains(github.event.inputs.platform, 'ios')"
run: "yarn ios:ota-production"

- name: πŸš€ Publish Android Update
env:
APP_ENV: production
working-directory: ./packages/app-mobile
if: "contains(github.event.inputs.platform, 'android')"
run: "yarn android:ota-production"
Loading

0 comments on commit 5a538a4

Please sign in to comment.