Fix lookup of pilot metadata (#601)

- [x] Fetch app version/build without agvtool, unavailable on
ubuntu-latest
- [x] Move TestFlight preface to a repository variable
- [x] Move TestFlight URL to README instead
This commit is contained in:
Davide 2024-09-24 17:51:01 +02:00 committed by GitHub
parent 41e8d2c5f5
commit bce2694694
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 27 additions and 23 deletions

View File

@ -10,6 +10,7 @@ env:
APP_STORE_CONNECT_API_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY }} APP_STORE_CONNECT_API_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY }}
FASTLANE_USERNAME: ${{ secrets.FASTLANE_USERNAME }} FASTLANE_USERNAME: ${{ secrets.FASTLANE_USERNAME }}
FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }} FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }}
XCODEPROJ: "Passepartout.xcodeproj/project.pbxproj"
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
@ -48,13 +49,19 @@ jobs:
needs: build_upload needs: build_upload
environment: environment:
name: public_beta name: public_beta
url: "https://testflight.apple.com/join/K71mtLjZ"
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1 - uses: ruby/setup-ruby@v1
with: with:
bundler-cache: true bundler-cache: true
- name: Fetch build metadata
run: |
echo "PILOT_APP_VERSION=`ci/version-number.sh $XCODEPROJ`" >> $GITHUB_ENV
echo "PILOT_BUILD_NUMBER=`ci/build-number.sh $XCODEPROJ`" >> $GITHUB_ENV
- name: Publish on TestFlight - name: Publish on TestFlight
env:
PILOT_GROUPS: ${{ vars.PILOT_GROUPS }}
PILOT_NOTIFY_EXTERNAL_TESTERS: ${{ vars.PILOT_NOTIFY_EXTERNAL_TESTERS }}
run: | run: |
#PLATFORMS=("iOS" "macOS" "tvOS") #PLATFORMS=("iOS" "macOS" "tvOS")
PLATFORMS=("iOS" "macOS") PLATFORMS=("iOS" "macOS")

View File

@ -1,14 +0,0 @@
Do not worry, your former profiles ARE NOT LOST.
You are not seeing them just because they were not
migrated (yet) to version 3.0.0. Downgrading the app
to the App Store version would restore them.
You may also notice that several features are missing,
but they will be gradually reintroduced before hitting
the App Store.
Anything else, please report to beta@passepartoutvpn.app
### Changes

View File

@ -13,7 +13,7 @@
Passepartout is your go-to app for VPN and privacy. [OpenVPN®][openvpn] and [WireGuard®][wireguard] client for Apple platforms, the OpenVPN stack also implements the [Tunnelblick XOR patch][openvpn-xor-patch]. Passepartout is your go-to app for VPN and privacy. [OpenVPN®][openvpn] and [WireGuard®][wireguard] client for Apple platforms, the OpenVPN stack also implements the [Tunnelblick XOR patch][openvpn-xor-patch].
[![Join Reddit](https://img.shields.io/badge/discuss-Reddit-orange.svg)][about-reddit] [![Join Reddit](https://img.shields.io/badge/discuss-Reddit-orange.svg)][about-reddit]
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?url=https%3A%2F%2Fpassepartoutvpn.app%2F&via=keeshux&text=Passepartout%20is%20a%20user-friendly%2C%20open-source%20VPN%20client%20for%20%23iOS%20and%20%23macOS) [![Join TestFlight](https://img.shields.io/badge/beta-Testflight-blue.svg)][about-testflight]
## Overview ## Overview
@ -161,7 +161,7 @@ This product includes software developed by the OpenSSL Project for use in the O
A _huge_ credit goes to: A _huge_ credit goes to:
- My tiny group of 3 private beta testers - My tiny group of 3 private beta testers
- The 3600+ public testers using the beta on a daily basis - The 9000+ public testers using the beta on a daily basis
- The continued support and feedback from the [Passepartout community on Reddit][about-reddit] - The continued support and feedback from the [Passepartout community on Reddit][about-reddit]
- The overall patience of users affected by my bugs that actively collaborate in resolving them - The overall patience of users affected by my bugs that actively collaborate in resolving them
- All those who contributed to the amazingly high rating on the App Store - All those who contributed to the amazingly high rating on the App Store
@ -225,3 +225,4 @@ Website: [passepartoutvpn.app][about-website] ([FAQ][about-faq])
[about-website]: https://passepartoutvpn.app [about-website]: https://passepartoutvpn.app
[about-faq]: https://passepartoutvpn.app/faq/ [about-faq]: https://passepartoutvpn.app/faq/
[about-reddit]: https://www.reddit.com/r/passepartout [about-reddit]: https://www.reddit.com/r/passepartout
[about-testflight]: https://testflight.apple.com/join/K71mtLjZ

7
ci/build-number.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
if [ -z "$1" ]; then
echo "Path to Xcode project required"
exit 1
fi
XCODEPROJ="$1"
grep CURRENT_PROJECT_VERSION $XCODEPROJ | uniq | sed -E "s/^.*CURRENT_PROJECT_VERSION = ([0-9]+);/\1/" | tr -d '\n'

7
ci/version-number.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
if [ -z "$1" ]; then
echo "Path to Xcode project required"
exit 1
fi
XCODEPROJ="$1"
grep MARKETING_VERSION $XCODEPROJ | uniq | sed -E "s/^.*MARKETING_VERSION = ([0-9]\.[0-9]\.[0-9]);/\1/" | tr -d '\n'

View File

@ -46,9 +46,9 @@ end
desc "Push a new beta build to TestFlight" desc "Push a new beta build to TestFlight"
lane :beta do lane :beta do
prelog = File.read("../#{logname}.testflight") preface = ENV["TESTFLIGHT_PREFACE"]
log = File.read("../#{logname}") log = File.read("../#{logname}")
changelog = prelog + "\n\n" + log changelog = preface + "\n\n" + log
match(type: "appstore") match(type: "appstore")
gym( gym(
clean: true, clean: true,
@ -64,11 +64,7 @@ end
desc "Distribute to Public Beta" desc "Distribute to Public Beta"
lane :public_beta do lane :public_beta do
version = get_version_number
build = get_build_number
pilot( pilot(
app_version: version,
build_number: build,
distribute_only: true, distribute_only: true,
distribute_external: true, distribute_external: true,
notify_external_testers: true notify_external_testers: true