From 8d92fcad6660994c08acffbfa5e5b585e918444c Mon Sep 17 00:00:00 2001 From: "amaury.zarzelli" Date: Tue, 28 Nov 2023 17:29:03 +0100 Subject: [PATCH] fix(CICD): fix CICD workflows --- .github/workflows/android-deploy.yml | 8 +++++- .github/workflows/ios-deploy.yml | 37 ++++++++++++++++++--------- .github/workflows/web-deploy.yml | 8 ++++++ ios/App/App.xcodeproj/project.pbxproj | 4 +-- 4 files changed, 42 insertions(+), 15 deletions(-) diff --git a/.github/workflows/android-deploy.yml b/.github/workflows/android-deploy.yml index bd9568e1..e102e6e1 100644 --- a/.github/workflows/android-deploy.yml +++ b/.github/workflows/android-deploy.yml @@ -19,7 +19,7 @@ jobs: with: directory: . file_name: .env - envkey_GP_TOKEN: ${{ secrets.GP_TOKEN }} + envkey_GPF_key: ${{ secrets.GPF_key }} fail_on_empty: false - name: Get the tagname @@ -34,6 +34,12 @@ jobs: - name: Install app dependencies run: npm install + - name: Build + run: npm run build + + - name: Sync + run: npx cap sync + - name: Build Android Release APK run: cd android && ./gradlew assembleRelease diff --git a/.github/workflows/ios-deploy.yml b/.github/workflows/ios-deploy.yml index e3a124e2..1671303f 100644 --- a/.github/workflows/ios-deploy.yml +++ b/.github/workflows/ios-deploy.yml @@ -7,7 +7,7 @@ on: - '**' jobs: - build_with_signing: + deploy: runs-on: macos-latest steps: @@ -15,12 +15,8 @@ jobs: uses: actions/checkout@v4 - name: Make envfile - uses: SpicyPizza/create-envfile@v1.3 - with: - directory: . - file_name: .env - envkey_GP_TOKEN: ${{ secrets.GP_TOKEN }} - fail_on_empty: false + run: | + echo "GPF_key=${{ secrets.GPF_key }}" > .env - name: Get the tagname id: get_tagname @@ -34,21 +30,34 @@ jobs: - name: Install app dependencies run: npm install + - name: Build + run: npm run build + + - name: Sync + run: npx cap sync + - name: Install the Apple certificate and provisioning profile env: BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} + DISTRIBUTION_CERTIFICATE_P12: ${{ secrets.DISTRIBUTION_CERTIFICATE_P12 }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} + P12_PASSWORD_DISTR: ${{ secrets.P12_PASSWORD_DISTR }} BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} + DEPLOY_PROVISION_PROFILE_BASE64: ${{ secrets.DEPLOY_PROVISION_PROFILE_BASE64 }} KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} run: | # create variables CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 + CERTIFICATE_DISTR_PATH=$RUNNER_TEMP/distribution_certificate.p12 PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision + DPP_PATH=$RUNNER_TEMP/deploy_pp.mobileprovision KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db # import certificate and provisioning profile from secrets echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH + echo -n "$DISTRIBUTION_CERTIFICATE_P12" | base64 --decode -o $CERTIFICATE_DISTR_PATH echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH + echo -n "$DEPLOY_PROVISION_PROFILE_BASE64" | base64 --decode -o $DPP_PATH # create temporary keychain security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH @@ -57,20 +66,24 @@ jobs: # import certificate to keychain security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH + security import $CERTIFICATE_DISTR_PATH -P "$P12_PASSWORD_DISTR" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH security list-keychain -d user -s $KEYCHAIN_PATH # apply provisioning profile mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles + cp $DPP_PATH ~/Library/MobileDevice/Provisioning\ Profiles + - name: Build app - run: xcodebuild -scheme "IGNProduction" clean archive -archivePath "ign" -configuration "Release Production" + run: cd ios/App && xcodebuild -workspace "App.xcworkspace" -scheme "App" clean archive -archivePath $GITHUB_WORKSPACE/ign.xcarchive -configuration "Release Production" DEVELOPMENT_TEAM=${{ secrets.APPSTORE_TEAM_ID }} + - name: export ipa env: EXPORT_PLIST: ${{ secrets.IOS_EXPORT_PRODUCTION }} run: | - EXPORT_PLINST_PATH=$RUNNER_TEMP/ExportOptions.plist + EXPORT_PLIST_PATH=$RUNNER_TEMP/ExportOptions.plist echo -n "$EXPORT_PLIST" | base64 --decode --output $EXPORT_PLIST_PATH - xcodebuild -exportArchive -archivePath $GITHUB_WORKSPACE/ign.xcarchive -exportOptionsPlist $EXPORT_PLIST_PATH -exportPath $RUNNER_TEMP/export + cd ios/App && xcodebuild -exportArchive -archivePath $GITHUB_WORKSPACE/ign.xcarchive -exportOptionsPlist $EXPORT_PLIST_PATH -exportPath $RUNNER_TEMP/export - name: Decode auth api key file and save it env: @@ -85,5 +98,5 @@ jobs: run: | echo "Starting upload" ls ~/private_keys - xcrun altool — validate-app -f $RUNNER_TEMP/export/IGNProduction.ipa -t ios — apiKey ${{ secrets.APPSTORE_API_KEY_ID }} — apiIssuer ${{ secrets.APPSTORE_ISSUER_ID }} - xcrun altool — upload-app -f $RUNNER_TEMP/export/IGNProduction.ipa -t ios — apiKey “${{ secrets.APPSTORE_API_KEY_ID }}” — apiIssuer “${{ secrets.APPSTORE_ISSUER_ID }}” + cd ios/App && xcrun altool — validate-app -f $RUNNER_TEMP/export/App.ipa -t ios — apiKey ${{ secrets.APPSTORE_API_KEY_ID }} — apiIssuer ${{ secrets.APPSTORE_ISSUER_ID }} + cd ios/App && xcrun altool — upload-app -f $RUNNER_TEMP/export/App.ipa -t ios — apiKey “${{ secrets.APPSTORE_API_KEY_ID }}” — apiIssuer “${{ secrets.APPSTORE_ISSUER_ID }}” diff --git a/.github/workflows/web-deploy.yml b/.github/workflows/web-deploy.yml index 287540ae..67dba7a9 100644 --- a/.github/workflows/web-deploy.yml +++ b/.github/workflows/web-deploy.yml @@ -27,6 +27,14 @@ jobs: - name: Checkout source uses: actions/checkout@v3 + - name: Make envfile + uses: SpicyPizza/create-envfile@v1.3 + with: + directory: . + file_name: .env + envkey_GPF_key: ${{ secrets.GPF_key }} + fail_on_empty: false + - name: Setup Node.js uses: actions/setup-node@v3 with: diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj index e8404086..620ebf99 100644 --- a/ios/App/App.xcodeproj/project.pbxproj +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -352,7 +352,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MARKETING_VERSION = 1.0; OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; - PRODUCT_BUNDLE_IDENTIFIER = geoportail.app; + PRODUCT_BUNDLE_IDENTIFIER = fr.ign.geoportail; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_VERSION = 5.0; @@ -371,7 +371,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = geoportail.app; + PRODUCT_BUNDLE_IDENTIFIER = fr.ign.geoportail; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = ""; SWIFT_VERSION = 5.0;