mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 12:07:55 +00:00
Remove support for building Alpha/PR (adhoc) builds.
We've haven't really been using these and they're proving to be quite a chore to keep running. Also, we recently needed an external demo build and we chose to go with custom build on top of testflight instead. As such it's been decided that we can go ahead and remove them.
This commit is contained in:
committed by
Stefan Ceriu
parent
bc1cd400c1
commit
06e7919b56
@@ -1,65 +0,0 @@
|
||||
name: PR Build
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [ labeled, synchronize, opened, reopened ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
# Only run for PRs that contain the trigger label. The action will fail for forks due to
|
||||
# missing secrets, but there's no need to handle this as it won't run automatically.
|
||||
if: contains(github.event.pull_request.labels.*.name, 'Trigger-PR-Build')
|
||||
|
||||
name: Release
|
||||
runs-on: macos-15
|
||||
|
||||
concurrency:
|
||||
# Only allow a single run of this workflow on each branch, automatically cancelling older runs.
|
||||
group: alpha-${{ github.head_ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: vendor/bundle
|
||||
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gems-
|
||||
|
||||
- name: Setup environment
|
||||
env:
|
||||
CI_WORKFLOW: PR_BUILD
|
||||
run:
|
||||
source ci_scripts/ci_common.sh && setup_github_actions_environment
|
||||
|
||||
- name: Import signing certificate
|
||||
uses: apple-actions/import-codesign-certs@cfd6eb39a2c848ead8836bda6b56813585404ba7 # v5
|
||||
with:
|
||||
p12-file-base64: ${{ secrets.ALPHA_CERTIFICATES_P12 }}
|
||||
p12-password: ${{ secrets.ALPHA_CERTIFICATES_P12_PASSWORD }}
|
||||
|
||||
- name: Build alpha
|
||||
run: bundle exec fastlane build_alpha
|
||||
env:
|
||||
APPSTORECONNECT_KEY_ID: ${{ secrets.APPSTORECONNECT_KEY_ID }}
|
||||
APPSTORECONNECT_KEY_ISSUER_ID: ${{ secrets.APPSTORECONNECT_KEY_ISSUER_ID }}
|
||||
APPSTORECONNECT_KEY_CONTENT: ${{ secrets.APPSTORECONNECT_KEY_CONTENT }}
|
||||
DIAWI_API_TOKEN: ${{ secrets.DIAWI_API_TOKEN }}
|
||||
GITHUB_PR_NUMBER: ${{ github.event.number }}
|
||||
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
|
||||
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
|
||||
|
||||
- name: Add release notes and Diawi info
|
||||
uses: NejcZdovc/comment-pr@a423635d183a8259308e80593c96fecf31539c26 #v2.1.0
|
||||
with:
|
||||
message: |
|
||||
:iphone: Scan the QR code below to install the build for this PR.
|
||||
:lock: This build is for internal testing purpose. Only devices listed in the ad-hoc provisioning profile can install Element Alpha.
|
||||
|
||||

|
||||
|
||||
If you can't scan the QR code you can install the build via this link: ${{ env.DIAWI_FILE_LINK }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
+1
-20
@@ -1,9 +1,3 @@
|
||||
GIT
|
||||
remote: https://github.com/mhtranbn/fastlane-plugin-diawi.git
|
||||
revision: 6ca982cd41e7c315290240cd4570d5d7b799db38
|
||||
specs:
|
||||
fastlane-plugin-diawi (0.1.3)
|
||||
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
@@ -119,8 +113,6 @@ GEM
|
||||
xcpretty (~> 0.4.1)
|
||||
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
|
||||
fastlane-plugin-brew (0.1.1)
|
||||
fastlane-plugin-browserstack (0.3.2)
|
||||
rest-client (~> 2.0, >= 2.0.2)
|
||||
fastlane-plugin-sentry (1.20.0)
|
||||
os (~> 1.1, >= 1.1.4)
|
||||
fastlane-plugin-xcconfig (2.1.0)
|
||||
@@ -166,7 +158,6 @@ GEM
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (>= 0.16, < 2.a)
|
||||
highline (2.0.3)
|
||||
http-accept (1.7.0)
|
||||
http-cookie (1.0.8)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.9.0)
|
||||
@@ -175,9 +166,6 @@ GEM
|
||||
json (2.10.2)
|
||||
jwt (2.10.1)
|
||||
base64
|
||||
mime-types (3.5.2)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2024.0305)
|
||||
mini_magick (4.13.2)
|
||||
mini_mime (1.1.5)
|
||||
multi_json (1.15.0)
|
||||
@@ -185,7 +173,6 @@ GEM
|
||||
mutex_m (0.3.0)
|
||||
nanaimo (0.4.0)
|
||||
naturally (2.2.1)
|
||||
netrc (0.11.0)
|
||||
nkf (0.2.0)
|
||||
optparse (0.6.0)
|
||||
os (1.1.4)
|
||||
@@ -197,11 +184,6 @@ GEM
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
rest-client (2.1.0)
|
||||
http-accept (>= 1.7.0, < 2.0)
|
||||
http-cookie (>= 1.0.2, < 2.0)
|
||||
mime-types (>= 1.16, < 4.0)
|
||||
netrc (~> 0.8)
|
||||
retriable (3.1.2)
|
||||
rexml (3.4.1)
|
||||
rouge (3.28.0)
|
||||
@@ -246,13 +228,12 @@ GEM
|
||||
|
||||
PLATFORMS
|
||||
arm64-darwin-22
|
||||
arm64-darwin-24
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
abbrev
|
||||
fastlane
|
||||
fastlane-plugin-browserstack
|
||||
fastlane-plugin-diawi!
|
||||
fastlane-plugin-sentry
|
||||
fastlane-plugin-xcconfig
|
||||
fastlane-plugin-xcodegen
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 736 KiB |
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "AppIcon.png",
|
||||
"idiom" : "universal",
|
||||
"platform" : "ios",
|
||||
"size" : "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
settings:
|
||||
APP_GROUP_IDENTIFIER: group.io.element.pr
|
||||
BASE_BUNDLE_IDENTIFIER: io.element.elementx.pr
|
||||
|
||||
targets:
|
||||
ElementX:
|
||||
settings:
|
||||
base:
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME: AlphaAppIcon
|
||||
sources:
|
||||
- path: Resources
|
||||
@@ -13,71 +13,6 @@ before_all do
|
||||
ENV["SENTRY_LOG_LEVEL"] = "DEBUG"
|
||||
end
|
||||
|
||||
lane :build_alpha do
|
||||
app_store_connect_api_key(
|
||||
key_id: ENV["APPSTORECONNECT_KEY_ID"],
|
||||
issuer_id: ENV["APPSTORECONNECT_KEY_ISSUER_ID"],
|
||||
key_content: ENV["APPSTORECONNECT_KEY_CONTENT"]
|
||||
)
|
||||
|
||||
config_alpha()
|
||||
|
||||
code_signing_identity = "Apple Distribution: Vector Creations Limited (7J4U792NQT)"
|
||||
|
||||
app_provisioning_profile_name = "ElementX PR Ad Hoc"
|
||||
app_bundle_identifier = "io.element.elementx.pr"
|
||||
|
||||
nse_provisioning_profile_name = "ElementX NSE PR Ad Hoc"
|
||||
nse_bundle_identifier = "io.element.elementx.pr.nse"
|
||||
|
||||
update_code_signing_settings(
|
||||
targets: ["ElementX"],
|
||||
use_automatic_signing: false,
|
||||
bundle_identifier: app_bundle_identifier,
|
||||
profile_name: app_provisioning_profile_name,
|
||||
code_sign_identity: code_signing_identity
|
||||
)
|
||||
|
||||
get_provisioning_profile(
|
||||
app_identifier: app_bundle_identifier,
|
||||
provisioning_name: app_provisioning_profile_name,
|
||||
ignore_profiles_with_different_name: true,
|
||||
adhoc: true
|
||||
)
|
||||
|
||||
update_code_signing_settings(
|
||||
targets: ["NSE"],
|
||||
use_automatic_signing: false,
|
||||
bundle_identifier: nse_bundle_identifier,
|
||||
profile_name: nse_provisioning_profile_name,
|
||||
code_sign_identity: code_signing_identity
|
||||
)
|
||||
|
||||
get_provisioning_profile(
|
||||
app_identifier: nse_bundle_identifier,
|
||||
provisioning_name: nse_provisioning_profile_name,
|
||||
ignore_profiles_with_different_name: true,
|
||||
adhoc: true
|
||||
)
|
||||
|
||||
build_ios_app(
|
||||
scheme: "ElementX",
|
||||
clean: true,
|
||||
export_method: "ad-hoc",
|
||||
output_directory: "build",
|
||||
export_options: {
|
||||
provisioningProfiles: {
|
||||
app_bundle_identifier => app_provisioning_profile_name,
|
||||
nse_bundle_identifier => nse_provisioning_profile_name
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
upload_to_diawi()
|
||||
|
||||
upload_to_browserstack()
|
||||
end
|
||||
|
||||
lane :unit_tests do |options|
|
||||
reset_simulator = ENV.key?('CI')
|
||||
|
||||
@@ -352,67 +287,6 @@ private_lane :git_push do |options|
|
||||
sh("git push https://#{api_token}@#{repo_url}")
|
||||
end
|
||||
|
||||
lane :config_alpha do
|
||||
target_file_path = "../project.yml"
|
||||
data = YAML.load_file target_file_path
|
||||
|
||||
# Check if the "path" already exists in the "include" array
|
||||
if !data["include"].any? { |item| item["path"] == "Variants/Alpha/alpha.yml" }
|
||||
data["include"].append({ "path" => "Variants/Alpha/alpha.yml" })
|
||||
end
|
||||
|
||||
File.open(target_file_path, 'w') { |f| YAML.dump(data, f) }
|
||||
|
||||
xcodegen(spec: "project.yml")
|
||||
|
||||
version = ENV["GITHUB_PR_NUMBER"]
|
||||
|
||||
Dir.chdir ".." do
|
||||
sh("swift run tools app-icon-banner Variants/Alpha/Resources/Alpha.xcassets/AlphaAppIcon.appiconset/AppIcon.png --banner-text 'PR #{version}'")
|
||||
end
|
||||
|
||||
bump_build_number()
|
||||
end
|
||||
|
||||
private_lane :upload_to_diawi do
|
||||
api_token = ENV["DIAWI_API_TOKEN"]
|
||||
UI.user_error!("Invalid Diawi API token.") unless !api_token.to_s.empty?
|
||||
|
||||
# Upload to Diawi
|
||||
diawi(
|
||||
token: api_token,
|
||||
wall_of_apps: false,
|
||||
file: lane_context[SharedValues::IPA_OUTPUT_PATH]
|
||||
)
|
||||
|
||||
# Get the Diawi link from Diawi action shared value
|
||||
diawi_link = lane_context[SharedValues::UPLOADED_FILE_LINK_TO_DIAWI]
|
||||
UI.command_output("Diawi link: " + diawi_link.to_s)
|
||||
|
||||
# Generate the Diawi QR code file link
|
||||
diawi_app_id = URI(diawi_link).path.split('/').last
|
||||
diawi_qr_code_link = "https://www.diawi.com/qrcode/link/#{diawi_app_id}"
|
||||
|
||||
# Set "DIAWI_FILE_LINK" to GitHub environment variables for Github actions
|
||||
sh("echo DIAWI_FILE_LINK=#{diawi_link} >> $GITHUB_ENV")
|
||||
sh("echo DIAWI_QR_CODE_LINK=#{diawi_qr_code_link} >> $GITHUB_ENV")
|
||||
end
|
||||
|
||||
private_lane :upload_to_browserstack do
|
||||
browserstack_username = ENV["BROWSERSTACK_USERNAME"]
|
||||
UI.user_error!("Invalid BrowserStack username.") unless !browserstack_username.to_s.empty?
|
||||
|
||||
browserstack_access_key = ENV["BROWSERSTACK_ACCESS_KEY"]
|
||||
UI.user_error!("Invalid BrowserStack access key.") unless !browserstack_access_key.to_s.empty?
|
||||
|
||||
upload_to_browserstack_app_automate(
|
||||
browserstack_username: browserstack_username,
|
||||
browserstack_access_key: browserstack_access_key,
|
||||
file_path: lane_context[SharedValues::IPA_OUTPUT_PATH],
|
||||
custom_id: "element-x-ios-pr"
|
||||
)
|
||||
end
|
||||
|
||||
private_lane :bump_build_number do
|
||||
# Increment build number to current date
|
||||
build_number = Time.now.strftime("%Y%m%d%H%M")
|
||||
|
||||
@@ -2,10 +2,8 @@
|
||||
#
|
||||
# Ensure this file is checked in to source control!
|
||||
|
||||
gem 'fastlane-plugin-diawi', git: 'https://github.com/mhtranbn/fastlane-plugin-diawi.git'
|
||||
gem 'fastlane-plugin-xcodegen'
|
||||
gem 'fastlane-plugin-sentry'
|
||||
gem 'fastlane-plugin-browserstack'
|
||||
gem 'fastlane-plugin-xcconfig'
|
||||
|
||||
# Until Fastlane includes them directly.
|
||||
|
||||
@@ -13,13 +13,6 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do
|
||||
|
||||
# Available Actions
|
||||
|
||||
### build_alpha
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane build_alpha
|
||||
```
|
||||
|
||||
|
||||
|
||||
### unit_tests
|
||||
|
||||
@@ -93,14 +86,6 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do
|
||||
|
||||
|
||||
|
||||
### config_alpha
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane config_alpha
|
||||
```
|
||||
|
||||
|
||||
|
||||
### config_secrets
|
||||
|
||||
```sh
|
||||
|
||||
Reference in New Issue
Block a user