Skip to content

Commit 9771d1f

Browse files
cbaker6drdaz
andauthored
Switch to github actions (#1581)
* switch to github actions * fix actions branch * add cache to actions and make release use xcode11.7 * update order * fix release and other builds * switch all actions back to xcode11 * properly set xcode11 * see if parseui builds on xcode 11.6 * add release actions, switch badges * Make ParseUI run on Xcode11.7 * change filename * update release * only release on publish * Updates FBSDK download URL in ParseUI build script * Fix bad iOS tests that failed constantly in Xcode 12 and randomly in Xcode 11. Should work on both now. My guess is that XCTest received some improvements in objective-c which is why the failures in 12 are more consistent. * run all on xcode 12 except for release * fix curl command in ParseUI script * run ParseUI build in xcode 11 * ParseUI on xcode 12 * fixed multiple bolts files in ParsUI-swift * add missing bolts to Parse project * Try ParseUI with Xcode 11.6 * add dependencies * add Parse dependency to ParseUI * try ParseUI swift * Update ci.yml * add FB script to ParseUI-swift, return ParseUI-obj back to the way it was * Update code in ParseUI project * Switch ParseUI back to all * move parseui to circle * move parseui to circle * revert * clean up ParseUI * Update Carthage before build * Update ci.yml * Update ci.yml * fix ParseUI build * Update ci.yml * make parseUI run after facebook to give priority to the first 5 * Bump codecov Make sure added features have some minimum amount of tests. * Fix threading issues that caused random failures in tests: testMigratingDataFromExtensionsSandbox and testMigratingDataFromMainSandbox * Move waitForTestExpectations in test cases * Make longer running builds start in first round * Fix docs build * Revert test change, will fail as there's something up with the failing test * Disable ParseClientConfigurationTests.testExtensionDataSharing for now Co-authored-by: Darren Black <[email protected]>
1 parent 6124d39 commit 9771d1f

21 files changed

+351
-226
lines changed

.circleci/config.yml

+1-35
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
defaults: &defaults
22
macos:
3-
xcode: "11.6.0"
3+
xcode: "11.7.0"
44
shell: /bin/bash --login -eo pipefail
55
aliases:
66
- &cache-pull
@@ -25,38 +25,6 @@ aliases:
2525

2626
version: 2
2727
jobs:
28-
ios:
29-
<<: *defaults
30-
steps:
31-
- checkout
32-
- restore_cache: *cache-pull
33-
- run: *prepare
34-
- save_cache: *cache-push
35-
- run: bundle exec rake test:ios
36-
- run: bash <(curl -s https://codecov.io/bash)
37-
- store_test_results:
38-
path: build/reports
39-
macos:
40-
<<: *defaults
41-
steps:
42-
- checkout
43-
- restore_cache: *cache-pull
44-
- run: *prepare
45-
- save_cache: *cache-push
46-
- run:
47-
name: "Create and set the default keychain"
48-
command: |
49-
security create-keychain -p "" temporary
50-
security default-keychain -s temporary
51-
security unlock-keychain -p "" temporary
52-
security set-keychain-settings -lut 7200 temporary
53-
- run: bundle exec rake test:macos
54-
- run: bash <(curl -s https://codecov.io/bash)
55-
- store_test_results:
56-
path: build/reports
57-
- store_artifacts:
58-
path: build/reports
59-
destination: test_results
6028
carthage:
6129
<<: *defaults
6230
steps:
@@ -70,8 +38,6 @@ workflows:
7038
version: 2
7139
pr:
7240
jobs:
73-
- ios
74-
- macos
7541
- carthage
7642
nightly:
7743
jobs:

.codecov.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ coverage:
88
changes: false
99
project:
1010
default:
11-
target: 65
11+
target: 74
1212
comment: false

.github/workflows/ci.yml

+186
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
name: ci
2+
on:
3+
push:
4+
branches: [ master ]
5+
pull_request:
6+
branches: [ master ]
7+
env:
8+
CI_XCODE_VER: '/Applications/Xcode_11.7.app/Contents/Developer'
9+
CI_XCODE_VER_OLDER: '/Applications/Xcode_11.6.app/Contents/Developer'
10+
11+
jobs:
12+
ios:
13+
runs-on: macos-latest
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Cache Gems
17+
id: cache-gems
18+
uses: actions/cache@v2
19+
with:
20+
path: vendor/bundle
21+
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
22+
restore-keys: |
23+
${{ runner.os }}-gem-
24+
- name: Submodules and Bundle Install
25+
run: |
26+
git submodule update --init --recursive
27+
sudo gem install bundler
28+
bundle config set path 'vendor/bundle'
29+
bundle install
30+
- name: Build-Test
31+
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake test:ios
32+
- name: Send codecov
33+
run: bash <(curl https://codecov.io/bash)
34+
35+
macos:
36+
runs-on: macos-latest
37+
steps:
38+
- uses: actions/checkout@v2
39+
- name: Cache Gems
40+
id: cache-gems
41+
uses: actions/cache@v2
42+
with:
43+
path: vendor/bundle
44+
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
45+
restore-keys: |
46+
${{ runner.os }}-gem-
47+
- name: Submodules and Bundle Install
48+
run: |
49+
git submodule update --init --recursive
50+
sudo gem install bundler
51+
bundle config set path 'vendor/bundle'
52+
bundle install
53+
- name: Create and set the default keychain
54+
run: |
55+
security create-keychain -p "" temporary
56+
security default-keychain -s temporary
57+
security unlock-keychain -p "" temporary
58+
security set-keychain-settings -lut 7200 temporary
59+
- name: Build-Test
60+
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake test:macos
61+
- name: Send codecov
62+
run: bash <(curl https://codecov.io/bash)
63+
64+
facebook_utils:
65+
needs: macos
66+
runs-on: macos-latest
67+
steps:
68+
- uses: actions/checkout@v2
69+
- name: Cache Gems
70+
id: cache-gems
71+
uses: actions/cache@v2
72+
with:
73+
path: vendor/bundle
74+
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
75+
restore-keys: |
76+
${{ runner.os }}-gem-
77+
- name: Submodules and Bundle Install
78+
run: |
79+
git submodule update --init --recursive
80+
sudo gem install bundler
81+
bundle config set path 'vendor/bundle'
82+
bundle install
83+
- name: Build-Test
84+
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake test:facebook_utils:ios
85+
- name: Send codecov
86+
run: bash <(curl https://codecov.io/bash)
87+
88+
twitter_utils:
89+
needs: macos
90+
runs-on: macos-latest
91+
steps:
92+
- uses: actions/checkout@v2
93+
- name: Cache Gems
94+
id: cache-gems
95+
uses: actions/cache@v2
96+
with:
97+
path: vendor/bundle
98+
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
99+
restore-keys: |
100+
${{ runner.os }}-gem-
101+
- name: Submodules and Bundle Install
102+
run: |
103+
git submodule update --init --recursive
104+
sudo gem install bundler
105+
bundle config set path 'vendor/bundle'
106+
bundle install
107+
- name: Build-Test
108+
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake test:twitter_utils:ios
109+
- name: Send codecov
110+
run: bash <(curl https://codecov.io/bash)
111+
112+
parseui:
113+
runs-on: macos-latest
114+
steps:
115+
- uses: actions/checkout@v2
116+
- name: Cache Gems
117+
id: cache-gems
118+
uses: actions/cache@v2
119+
with:
120+
path: vendor/bundle
121+
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
122+
restore-keys: |
123+
${{ runner.os }}-gem-
124+
- name: Submodules and Bundle Install
125+
run: |
126+
git submodule update --init --recursive
127+
sudo gem install bundler
128+
bundle config set path 'vendor/bundle'
129+
bundle install
130+
- name: Build-Test
131+
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake test:parseui:all
132+
- name: Send codecov
133+
run: bash <(curl https://codecov.io/bash)
134+
135+
cocoapods:
136+
runs-on: macos-latest
137+
steps:
138+
- uses: actions/checkout@v2
139+
- name: CocoaPods
140+
run: set -o pipefail && env NSUnbufferedIO=YES pod lib lint --allow-warnings --verbose
141+
142+
release:
143+
runs-on: macos-latest
144+
steps:
145+
- uses: actions/checkout@v2
146+
- name: Cache Gems
147+
id: cache-gems
148+
uses: actions/cache@v2
149+
with:
150+
path: vendor/bundle
151+
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
152+
restore-keys: |
153+
${{ runner.os }}-gem-
154+
- name: Submodules and Bundle Install
155+
run: |
156+
git submodule update --init --recursive
157+
sudo gem install bundler
158+
bundle config set path 'vendor/bundle'
159+
bundle install
160+
- name: Build Release
161+
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake package:release
162+
env:
163+
DEVELOPER_DIR: ${{ env.CI_XCODE_VER }}
164+
165+
docs:
166+
needs: macos
167+
runs-on: macos-latest
168+
steps:
169+
- uses: actions/checkout@v2
170+
- name: Cache Gems
171+
id: cache-gems
172+
uses: actions/cache@v2
173+
with:
174+
path: vendor/bundle
175+
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
176+
restore-keys: |
177+
${{ runner.os }}-gem-
178+
- name: Submodules and Bundle Instal
179+
run: |
180+
git submodule update --init --recursive
181+
sudo gem install bundler
182+
bundle config path vendor/bundle
183+
bundle install
184+
- name: Create Jazzy Docs
185+
run: |
186+
./Scripts/jazzy.sh

.github/workflows/release.yml

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: release
2+
on:
3+
release:
4+
types: [published]
5+
env:
6+
CI_XCODE_VER: '/Applications/Xcode_11.7.app/Contents/Developer'
7+
8+
jobs:
9+
cocoapods:
10+
runs-on: macos-latest
11+
steps:
12+
- uses: actions/checkout@v2
13+
- name: CocoaPods
14+
run: set -o pipefail && env NSUnbufferedIO=YES pod lib lint --allow-warnings --verbose
15+
- name: Deploy CocoaPods
16+
run: set -o pipefail && env NSUnbufferedIO=YES pod trunk push Parse.podspec --allow-warnings --verbose
17+
env:
18+
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
19+
DEVELOPER_DIR: ${{ env.CI_XCODE_VER }}
20+
21+
docs:
22+
runs-on: macos-latest
23+
steps:
24+
- uses: actions/checkout@v2
25+
- name: Cache Gems
26+
id: cache-gems
27+
uses: actions/cache@v2
28+
with:
29+
path: vendor/bundle
30+
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
31+
restore-keys: |
32+
${{ runner.os }}-gem-
33+
- name: Install Bundle
34+
run: |
35+
bundle config path vendor/bundle
36+
bundle install
37+
- name: Create Jazzy Docs
38+
run: |
39+
./Scripts/jazzy.sh
40+
env:
41+
DEVELOPER_DIR: ${{ env.CI_XCODE_VER }}
42+
- name: Deploy Jazzy Docs
43+
uses: peaceiris/actions-gh-pages@v3
44+
with:
45+
github_token: ${{ secrets.GITHUB_TOKEN }}
46+
publish_dir: ./docs
47+
48+
release:
49+
runs-on: macos-latest
50+
steps:
51+
- uses: actions/checkout@v2
52+
- name: Cache Gems
53+
id: cache-gems
54+
uses: actions/cache@v2
55+
with:
56+
path: vendor/bundle
57+
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
58+
restore-keys: |
59+
${{ runner.os }}-gem-
60+
- name: Submodules and Bundle Install
61+
run: |
62+
git submodule update --init --recursive
63+
sudo gem install bundler
64+
bundle config set path 'vendor/bundle'
65+
bundle install
66+
- name: Build Release
67+
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake package:release
68+
env:
69+
DEVELOPER_DIR: ${{ env.CI_XCODE_VER }}
70+
- name: Deploy assets
71+
uses: svenstaro/upload-release-action@v2
72+
with:
73+
repo_token: ${{ secrets.GITHUB_TOKEN }}
74+
file: build/release/*
75+
tag: ${{ github.ref }}
76+
overwrite: true
77+
file_glob: true

0 commit comments

Comments
 (0)