-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #13 from dg1223/develop
develop <> staging parity
- Loading branch information
Showing
7 changed files
with
215 additions
and
88 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 |
---|---|---|
@@ -1,4 +1,6 @@ | ||
README.md merge=ours | ||
.github/workflows/*.yml merge=ours | ||
android/build.gradle merge=ours | ||
android/app/build.gradle merge=ours | ||
android/app/build.gradle merge=ours | ||
.gitattributes merge=ours | ||
.gitignore merge=ours |
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,201 @@ | ||
name: Dev CI/CD | ||
|
||
on: | ||
push: | ||
branches: | ||
- develop | ||
paths-ignore: | ||
- '**/*.md' | ||
- '**/*.yml' | ||
- '**/*.gradle' | ||
- '**/*.txt' | ||
- '.gitignore' | ||
- '.gitattributes' | ||
|
||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout branch | ||
uses: actions/checkout@v3 | ||
|
||
# Cache npm dependencies (from GitHub docs) | ||
- name: Cache node modules | ||
id: cache-npm | ||
uses: actions/cache@v3 | ||
env: | ||
cache-name: cache-node-modules | ||
with: | ||
# npm cache files are stored in `~/.npm` on Linux/macOS | ||
path: ~/.npm | ||
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-build-${{ env.cache-name }}- | ||
${{ runner.os }}-build- | ||
${{ runner.os }}- | ||
# If there's a cache miss | ||
- if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }} | ||
name: List the state of node modules | ||
continue-on-error: true | ||
run: npm list | ||
# Caching process complete | ||
|
||
- name: Install dependencies | ||
run: npm install | ||
|
||
- name: Lint check | ||
run: npm run lint | ||
|
||
- name: Run tests | ||
run: npm run test | ||
|
||
deploy: | ||
needs: test | ||
# default action is success(): if(success) | ||
runs-on: ubuntu-latest | ||
env: | ||
MYAPP_UPLOAD_KEY_ALIAS: ${{ secrets.ANDROID_SIGNING_ALIAS }} | ||
MYAPP_UPLOAD_STORE_PASSWORD: ${{ secrets.ANDROID_SIGNING_STORE_PASSWORD }} | ||
MYAPP_UPLOAD_KEY_PASSWORD: ${{ secrets.ANDROID_SIGNING_KEY_PASSWORD }} | ||
|
||
steps: | ||
# We need to checkout the current branch and install node | ||
# dependencies again because every GH Actions job runs on | ||
# a seperate runner (VM) | ||
- name: Checkout branch | ||
uses: actions/checkout@v3 | ||
|
||
# Cache npm dependencies (from GitHub docs) | ||
- name: Cache node modules | ||
id: cache-npm | ||
uses: actions/cache@v3 | ||
env: | ||
cache-name: cache-node-modules | ||
with: | ||
# npm cache files are stored in `~/.npm` on Linux/macOS | ||
path: ~/.npm | ||
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-build-${{ env.cache-name }}- | ||
${{ runner.os }}-build- | ||
${{ runner.os }}- | ||
# If there's a cache miss | ||
- if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }} | ||
name: List the state of node modules | ||
continue-on-error: true | ||
run: npm list | ||
# Caching process complete | ||
|
||
- name: Install dependencies | ||
run: npm install | ||
|
||
# - name: Read Version | ||
# id: read-version | ||
# run: | | ||
# echo "::set-output name=versionCode::$(jq -r '.versionCode' version.json)" | ||
# echo "::set-output name=versionName::$(jq -r '.versionName' version.json)" | ||
|
||
# # echo "::set-output name=versionCode::$(jq -r '.versionCode' version.json)" | ||
# # echo "::set-output name=versionName::$(node -p -e "require('./version.json').versionName")" | ||
|
||
# - name: Increment Version | ||
# id: increment-version | ||
# run: | | ||
# echo "::set-output name=versionCode::$(node -p \"parseInt('${{ steps.read-version.outputs.versionCode }}') + 1\")" | ||
# echo "::set-output name=versionName::$(node -p \"'${{ steps.read-version.outputs.versionName }}'.replace(/(\\d+\\.\\d+\\.)(\\d+)/, (_, p1, p2) => p1 + (parseInt(p2) + 1))\")" | ||
|
||
# # echo "::set-output name=versionCode::$(node -p -e 'parseInt(${ steps.read-version.outputs.versionCode }) + 1')" | ||
# # echo "::set-output name=versionName::$(node -p -e "'${{ steps.read-version.outputs.versionName }}'.replace(/(\\d+\\.\\d+\\.)(\\d+)/, (_, p1, p2) => p1 + (parseInt(p2) + 1))")" | ||
|
||
# - name: Update build.gradle | ||
# run: | | ||
# sed -i "s/versionCode .*/versionCode ${{ steps.increment-version.outputs.versionCode }}/" android/app/build.gradle | ||
# sed -i "s/versionName .*/versionName '${{ steps.increment-version.outputs.versionName }}'/" android/app/build.gradle | ||
|
||
# - name: Commit and Push Changes | ||
# uses: stefanzweifel/git-auto-commit-action@v4 | ||
# with: | ||
# commit_message: devops - update versionCode and versionName [skip ci] | ||
|
||
- name: Cache Gradle Wrapper | ||
uses: actions/cache@v3 | ||
with: | ||
path: ~/.gradle/wrapper | ||
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} | ||
|
||
- name: Cache Gradle Dependencies | ||
uses: actions/cache@v3 | ||
with: | ||
path: ~/.gradle/caches | ||
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} | ||
restore-keys: ${{ runner.os }}-gradle-caches- | ||
|
||
# Start the build process | ||
- name: Make Gradlew Executable | ||
run: cd android && chmod +x ./gradlew | ||
|
||
# - name: Generate App APK | ||
# run: | | ||
# cd android && ./gradlew assembleRelease --no-daemon | ||
|
||
# - name: Sign generated APK | ||
# id: sign_app | ||
# uses: r0adkll/sign-android-release@v1 | ||
# with: | ||
# releaseDirectory: android/app/build/outputs/apk/release | ||
# signingKeyBase64: ${{ secrets.ANDROID_SIGNING_KEY }} | ||
# alias: ${{ secrets.ANDROID_SIGNING_ALIAS }} | ||
# keyStorePassword: ${{ secrets.ANDROID_SIGNING_STORE_PASSWORD }} | ||
# keyPassword: ${{ secrets.ANDROID_SIGNING_KEY_PASSWORD }} | ||
|
||
# - name: Check app directory after signing (debug) | ||
# run: | | ||
# ls -a android/app/build/outputs/apk/release | ||
|
||
- name: Build Android App Bundle | ||
run: cd android && ./gradlew bundleRelease --no-daemon | ||
|
||
- name: Sign App Bundle | ||
id: sign_app | ||
uses: r0adkll/sign-android-release@v1 | ||
with: | ||
releaseDirectory: android/app/build/outputs/bundle/release | ||
signingKeyBase64: ${{ secrets.ANDROID_SIGNING_KEY }} | ||
alias: ${{ secrets.ANDROID_SIGNING_ALIAS }} | ||
keyStorePassword: ${{ secrets.ANDROID_SIGNING_STORE_PASSWORD }} | ||
keyPassword: ${{ secrets.ANDROID_SIGNING_KEY_PASSWORD }} | ||
|
||
# ## Distribute app to Firebase App Distribution for testing | ||
# ## Use google play internal track if you have a google play account | ||
# ## (uncomment the sections below if you want to use Play Store) | ||
# - name: Upload artifact to Firebase App Distribution | ||
# uses: wzieba/Firebase-Distribution-Github-Action@v1 | ||
# with: | ||
# appId: ${{secrets.ANDROID_FIREBASE_APP_ID}} | ||
# token: ${{secrets.ANDROID_FIREBASE_TOKEN}} | ||
# groups: testers | ||
# file: ${{steps.sign_app.outputs.signedReleaseFile}} | ||
|
||
- name: Upload Artifact | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: Signed App Bundle | ||
path: ${{steps.sign_app.outputs.signedReleaseFile}} | ||
|
||
- name: Deploy to Play Store (Internal testing) | ||
uses: r0adkll/upload-google-play@v1 | ||
with: | ||
serviceAccountJsonPlainText: ${{ secrets.ANDROID_SERVICE_ACCOUNT }} | ||
# The packageName must already exist in the play console account, so make sure you upload a manual apk or aab first through the console | ||
# https://github.com/r0adkll/upload-google-play/tree/v1/ | ||
packageName: com.thebest.gamchha | ||
releaseFiles: ${{steps.sign_app.outputs.signedReleaseFile}} | ||
track: internal | ||
inAppUpdatePriority: 3 | ||
status: draft | ||
# userFraction: 0.5 | ||
whatsNewDirectory: android/release-notes/ | ||
releaseName: v1.0.6 |
File renamed without changes.
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 |
---|---|---|
@@ -1,83 +1,4 @@ | ||
[![Dev CI/CD](https://github.com/dg1223/Gamchha/actions/workflows/ci-cd-develop.yml/badge.svg)](https://github.com/dg1223/Gamchha/actions/workflows/ci-cd-develop.yml) | ||
[![Staging CI/CD](https://github.com/dg1223/Gamchha/actions/workflows/staging-cd.yml/badge.svg)](https://github.com/dg1223/Gamchha/actions/workflows/staging-cd.yml) | ||
|
||
This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli). | ||
|
||
# Getting Started | ||
|
||
> **Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding. | ||
## Step 1: Start the Metro Server | ||
|
||
First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native. | ||
|
||
To start Metro, run the following command from the _root_ of your React Native project: | ||
|
||
```bash | ||
# using npm | ||
npm start | ||
|
||
# OR using Yarn | ||
yarn start | ||
``` | ||
|
||
## Step 2: Start your Application | ||
|
||
Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app: | ||
|
||
### For Android | ||
|
||
```bash | ||
# using npm | ||
npm run android | ||
|
||
# OR using Yarn | ||
yarn android | ||
``` | ||
|
||
### For iOS | ||
|
||
```bash | ||
# using npm | ||
npm run ios | ||
|
||
# OR using Yarn | ||
yarn ios | ||
``` | ||
|
||
If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly. | ||
|
||
This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively. | ||
|
||
## Step 3: Modifying your App | ||
|
||
Now that you have successfully run the app, let's modify it. | ||
|
||
1. Open `App.tsx` in your text editor of choice and edit some lines. | ||
2. For **Android**: Press the <kbd>R</kbd> key twice or select **"Reload"** from the **Developer Menu** (<kbd>Ctrl</kbd> + <kbd>M</kbd> (on Window and Linux) or <kbd>Cmd ⌘</kbd> + <kbd>M</kbd> (on macOS)) to see your changes! | ||
|
||
For **iOS**: Hit <kbd>Cmd ⌘</kbd> + <kbd>R</kbd> in your iOS Simulator to reload the app and see your changes! | ||
|
||
## Congratulations! :tada: | ||
|
||
You've successfully run and modified your React Native App. :partying_face: | ||
|
||
### Now what? | ||
|
||
- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps). | ||
- If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started). | ||
|
||
# Troubleshooting | ||
|
||
If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page. | ||
|
||
# Learn More | ||
|
||
To learn more about React Native, take a look at the following resources: | ||
|
||
- [React Native Website](https://reactnative.dev) - learn more about React Native. | ||
- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment. | ||
- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**. | ||
- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts. | ||
- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native. | ||
|
||
# Gamchha | ||
# The Gamchha App |
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 |
---|---|---|
@@ -1,3 +1,6 @@ | ||
{ | ||
"compilerOptions": { | ||
"jsx": "react" | ||
}, | ||
"extends": "@tsconfig/react-native/tsconfig.json" | ||
} |