diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dafd8ae8a..3601c5c61 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,16 +20,12 @@ jobs: APPLE_ID_KEY: ${{secrets.APPLE_ID_KEY}} - uses: actions/upload-artifact@v3 with: - name: macos executable arm64 - path: percy-macos-arm64 + name: macos executable + path: percy-macos - uses: actions/upload-artifact@v3 with: - name: macos executable x64 - path: percy-macos-x64 - - uses: actions/upload-artifact@v3 - with: - name: linux executable x64 - path: percy-linux-x64 + name: linux executable + path: percy-linux - uses: actions/upload-artifact@v3 with: name: win executable diff --git a/scripts/build.sh b/scripts/build.sh index 9c1f69398..8b01d24de 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -12,7 +12,7 @@ yarn install cp -R ./temp/node_modules/@percy/* packages/ -# Copy current src to dist +# Copy current src to dist folders cp -R packages/cli/src/ packages/cli/dist/ cp -R packages/cli-app/src/ packages/cli-app/dist/ cp -R packages/cli-build/src/ packages/cli-build/dist/ @@ -30,8 +30,8 @@ cp -R packages/logger/src/ packages/logger/dist/ cp -R packages/sdk-utils/src/ packages/sdk-utils/dist/ cp -R packages/webdriver-utils/src/ packages/webdriver-utils/dist/ +# Remove type from package.json files sed -i '' '/"type": "module",/d' ./package.json - cd packages && sed -i '' '/"type": "module",/d' ./*/package.json && cd .. echo "import { cli } from '@percy/cli';\ @@ -73,45 +73,37 @@ sed -i '' '/let outdir/a \ } ' ./packages/core/dist/install.js +# Convert ES6 code to cjs npm run build_cjs - cp -R ./build/* packages/ -# pkg ./packages/cli/bin/run.js -d -pkg --targets node14-macos-arm64 ./packages/cli/bin/run.js -d +# Create executables +pkg ./packages/cli/bin/run.js -d -ls -mv run-macos percy-macos-x64 -mv run-macos-arm64 percy-macos-arm64 -mv run-linux percy-linux-x64 +# Rename executables +mv run-macos percy-macos +mv run-linux percy-linux mv run-win.exe percy-win.exe -# cleanup +# Cleanup temp folder rm -rf temp rm -rf build # Sign & Notrize mac app +echo "$APPLE_DEV_CERT" | base64 -d > AppleDevIDApp.p12 -# echo "$APPLE_DEV_CERT" | base64 -d > AppleDevIDApp.p12 - -# security create-keychain -p percy percy.keychain -# security import AppleDevIDApp.p12 -t agg -k percy.keychain -P ChaiTime -A -# security list-keychains -s ~/Library/Keychains/percy.keychain -# security default-keychain -s ~/Library/Keychains/percy.keychain -# security unlock-keychain -p "percy" ~/Library/Keychains/percy.keychain -# security set-keychain-settings -t 3600 -l ~/Library/Keychains/percy.keychain -# security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k percy ~/Library/Keychains/percy.keychain-db - -# codesign --force --verbose=4 --deep -s "Developer ID Application: BrowserStack Inc (763K6K6H44)" --options runtime --keychain ~/Library/Keychains/percy.keychain percy-macos-arm64 -# codesign --force --verbose=4 --deep -s "Developer ID Application: BrowserStack Inc (763K6K6H44)" --options runtime --keychain ~/Library/Keychains/percy.keychain percy-macos-x64 - -# zip percy-macos-arm64.zip percy-macos-arm64 -# zip percy-macos-x64.zip percy-macos-x64 +security create-keychain -p percy percy.keychain +security import AppleDevIDApp.p12 -t agg -k percy.keychain -P ChaiTime -A +security list-keychains -s ~/Library/Keychains/percy.keychain +security default-keychain -s ~/Library/Keychains/percy.keychain +security unlock-keychain -p "percy" ~/Library/Keychains/percy.keychain +security set-keychain-settings -t 3600 -l ~/Library/Keychains/percy.keychain +security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k percy ~/Library/Keychains/percy.keychain-db -# cat scripts/notarize_config.json.tmpl | sed -e "s/{{APPLE_ID_USERNAME}}/$APPLE_ID_USERNAME/" | sed -e "s/{{APPLE_ID_KEY}}/$APPLE_ID_KEY/" | sed -e "s/{{ZIP}}/percy-macos-x64.zip/" | sed -e "s/{{BUNDLE_ID}}/com.percy.io.intel/" > notarize_config_intel.json -# cat scripts/notarize_config.json.tmpl | sed -e "s/{{APPLE_ID_USERNAME}}/$APPLE_ID_USERNAME/" | sed -e "s/{{APPLE_ID_KEY}}/$APPLE_ID_KEY/" | sed -e "s/{{ZIP}}/percy-macos-arm64.zip/" | sed -e "s/{{BUNDLE_ID}}/com.percy.io.arm/" > notarize_config_arm.json +codesign --force --verbose=4 --deep -s "Developer ID Application: BrowserStack Inc (763K6K6H44)" --options runtime --keychain ~/Library/Keychains/percy.keychain percy-macos-arm64 -# gon -log-level=info -log-json notarize_config_intel.json -# gon -log-level=info -log-json notarize_config_arm.json +zip percy-macos.zip percy-macos +cat scripts/notarize_config.json.tmpl | sed -e "s/{{APPLE_ID_USERNAME}}/$APPLE_ID_USERNAME/" | sed -e "s/{{APPLE_ID_KEY}}/$APPLE_ID_KEY/" > notarize_config.json +gon -log-level=info -log-json notarize_config.json -# security delete-keychain percy.keychain +security delete-keychain percy.keychain diff --git a/scripts/notarize_config.json.tmpl b/scripts/notarize_config.json.tmpl index 7749dfc7a..7944ac81c 100644 --- a/scripts/notarize_config.json.tmpl +++ b/scripts/notarize_config.json.tmpl @@ -4,7 +4,7 @@ "password": "{{APPLE_ID_KEY}}" }, "notarize" : [{ - "path": "{{ZIP}}", - "bundle_id": "{{BUNDLE_ID}}" + "path": "percy-macos.zip", + "bundle_id": "percy.io.cli" }] }