Skip to content

Commit

Permalink
fix(CICD): fix CICD workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
azarz committed Nov 29, 2023
1 parent 1868716 commit c668f9c
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 15 deletions.
8 changes: 7 additions & 1 deletion .github/workflows/android-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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

Expand Down
33 changes: 21 additions & 12 deletions .github/workflows/ios-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,16 @@ on:
- '**'

jobs:
build_with_signing:
deploy:
runs-on: macos-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Make envfile
uses: SpicyPizza/[email protected]
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
Expand All @@ -34,20 +30,30 @@ 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 }}
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
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
# create temporary keychain
Expand All @@ -57,20 +63,23 @@ 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
- 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 -allowProvisioningUpdates -archivePath $GITHUB_WORKSPACE/ign.xcarchive -exportOptionsPlist $EXPORT_PLIST_PATH -exportPath $RUNNER_TEMP/export
- name: Decode auth api key file and save it
env:
Expand All @@ -85,5 +94,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 }}”
8 changes: 8 additions & 0 deletions .github/workflows/web-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@ jobs:
- name: Checkout source
uses: actions/checkout@v3

- name: Make envfile
uses: SpicyPizza/[email protected]
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:
Expand Down
4 changes: 2 additions & 2 deletions ios/App/App.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down

0 comments on commit c668f9c

Please sign in to comment.