feat(ci): add macos arm ci pipeline
This commit is contained in:
parent
2979390ddf
commit
a70dcdd7d2
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
@ -55,8 +55,6 @@ jobs:
|
|||
- name: Install cargo-make
|
||||
run: |
|
||||
cargo install --force cargo-make
|
||||
# - name: Run test suite
|
||||
# run: cargo make test-binary --env BUILD_ARCH=aarch64-apple-darwin
|
||||
- name: Build
|
||||
run: |
|
||||
cargo make build-macos-arm-binary
|
||||
|
|
45
.github/workflows/release.yml
vendored
45
.github/workflows/release.yml
vendored
|
@ -99,7 +99,7 @@ jobs:
|
|||
|
||||
macos-intel:
|
||||
needs: ["extract-version"]
|
||||
runs-on: macos-latest
|
||||
runs-on: macos-11
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
@ -129,6 +129,49 @@ jobs:
|
|||
- name: Upload artifacts to Github Releases
|
||||
run: |
|
||||
gh release upload ${{ needs.extract-version.outputs.espanso_version }} Espanso-Mac-Intel.zip Espanso-Mac-Intel.zip.sha256.txt
|
||||
|
||||
macos-m1:
|
||||
needs: ["extract-version"]
|
||||
runs-on: macos-11
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Print target version
|
||||
run: |
|
||||
echo Using version ${{ needs.extract-version.outputs.espanso_version }}
|
||||
- name: Install cargo-make
|
||||
run: |
|
||||
cargo install --force cargo-make
|
||||
- name: Build
|
||||
run: cargo make create-bundle --profile release --env BUILD_ARCH=aarch64-apple-darwin
|
||||
- name: Codesign executable
|
||||
env:
|
||||
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
|
||||
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
|
||||
MACOS_CI_KEYCHAIN_PWD: ${{ secrets.MACOS_CI_KEYCHAIN_PWD }}
|
||||
run: |
|
||||
echo $MACOS_CERTIFICATE | base64 —decode > certificate.p12
|
||||
security create-keychain -p $MACOS_CI_KEYCHAIN_PWD build.keychain security default-keychain -s build.keychain
|
||||
security unlock-keychain -p $MACOS_CI_KEYCHAIN_PWD build.keychain
|
||||
security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign
|
||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $MACOS_CI_KEYCHAIN_PWD build.keychain
|
||||
/usr/bin/codesign --force -s "Espanso CI Self-Signed" target/mac/Espanso.app -v
|
||||
- name: Create ZIP archive
|
||||
run: |
|
||||
ditto -c -k --sequesterRsrc --keepParent target/mac/Espanso.app Espanso-Mac-M1.zip
|
||||
- name: Calculate hashes
|
||||
run: |
|
||||
shasum -a 256 Espanso-Mac-M1.zip > Espanso-Mac-M1.zip.sha256.txt
|
||||
- uses: actions/upload-artifact@v2
|
||||
name: "Upload artifacts"
|
||||
with:
|
||||
name: Mac M1 Artifacts
|
||||
path: |
|
||||
Espanso-Mac-M1.zip
|
||||
Espanso-Mac-M1.zip.sha256.txt
|
||||
- name: Upload artifacts to Github Releases
|
||||
run: |
|
||||
gh release upload ${{ needs.extract-version.outputs.espanso_version }} Espanso-Mac-M1.zip Espanso-Mac-M1.zip.sha256.txt
|
||||
# macos-intel:
|
||||
# runs-on: macos-11
|
||||
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
set -e
|
||||
|
||||
FINAL_EXEC_PATH=$EXEC_PATH
|
||||
|
||||
if [ $BUILD_ARCH != "current" ]; then
|
||||
FINAL_EXEC_PATH=$(echo $EXEC_PATH | sed "s/target\//target\/$BUILD_ARCH\//g")
|
||||
fi
|
||||
|
||||
TARGET_DIR=target/mac/Espanso.app
|
||||
|
||||
rm -Rf $TARGET_DIR
|
||||
|
@ -15,4 +21,4 @@ sed -e "s/VERSION/$VERSION/" espanso/src/res/macos/Info.plist > $TARGET_DIR/Cont
|
|||
/bin/echo "APPL????" > $TARGET_DIR/Contents/PkgInfo
|
||||
|
||||
cp -f espanso/src/res/macos/icon.icns $TARGET_DIR/Contents/Resources/icon.icns
|
||||
cp -f $EXEC_PATH $TARGET_DIR/Contents/MacOS/espanso
|
||||
cp -f $FINAL_EXEC_PATH $TARGET_DIR/Contents/MacOS/espanso
|
Loading…
Reference in New Issue
Block a user