secretive/.github/workflows/release.yml

126 lines
4.8 KiB
YAML
Raw Normal View History

2020-03-15 01:32:02 +00:00
name: Release
on:
push:
tags:
- '*'
jobs:
2022-10-26 07:57:25 +00:00
# test:
# runs-on: macOS-latest
# timeout-minutes: 10
# steps:
# - uses: actions/checkout@v3
# - name: Setup Signing
# env:
# SIGNING_DATA: ${{ secrets.SIGNING_DATA }}
# SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
# HOST_PROFILE_DATA: ${{ secrets.HOST_PROFILE_DATA }}
# AGENT_PROFILE_DATA: ${{ secrets.AGENT_PROFILE_DATA }}
# APPLE_API_KEY_DATA: ${{ secrets.APPLE_API_KEY_DATA }}
# APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
# run: ./.github/scripts/signing.sh
2022-10-26 07:54:07 +00:00
# - name: Set Environment
# run: sudo xcrun xcode-select -s /Applications/Xcode_14.1.app
2022-10-26 07:57:25 +00:00
# - name: Test
# run: |
# pushd Sources/Packages
# swift test
# popd
2022-10-28 06:34:25 +00:00
2020-03-15 01:32:02 +00:00
build:
2022-10-26 07:56:17 +00:00
runs-on: macOS-latest
2020-03-15 01:32:02 +00:00
timeout-minutes: 10
steps:
2022-10-26 07:40:09 +00:00
- uses: actions/checkout@v3
2020-03-15 08:08:41 +00:00
- name: Setup Signing
2020-03-15 01:32:02 +00:00
env:
SIGNING_DATA: ${{ secrets.SIGNING_DATA }}
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
HOST_PROFILE_DATA: ${{ secrets.HOST_PROFILE_DATA }}
AGENT_PROFILE_DATA: ${{ secrets.AGENT_PROFILE_DATA }}
APPLE_API_KEY_DATA: ${{ secrets.APPLE_API_KEY_DATA }}
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
2020-03-15 01:45:28 +00:00
run: ./.github/scripts/signing.sh
2022-10-26 08:26:36 +00:00
- name: Set Environment
run: sudo xcrun xcode-select -s /Applications/Xcode_14.1.app
2020-03-15 08:01:40 +00:00
- name: Update Build Number
env:
TAG_NAME: ${{ github.ref }}
RUN_ID: ${{ github.run_id }}
2020-03-15 08:01:40 +00:00
run: |
2020-03-15 08:08:41 +00:00
export CLEAN_TAG=$(echo $TAG_NAME | sed -e 's/refs\/tags\/v//')
sed -i '' -e "s/GITHUB_CI_VERSION/$CLEAN_TAG/g" Sources/Config/Config.xcconfig
sed -i '' -e "s/GITHUB_BUILD_NUMBER/1.$RUN_ID/g" Sources/Config/Config.xcconfig
sed -i '' -e "s/GITHUB_BUILD_URL/https:\/\/github.com\/maxgoedjen\/secretive\/actions\/runs\/$RUN_ID/g" Sources/Secretive/Credits.rtf
2020-03-15 01:32:02 +00:00
- name: Build
2022-10-26 08:43:19 +00:00
env:
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
2022-10-26 08:46:11 +00:00
APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
2022-10-28 06:50:16 +00:00
run: xcrun xcodebuild -project Sources/Secretive.xcodeproj -scheme Secretive -configuration Release -archivePath Archive.xcarchive -destination "generic/platform=macOS" archive -allowProvisioningUpdates -authenticationKeyIssuerID $APPLE_API_ISSUER -authenticationKeyID $APPLE_API_KEY_ID -authenticationKeyPath ~/.private_keys/AuthKey.p8
2022-10-26 07:40:09 +00:00
- name: Export Products
2022-10-26 08:43:19 +00:00
env:
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
2022-10-26 08:46:11 +00:00
APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
2022-11-21 00:03:58 +00:00
run: xcrun xcodebuild -exportArchive -archivePath Archive.xcarchive -exportPath Export -exportOptionsPlist Sources/Config/ExportOptions.plist -allowProvisioningUpdates -authenticationKeyIssuerID $APPLE_API_ISSUER -authenticationKeyID $APPLE_API_KEY_ID -authenticationKeyPath ~/.private_keys/AuthKey.p8
2020-03-15 01:32:02 +00:00
- name: Create ZIPs
run: |
2022-11-21 00:03:58 +00:00
ditto -c -k --sequesterRsrc --keepParent Export/Secretive.app ./Secretive.zip
2020-03-15 01:32:02 +00:00
ditto -c -k --sequesterRsrc --keepParent Archive.xcarchive ./Archive.zip
- name: Notarize
env:
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
2022-10-26 08:37:47 +00:00
run: xcrun notarytool submit --key $(pwd)/.private_keys/AuthKey_$APPLE_API_KEY_ID.p8 --key-id $APPLE_API_KEY_ID --issuer $APPLE_API_ISSUER Secretive.zip
2020-03-15 01:32:02 +00:00
- name: Document SHAs
run: |
echo "sha-512:"
2020-03-15 01:32:02 +00:00
shasum -a 512 Secretive.zip
shasum -a 512 Archive.zip
echo "sha-256:"
shasum -a 256 Secretive.zip
shasum -a 256 Archive.zip
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body: |
Update description
## Features
## Fixes
## Minimum macOS Version
## Build
https://github.com/maxgoedjen/secretive/actions/runs/${{ github.run_id }}
draft: true
prerelease: false
2020-03-15 01:48:12 +00:00
- name: Upload App to Release
id: upload-release-asset-app
2020-03-15 01:32:02 +00:00
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./Secretive.zip
asset_name: Secretive.zip
asset_content_type: application/zip
- name: Upload App to Artifacts
2020-03-15 01:48:12 +00:00
uses: actions/upload-artifact@v1
with:
name: Secretive.zip
path: Secretive.zip
- name: Upload Archive to Artifacts
uses: actions/upload-artifact@v1
with:
name: Xcode_Archive.zip
path: Archive.zip