Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

created gh action #27

Merged
merged 1 commit into from
Jan 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 106 additions & 0 deletions .github/workflows/react-native-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: Storefront App CI

on:
pull_request:
branches: [ main ] # Trigger for PRs to main branch

env:
FLEETBASE_KEY: ${{ secrets.FLEETBASE_KEY }}
GOOGLE_MAPS_KEY: ${{ secrets.GOOGLE_MAPS_KEY }}
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}

jobs:
install_and_test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Install Node.js
uses: actions/setup-node@v1
with:
node-version: 18.x

- name: Install dependencies
run: npm install -g yarn

- name: Install dependencies
run: yarn install

android_build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Generate google-services.json
env:
GOOGLE_SERVICES_JSON: ${{ secrets.STOREFRONT_GOOGLE_SERVICES_JSON }}
run: |
echo "$GOOGLE_SERVICES_JSON" > google-services.json
mkdir -p android/app/src
mv google-services.json android/app/src

- name: Install Node.js
uses: actions/setup-node@v1
with:
node-version: 18.x

- name: Install dependencies
run: npm install -g yarn

- name: Install dependencies
run: yarn install

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'oracle'
java-version: '17'

- name: Cache Gradle Wrapper
uses: actions/cache@v2
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}

- name: Cache Gradle Dependencies
uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-caches-
- name: Make Gradlew Executable
run: cd android && chmod +x ./gradlew

- name: Build Android
run: cd android && ./gradlew assembleDebug
env:
JVM_OPTS: '-Xmx4096m'

ios_build:
runs-on: macOS-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x

- name: Install dependencies
run: npm install -g yarn

- name: Install dependencies
run: yarn install

- name: Install CocoaPods
run: sudo gem install cocoapods

- name: Install iOS pods
run: cd ios && pod install

- name: Build iOS
run: npx react-native run-ios --configuration Release
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ Open source ecommerce mobile app for on-demand orders. Setup ecommerce marketpla
<a href="https://bundlephobia.com/package/@fleetbase/[email protected]">
<img src="https://img.shields.io/bundlephobia/min/@fleetbase/storefront" alt="Bundle Size" />
</a>

<a href="https://github.com/fleetbase/storefront-app/actions/workflows/react-native-ci.yml">
<img src="https://github.com/fleetbase/storefront-app/actions/workflows/react-native-ci.yml/badge.svg" alt="CI" />
</a>
<a href="https://github.com/fleetbase/storefront-js/blob/master/LICENSE.md">
<img src="https://img.shields.io/github/license/fleetbase/storefront-js" alt="License" />
</a>
Expand Down
2 changes: 1 addition & 1 deletion android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m
org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=1g

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
Expand Down
Loading