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

Import v3 code #597

Merged
merged 16 commits into from
Sep 23, 2024
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .beta-base

This file was deleted.

1 change: 0 additions & 1 deletion .beta-build

This file was deleted.

23 changes: 0 additions & 23 deletions .github/actions/create-keychain/action.yml

This file was deleted.

93 changes: 0 additions & 93 deletions .github/workflows/private_beta.yml

This file was deleted.

179 changes: 26 additions & 153 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,183 +2,56 @@ name: Release

on:
push:
branches:
- "master"
paths:
- ".beta-build"
tags:
- "builds/*"

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
APP_STORE_CONNECT_API_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY }}
FASTLANE_USERNAME: ${{ secrets.FASTLANE_USERNAME }}
FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }}

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_upload:
name: Upload to ASC
runs-on: macos-13
runs-on: macos-14
strategy:
fail-fast: true
matrix:
name: ["iOS", "macOS", "tvOS"]
#name: ["iOS", "macOS", "tvOS"]
name: ["iOS", "macOS"]
include:
- name: "iOS"
platform: "ios"
use_version: true
- name: "macOS"
platform: "mac"
- name: "tvOS"
platform: "tvos"
env:
PLATFORM: ${{ matrix.platform }}
MATCH_USERNAME: ${{ secrets.MATCH_USERNAME }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_GIT_URL: ${{ secrets.MATCH_GIT_URL }}
MATCH_GIT_PRIVATE_KEY: ${{ secrets.MATCH_GIT_PRIVATE_KEY }}
GYM_OUTPUT_DIRECTORY: "dist/${{ matrix.platform }}"
platform: "macos"
#- name: "tvOS"
# platform: "tvos"
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- uses: actions/setup-go@v4
with:
go-version: "^1.17"
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "latest-stable"
- name: Store app version
id: app_version
if: ${{ matrix.use_version }}
run: |
VERSION=`ci/version-number.sh $PLATFORM`
BUILD=`ci/build-number.sh $PLATFORM`
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "build=$BUILD" >> $GITHUB_OUTPUT
- name: Preinstall certificates (SSH)
- name: Access private repositories
env:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
run: |
scripts/ci/recognize-match-hostname.sh
bundle exec fastlane --env ${{ matrix.platform }} match development
# - name: Run tests
# run: |
# cd PassepartoutLibrary
# swift test
- name: Build ${{ matrix.name }} app
git config --global url.https://$ACCESS_TOKEN@github.com/.insteadOf git@github.com:
- name: Upload ${{ matrix.name }} app
id: upload_app
timeout-minutes: 15
run: |
bundle exec fastlane --env $PLATFORM,beta test_and_build_app test:false
- name: Submit to TestFlight
env:
PILOT_USERNAME: ${{ secrets.PILOT_USERNAME }}
PILOT_GROUPS: ${{ secrets.PILOT_GROUPS }}
MATCH_USERNAME: ${{ secrets.MATCH_USERNAME }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_GIT_URL: ${{ secrets.MATCH_GIT_URL }}
MATCH_GIT_PRIVATE_KEY: ${{ secrets.MATCH_GIT_PRIVATE_KEY }}
PILOT_BETA_APP_FEEDBACK: ${{ secrets.PILOT_BETA_APP_FEEDBACK }}
PILOT_BETA_APP_REVIEW_INFO: ${{ secrets.PILOT_BETA_APP_REVIEW_INFO }}
PILOT_NOTIFY_EXTERNAL_TESTERS: ${{ secrets.PILOT_NOTIFY_EXTERNAL_TESTERS }}
CHANGELOG_PREFACE: ${{ secrets.CHANGELOG_PREFACE }}
run: |
if [ $PLATFORM == "mac" ]; then
export PILOT_PKG="$GYM_OUTPUT_DIRECTORY/Passepartout.pkg"
else
export PILOT_IPA="$GYM_OUTPUT_DIRECTORY/Passepartout.ipa"
fi
export PILOT_CHANGELOG=`ci/build-changelog.sh $PLATFORM`
bundle exec fastlane --env $PLATFORM,beta run pilot
outputs:
version: ${{ steps.app_version.outputs.version }}
build: ${{ steps.app_version.outputs.build }}
distribute_public_beta:
name: Distribute Public Beta
runs-on: ubuntu-latest
needs: build_upload
environment:
name: public_beta
url: "https://testflight.apple.com/join/K71mtLjZ"
env:
PILOT_APP_VERSION: ${{ needs.build_upload.outputs.version }}
PILOT_BUILD_NUMBER: ${{ needs.build_upload.outputs.build }}
PILOT_USERNAME: ${{ secrets.PILOT_USERNAME }}
PILOT_GROUPS: ${{ secrets.PILOT_GROUPS }}
PILOT_NOTIFY_EXTERNAL_TESTERS: ${{ secrets.PILOT_NOTIFY_EXTERNAL_TESTERS }}
PILOT_DISTRIBUTE_ONLY: true
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Publish on TestFlight (iOS)
run: |
bundle exec fastlane --env ios,beta run pilot
- name: Publish on TestFlight (macOS)
run: |
bundle exec fastlane --env mac,beta run pilot
- name: Publish on TestFlight (tvOS)
PILOT_GROUPS: ${{ vars.PILOT_GROUPS }}
run: |
bundle exec fastlane --env tvos,beta run pilot
submit_for_app_review:
name: Submit to App Review
runs-on: ubuntu-latest
needs: build_upload
environment:
name: app_review
env:
DELIVER_USERNAME: ${{ secrets.DELIVER_USERNAME }}
DELIVER_APP_VERSION: ${{ needs.build_upload.outputs.version }}
DELIVER_BUILD_NUMBER: ${{ needs.build_upload.outputs.build }}
DELIVER_FORCE: true
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Submit for App Review (iOS)
run: |
bundle exec fastlane --env ios deliver_review add_id_info_uses_idfa:false
- name: Submit for App Review (macOS)
run: |
bundle exec fastlane --env mac deliver_review add_id_info_uses_idfa:false
- name: Submit for App Review (tvOS)
run: |
bundle exec fastlane --env tvos deliver_review add_id_info_uses_idfa:false
publish_to_app_store:
name: Publish to App Store
runs-on: ubuntu-latest
needs: [build_upload, submit_for_app_review]
environment:
name: app_store
env:
TAG_NAME: ${{ needs.build_upload.outputs.version }}
RELEASE_NOTES: release-notes.txt
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v5
with:
gpg_private_key: ${{ secrets.GPG_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
git_user_signingkey: true
git_commit_gpgsign: true
git_tag_gpgsign: true
git_push_gpgsign: false
- name: Tag release
run: |
scripts/ci/tag-release.sh $TAG_NAME
git push --tags
- name: Assemble notes
run: |
scripts/ci/release-notes.sh $TAG_NAME >$RELEASE_NOTES
- name: Publish release
uses: softprops/action-gh-release@v1
with:
tag_name: "v${{ env.TAG_NAME }}"
body_path: ${{ env.RELEASE_NOTES }}
draft: true
files: |
${{ env.RELEASE_NOTES }}
ci/recognize-match-hostname.sh
bundle exec fastlane --env ${{ matrix.platform }} beta
27 changes: 13 additions & 14 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,35 @@ on:
pull_request:
types: [ opened, synchronize ]
paths-ignore:
- '.beta-*'
- '.env.*'
- '**/*.md'
- '**/*.sh'
- '**/*.yml'
- 'Passepartout/App/fastlane/**'
- 'fastlane/**'

concurrency:
group: ${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
run_tests:
name: Run tests
runs-on: macos-13
runs-on: macos-14
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "15.1"
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- uses: actions/setup-go@v4
- uses: maxim-lobanov/setup-xcode@v1
with:
go-version: "^1.17"
xcode-version: 15.4
- name: Access private repositories
env:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
run: |
git config --global url.https://$ACCESS_TOKEN@github.com/.insteadOf git@github.com:
- name: Run tests
run: |
cd PassepartoutLibrary
cd Passepartout/Library
swift test
Loading