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

Adding a MacOS GitHub Action to build both apps #90

Merged
merged 51 commits into from
Mar 18, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
9c2267f
Update README
davidbiga Mar 13, 2020
e1b90b5
RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to…
vitorpamplona Mar 16, 2020
24368dd
Version 0.5.1
vitorpamplona Mar 17, 2020
4ec2509
Merge remote-tracking branch 'upstream/develop' into develop
vitorpamplona Mar 18, 2020
73fb6df
Testing iOS Action
vitorpamplona Mar 18, 2020
83be769
adding homebrew
vitorpamplona Mar 18, 2020
e317a34
Adding node and java
vitorpamplona Mar 18, 2020
15dd773
Installing Android Studio, SDK and Accepting licenses
vitorpamplona Mar 18, 2020
049feaf
Fixing java
vitorpamplona Mar 18, 2020
e52701c
Using cast for Android SDK
vitorpamplona Mar 18, 2020
56b2fcc
Proper way to accept licenses
vitorpamplona Mar 18, 2020
7998eea
Correct Android path
vitorpamplona Mar 18, 2020
acc289c
Build tools 28.0.3
vitorpamplona Mar 18, 2020
bc63289
New Buildtools command
vitorpamplona Mar 18, 2020
6ff3d48
Fixing Parallelism and License Accept.
vitorpamplona Mar 18, 2020
0e2ae1f
Fixing YAML indentation
vitorpamplona Mar 18, 2020
ac537bc
Trying to see what the error code when accepting the license
vitorpamplona Mar 18, 2020
cff08d9
Trying to get this licenses signed.
vitorpamplona Mar 18, 2020
1b8a7d1
Removing license acceptance.
vitorpamplona Mar 18, 2020
ab204f4
Fixing Node JS bug
vitorpamplona Mar 18, 2020
59a7854
Yet another tentative to get Android Tools signed.
vitorpamplona Mar 18, 2020
2be21ad
Don't need to install NodeJS
vitorpamplona Mar 18, 2020
fba0017
Making sure we don't change this line.
vitorpamplona Mar 18, 2020
2489b9d
Adding build step.
vitorpamplona Mar 18, 2020
5d0c01c
Moving from cocoa pods action to our own install.
vitorpamplona Mar 18, 2020
ddbe58f
Adding Android's assembleRelease step
vitorpamplona Mar 18, 2020
e51fc3b
Separating update pods.
vitorpamplona Mar 18, 2020
a9949bd
Bundle is the right option
vitorpamplona Mar 18, 2020
d9c3fe7
Changing bundleRelease (needs signature) to build.
vitorpamplona Mar 18, 2020
f84ea05
Testing to see if react bundle is necessary
vitorpamplona Mar 18, 2020
1c365b9
Adding react native bundle
vitorpamplona Mar 18, 2020
239d423
Installing Android Support Library, google services and other images
vitorpamplona Mar 18, 2020
997f312
Moving SDK update up top
vitorpamplona Mar 18, 2020
868eb52
New Android dependencies.
vitorpamplona Mar 18, 2020
0080052
Fixing Command Line tools
vitorpamplona Mar 18, 2020
e89051e
Adding updates and platform tools
vitorpamplona Mar 18, 2020
1296e92
Fixing installation by accepting licenses at the moment of the download
vitorpamplona Mar 18, 2020
eef35f1
Testing the need for Support libraries via cradle.
vitorpamplona Mar 18, 2020
4500786
Reverting Library support
vitorpamplona Mar 18, 2020
8505d9e
Adding MIT team for the release
vitorpamplona Mar 18, 2020
c306be3
Removing SDK Manager update
vitorpamplona Mar 18, 2020
a248a2f
Adding a gradlew check before build.
vitorpamplona Mar 18, 2020
6670570
Merge remote-tracking branch 'origin/develop'
vitorpamplona Mar 18, 2020
fc1441a
Solving merge conflict.
vitorpamplona Mar 18, 2020
db07b74
Changing the name of the builder action
vitorpamplona Mar 18, 2020
94b2e46
Adding working dir.
vitorpamplona Mar 18, 2020
b1d0bb6
Keeping things that are working.
vitorpamplona Mar 18, 2020
b9827c5
Merge remote-tracking branch 'upstream/develop' into develop
vitorpamplona Mar 18, 2020
07e0d50
Merge remote-tracking branch 'origin/develop'
vitorpamplona Mar 18, 2020
34e5ca1
Only creates the directory if the directory does not exist.
vitorpamplona Mar 18, 2020
ed11db7
Setting up Android's back button to go back to the main screen instea…
vitorpamplona Mar 18, 2020
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
121 changes: 121 additions & 0 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
name: Android and iOS build on MacOS

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build:
runs-on: macOS-latest
steps:
- uses: actions/checkout@master

- name: Set XCode Version
run: sudo xcode-select -s /Applications/Xcode_11.app

- name: Installing Homebrew
run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

- name: Installing Java 8
run: brew tap adoptopenjdk/openjdk && brew cask install adoptopenjdk/openjdk/adoptopenjdk8

- name: Installing Gradle
run: brew install gradle

- name: Installing Android Studio
run: brew cask install android-sdk

