Files
flipper/.circleci/config.yml
Pritesh Nandgaonkar 07f327f46b Automate iOS release (#445)
Summary:
This PR sets up Circle CI to publish pods when github release is made. This PR also updates the Flipper-Folly pod as it didn't build on 32 bit architecture, because `thread_local` was not supported.

Automated publish of cocoapods through Circle CI.
Pull Request resolved: https://github.com/facebook/flipper/pull/445

Reviewed By: danielbuechele

Differential Revision: D15333975

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 7db68efeeebbe344213917f10f9f3ce4132e8cbc
2019-05-14 07:24:10 -07:00

73 lines
2.1 KiB
YAML

version: 2.1
executors:
default-executor:
docker:
- image: circleci/android:api-28-ndk-r17b
environment:
_JAVA_OPTIONS: "-Xmx1500m -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:ParallelGCThreads=2 -XX:ConcGCThreads=2 -XX:ParallelGCThreads=2 -Djava.util.concurrent.ForkJoinPool.common.parallelism=2"
TERM: 'dumb'
jobs:
snapshot:
executor: default-executor
docker:
- image: circleci/android:api-28-ndk-r17b
steps:
- checkout
- run:
name: build and deploy
command: |
yes | sdkmanager "platforms;android-27" || true
./gradlew :android:assembleRelease && scripts/publish-android-snapshot.sh
release:
executor: default-executor
docker:
- image: circleci/android:api-28-ndk-r17b
steps:
- checkout
- run:
name: build and deploy
command: |
yes | sdkmanager "platforms;android-27" || true
./gradlew :android:assembleRelease && scripts/publish-android-release.sh
publish-pods:
macos:
xcode: "10.2.1"
steps:
- checkout
- run: curl https://cocoapods-specs.circleci.com/fetch-cocoapods-repo-from-s3.sh | bash -s cf
- run:
name: "Pod version"
command: |
pod --version
- run:
name: "Push Flipper Pod"
command: |
pod trunk push ./Flipper.podspec --use-libraries --allow-warnings --verbose --skip-import-validation
- run:
name: "Push FlipperKit Pod"
command: |
pod trunk push ./FlipperKit.podspec --use-libraries --allow-warnings --verbose --skip-import-validation --swift-version=4.2
workflows:
version: 2
build-and-deploy:
jobs:
- snapshot:
filters:
branches:
only: master
- release:
filters:
tags:
only: /^v.*/
branches:
ignore: /.*/
- publish-pods:
filters:
tags:
only: /^v.*/
branches:
ignore: /.*/