π fix crash #804
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: πΈ Build | |
permissions: | |
contents: write | |
on: | |
push: | |
branches: [ "main" ] | |
paths-ignore: | |
- 'doc/**' | |
- '.editorconfig' | |
- '.gitignore' | |
- 'Copyright' | |
- 'README.md' | |
- 'RELEASE_NOTES' | |
pull_request: | |
branches: [ "main" ] | |
paths-ignore: | |
- 'doc/**' | |
- '.editorconfig' | |
- '.gitignore' | |
- 'Copyright' | |
- 'README.md' | |
- 'RELEASE_NOTES' | |
jobs: | |
build: | |
name: πΈ Build | |
runs-on: macos-14 | |
steps: | |
- name: π Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
token: ${{ secrets.GH_PAT }} | |
- name: π§ set up Swift | |
uses: swift-actions/setup-swift@v2 | |
with: | |
swift-version: "5.10.1" | |
- name: βοΈ set up JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'zulu' | |
cache: gradle | |
- name: π¨ Select Xcode version | |
run: | | |
# ls /Applications/ | |
sudo xcode-select --switch /Applications/Xcode_15.4.app | |
export TOOLCHAINS=swift | |
swift --version | |
- name: πΈοΈ Cache node modules | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: πΈοΈ Cache CocoaPods | |
uses: actions/cache@v2 | |
with: | |
path: ios/Pods | |
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} | |
restore-keys: | | |
${{ runner.os }}-pods- | |
- name: 𧱠Install Dependencies | |
run: | | |
npm install | |
cd ios && pod install | |
- name: 𧬠Build | |
env: | |
scheme: ${{ 'default' }} | |
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer | |
run: | | |
exec &> build.log | |
rm -rf ios/iPlayClient.xcworkspace/xcshareddata/swiftpm/Package.resolved | |
make all | |
- name: β¬οΈ Upload Build Log if Build Fails | |
if: failure() | |
run: | | |
buildtime=$(date '+%Y%m%d.%H%M') | |
python -m pip install requests | |
echo "Uploaded build.log" | |
python ./tools/upload.py --url "https://drive.endemy.me/od_bot/build/iPlay/$buildtime/build.log" \ | |
--file "$PWD/build.log" \ | |
--token "${{ secrets.CLIENT_ID }}" | |
# - name: βοΈ Upload app to TestFlight | |
# uses: apple-actions/upload-testflight-build@v1 | |
# with: | |
# app-path: build/iPlay.ipa | |
# issuer-id: ${{ secrets.APPSTORE_ISSUER_ID }} | |
# api-key-id: ${{ secrets.APPSTORE_API_KEY_ID }} | |
# api-private-key: ${{ secrets.APPSTORE_API_PRIVATE_KEY }} | |
# - name: β¬οΈ Upload Build Artifact To GitHub | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: artifact | |
# path: | | |
# build/*.apk | |
# build/*.ipa | |
# build/*.aab | |
- name: π Release Notes | |
run: | | |
echo "version_code=$(git rev-list --count HEAD)" >> $GITHUB_ENV | |
echo "build_id=$(git rev-parse --short HEAD)" >> $GITHUB_ENV | |
echo version_name="v1.0 $(git rev-parse --short HEAD)" >> $GITHUB_ENV | |
- name: π Publish Release | |
uses: softprops/action-gh-release@v2 | |
if: startsWith(github.ref, 'refs/heads/main') | |
with: | |
name: ${{ env.version_name }} | |
tag_name: v1.0.${{ env.version_code }} | |
make_latest: true | |
files: | | |
build/*.apk | |
build/*.ipa | |
build/*.aab | |
- name: β¬οΈ Upload Build Artifact | |
env: | |
scheme: ${{ 'default' }} | |
run: | | |
buildtime=$(date '+%Y%m%d.%H%M') | |
python -m pip install requests | |
echo "Uploading build artifacts..." | |
# echo "Uploaded iPlay.ipa" | |
# python ./tools/upload.py --url "https://drive.endemy.me/od_bot/build/iPlay/$buildtime/iPlay.ipa" \ | |
# --file "$PWD/build/iPlay.ipa" \ | |
# --token "${{ secrets.CLIENT_ID }}" | |
echo "Uploaded iPlay.apk" | |
python ./tools/upload.py --url "https://drive.endemy.me/od_bot/build/iPlay/$buildtime/iPlay-x86_64.apk" \ | |
--file "$PWD/build/iPlay-x86_64.apk" \ | |
--token "${{ secrets.CLIENT_ID }}" | |
python ./tools/upload.py --url "https://drive.endemy.me/od_bot/build/iPlay/$buildtime/iPlay-arm64-v8a.apk" \ | |
--file "$PWD/build/iPlay-arm64-v8a.apk" \ | |
--token "${{ secrets.CLIENT_ID }}" | |
python ./tools/upload.py --url "https://drive.endemy.me/od_bot/build/iPlay/$buildtime/iPlay-armeabi-v7a.apk" \ | |
--file "$PWD/build/iPlay-armeabi-v7a.apk" \ | |
--token "${{ secrets.CLIENT_ID }}" |