- name: Setting Variables
run: |
export GRADLE_HOME=/usr/local/opt/gradle
export ANDROID_HOME=/usr/local/share/android-sdk
export PATH=$GRADLE_HOME/bin:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH

- name: Updating SDK Manager
run: sdkmanager --update

- name: List available packages for Debug
run: sdkmanager --list

- name: Download Buildtools 28.0.3
run: (echo y; echo y; echo y;) | sdkmanager "build-tools;28.0.3"

- name: Download Android 28
run: (echo y; echo y; echo y;) | sdkmanager "platforms;android-28"

- name: Download Android Platform Tools
run: (echo y; echo y; echo y;) | sdkmanager "platform-tools"

- name: Download Support Library Android M2
run: (echo y; echo y; echo y;) | sdkmanager "extras;android;m2repository"

- name: Download Support Library Google M2
run: (echo y; echo y; echo y;) | sdkmanager "extras;google;m2repository"

- name: Download Support Library Solver for ConstraintLayout 1.0.2
run: (echo y; echo y; echo y;) | sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2"

- name: Download Support Library ConstraintLayout for Android 1.0.2
run: (echo y; echo y; echo y;) | sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2"

- name: Download Android SDK Command line tools
run: (echo y; echo y; echo y;) | sdkmanager "cmdline-tools;latest"

- name: Download Google Services
run: (echo y; echo y; echo y;) | sdkmanager "extras;google;google_play_services"

- name: Download System Image Default
run: (echo y; echo y; echo y;) | sdkmanager "system-images;android-28;default;x86_64"

- name: Download System Image Google APIs
run: (echo y; echo y; echo y;) | sdkmanager "system-images;android-28;google_apis;x86_64"

- name: List current SDK Install
run: sdkmanager --list

- name: Adding Build tools to Path
run: export PATH=$ANDROID_HOME/build-tools/$(ls -tr $ANDROID_HOME/build-tools/ | tail -1):$PATH

# This is ugly but it is the only thing that seems to work.
- name: Accepting Android license
run: (echo y; echo y; echo y; echo y; echo y; echo y) | $ANDROID_HOME/tools/bin/sdkmanager --licenses

- name: Installing CocoaPods
run: gem install cocoapods

- name: Update Pods
run: pod repo update
working-directory: ./ios

- name: Yarn Install
run: yarn install

- name: Pod Install
run: pod install
working-directory: ./ios

- name: Asset Directory
run: mkdir -p ./android/app/src/main/assets

- name: Building React Native Bundle Android
run: npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

- name: Building React Native Bundle iOS
run: npx react-native bundle --dev false --entry-file index.js --bundle-output ios/main.jsbundle --platform ios


# - name: Checking Gradle dependencies
# run: ./gradlew check
# working-directory: ./android

# - name: Android Build
# run: ./gradlew build
# working-directory: ./android

# - name: iOS Build
# run: xcodebuild -workspace PrivateKit.xcworkspace -configuration Release -scheme PrivateKit

15 changes: 14 additions & 1 deletion app/views/Export.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
Text,
Image,
Dimensions,
TouchableOpacity
TouchableOpacity,BackHandler
} from 'react-native';

import colors from "../constants/colors";
Expand Down Expand Up @@ -68,6 +68,19 @@ class ExportScreen extends Component {
this.props.navigation.navigate('LocationTrackingScreen', {})
}

handleBackPress = () => {
this.props.navigation.navigate('LocationTrackingScreen', {});
return true;
};

componentDidMount() {
BackHandler.addEventListener("hardwareBackPress", this.handleBackPress);
}

componentWillUnmount() {
BackHandler.removeEventListener("hardwareBackPress", this.handleBackPress);
}

render() {

return (
Expand Down
18 changes: 12 additions & 6 deletions app/views/Import.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
View,
Text,
Image,
TouchableOpacity
TouchableOpacity,BackHandler
} from 'react-native';

import colors from "../constants/colors";
Expand All @@ -28,16 +28,22 @@ class ImportScreen extends Component {
SearchAndImport();
}

componentDidMount() {

backToMain() {
this.props.navigation.navigate('LocationTrackingScreen', {})
}

componentWillUnmount() { }
handleBackPress = () => {
this.props.navigation.navigate('LocationTrackingScreen', {});
return true;
};

backToMain() {
this.props.navigation.navigate('LocationTrackingScreen', {})
componentDidMount() {
BackHandler.addEventListener("hardwareBackPress", this.handleBackPress);
}

componentWillUnmount() {
BackHandler.removeEventListener("hardwareBackPress", this.handleBackPress);
}

render() {
return (
Expand Down
14 changes: 13 additions & 1 deletion app/views/News.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
Image,
View,
Text,
TouchableOpacity
TouchableOpacity,BackHandler
} from 'react-native';

import colors from "../constants/colors";
Expand All @@ -27,6 +27,18 @@ class NewsScreen extends Component {
this.props.navigation.navigate('LocationTrackingScreen', {})
}

handleBackPress = () => {
this.props.navigation.navigate('LocationTrackingScreen', {});
return true;
};

componentDidMount() {
BackHandler.addEventListener("hardwareBackPress", this.handleBackPress);
}

componentWillUnmount() {
BackHandler.removeEventListener("hardwareBackPress", this.handleBackPress);
}

render() {
return (
Expand Down