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

Distribute pre-built iOS artifacts #362

Merged
merged 9 commits into from
Sep 26, 2022
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
22 changes: 21 additions & 1 deletion .github/workflows/patrol_cli-publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
jobs:
check_versions:
name: Check if version is consistently defined
runs-on: ubuntu-latest
runs-on: macos-12

steps:
- name: Clone repository
Expand All @@ -29,6 +29,18 @@ jobs:
# see https://github.com/actions/virtual-environments/issues/1717#issuecomment-702780142
ref: ${{ github.ref }}

- name: Install Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1.2
bundler-cache: true

- name: Install fastlane
working-directory: AutomatorServer/ios
run: |
gem install bundler
bundle install

- name: Download mobile-tools
uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -83,6 +95,13 @@ jobs:
echo "ios zip directory: $IOS_ZIP_DIRECTORY"
./makearchive "$VERSION"

- name: Build iOS test runner artifact
working-directory: AutomatorServer/ios
run: |
bundle exec fastlane build
cp -r ./derived_data/Build/Products/Debug-iphonesimulator/AutomatorServerUITests-Runner.app .
mv AutomatorServerUITests-Runner.app AutomatorServerUITests-Runner-$VERSION.app

- name: Create release
uses: softprops/action-gh-release@v1
with:
Expand All @@ -95,6 +114,7 @@ jobs:
AutomatorServer/android/${{ env.SERVER_FILE }}
AutomatorServer/android/${{ env.INSTRUMENTATION_FILE }}
AutomatorServer/${{ env.IOS_ZIP_DIRECTORY }}
AutomatorServer/ios/AutomatorServerUITests-Runner-$VERSION.app

publish_cli:
name: Publish on pub.dev
Expand Down
2 changes: 2 additions & 0 deletions AutomatorServer/ios/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ xcuserdata
!default.mode2v3
!default.pbxuser
!default.perspectivev3
report.xml
derived_data
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,6 @@
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
982B5ED828C7949600CD4A88 /* Frameworks */ = {
isa = PBXGroup;
children = (
);
name = Frameworks;
sourceTree = "<group>";
};
98B3653A28903325008B5B8B /* AutomatorServerUITests */ = {
isa = PBXGroup;
children = (
Expand All @@ -110,7 +103,6 @@
98E9E57F288FFC0900B62271 /* AutomatorServer */,
98B3653A28903325008B5B8B /* AutomatorServerUITests */,
98E9E57E288FFC0900B62271 /* Products */,
982B5ED828C7949600CD4A88 /* Frameworks */,
);
sourceTree = "<group>";
};
Expand Down

This file was deleted.

This file was deleted.

3 changes: 3 additions & 0 deletions AutomatorServer/ios/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source "https://rubygems.org"

gem "fastlane"
218 changes: 218 additions & 0 deletions AutomatorServer/ios/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.5)
rexml
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.637.0)
aws-sdk-core (3.155.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.58.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.114.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.1)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.1.0)
colored (1.2)
colored2 (3.1.2)
commander (4.6.0)
highline (~> 2.0.0)
declarative (0.0.20)
digest-crc (0.6.4)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.92.5)
faraday (1.10.2)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.6)
fastlane (2.210.1)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.0)
babosa (>= 1.0.3, < 2.0.0)
bundler (>= 1.12.0, < 3.0.0)
colored
commander (~> 4.6)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 4.0)
excon (>= 0.71.0, < 1.0.0)
faraday (~> 1.0)
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
naturally (~> 2.2)
optparse (~> 0.1.1)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
simctl (~> 1.6.3)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.28.0)
google-apis-core (>= 0.9.0, < 2.a)
google-apis-core (0.9.0)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.15.0)
google-apis-core (>= 0.9.0, < 2.a)
google-apis-playcustomapp_v1 (0.11.0)
google-apis-core (>= 0.9.0, < 2.a)
google-apis-storage_v1 (0.17.0)
google-apis-core (>= 0.7, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.3.0)
google-cloud-storage (1.42.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.17.0)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.2.0)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.5)
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.6.1)
json (2.6.2)
jwt (2.5.0)
memoist (0.16.2)
mini_magick (4.11.0)
mini_mime (1.1.2)
multi_json (1.15.0)
multipart-post (2.0.0)
nanaimo (0.3.0)
naturally (2.2.1)
optparse (0.1.1)
os (1.1.4)
plist (3.6.0)
public_suffix (5.0.0)
rake (13.0.6)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.2.5)
rouge (2.0.7)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
security (0.1.3)
signet (0.17.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
simctl (1.6.8)
CFPropertyList
naturally
terminal-notifier (2.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (1.8.0)
webrick (1.7.0)
word_wrap (1.0.0)
xcodeproj (1.22.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
xcpretty (0.3.0)
rouge (~> 2.0.7)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)

PLATFORMS
arm64-darwin-21

DEPENDENCIES
fastlane

BUNDLED WITH
2.3.19
1 change: 1 addition & 0 deletions AutomatorServer/ios/fastlane/Appfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
app_identifier("pl.leancode.AutomatorServerUITests.xctrunner")
14 changes: 14 additions & 0 deletions AutomatorServer/ios/fastlane/Fastfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
default_platform(:ios)

platform :ios do
desc "Build automation server artifacts"
lane :build do
run_tests(
project: "AutomatorServer.xcodeproj",
scheme: "AutomatorServer",
derived_data_path: "./derived_data",
build_for_testing: true,
sdk: "iphonesimulator"
)
end
end
5 changes: 5 additions & 0 deletions AutomatorServer/ios/fastlane/Matchfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
git_url("git@github.com:leancodepl/certificates.git")
storage_mode("git")
team_id(ENV["APPLE_DEVELOPER_TEAM_ID"])
app_identifier("pl.leancode.AutomatorServerUITests.xctrunner")
type("development")
32 changes: 32 additions & 0 deletions AutomatorServer/ios/fastlane/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
fastlane documentation
----

# Installation

Make sure you have the latest version of the Xcode command line tools installed:

```sh
xcode-select --install
```

For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)

# Available Actions

## iOS

### ios build

```sh
[bundle exec] fastlane ios build
```

Build automation server artifacts

----

This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.

More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).

The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
4 changes: 4 additions & 0 deletions packages/patrol_cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 0.6.6+2

- Build iOS test runner artifact in GitHub Actions (#362)

## 0.6.6+1

- Download artifacts from GitHub Releases insted of LeanCode's Azure Storage
Expand Down
2 changes: 1 addition & 1 deletion packages/patrol_cli/lib/src/common/constants.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'package:path/path.dart' as path;

/// Version of Patrol CLI. Must be kept in sync with pubspec.yaml.
const version = '0.6.6+1';
const version = '0.6.6+2';

const patrolPackage = 'patrol';
const patrolCliPackage = 'patrol_cli';
Expand Down
2 changes: 1 addition & 1 deletion packages/patrol_cli/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: patrol_cli
description: >
Command-line tool for Patrol, a powerful Flutter-native UI testing framework.
version: 0.6.6+1
version: 0.6.6+2
homepage: https://patrol.leancode.co
repository: https://github.com/leancodepl/patrol
issue_tracker: https://github.com/leancodepl/patrol/issues
Expand Down