mirror of https://github.com/mifi/lossless-cut
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
name: Build/release
 | 
						|
 | 
						|
on: push
 | 
						|
 | 
						|
jobs:
 | 
						|
  release:
 | 
						|
    runs-on: ${{ matrix.os }}
 | 
						|
 | 
						|
    env:
 | 
						|
      is_tag: ${{ startsWith(github.ref, 'refs/tags/v') }}
 | 
						|
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        os: [macos-latest, ubuntu-latest, windows-latest]
 | 
						|
#        os: [windows-latest]
 | 
						|
 | 
						|
    steps:
 | 
						|
      - name: Check out Git repository
 | 
						|
        uses: actions/checkout@v1
 | 
						|
 | 
						|
      - name: Install Node.js, NPM and Yarn
 | 
						|
        uses: actions/setup-node@v1
 | 
						|
        with:
 | 
						|
          node-version: 12
 | 
						|
 | 
						|
      # Because of timeout issue https://github.com/yarnpkg/yarn/issues/4890
 | 
						|
      - name: Fix connection issue
 | 
						|
        run: |
 | 
						|
          npm config rm proxy
 | 
						|
          npm config rm https-proxy          
 | 
						|
 | 
						|
      - name: Install and login to Snapcraft
 | 
						|
        uses: samuelmeuli/action-snapcraft@v1
 | 
						|
        if: startsWith(matrix.os, 'ubuntu')
 | 
						|
        with:
 | 
						|
          # Log in to Snap Store
 | 
						|
          snapcraft_token: ${{ secrets.snapcraft_token }}
 | 
						|
 | 
						|
      - name: Prepare for app notarization
 | 
						|
        if: startsWith(matrix.os, 'macos')
 | 
						|
        # Import Apple API key for app notarization on macOS
 | 
						|
        run: |
 | 
						|
          mkdir -p ~/private_keys/
 | 
						|
          echo '${{ secrets.api_key }}' > ~/private_keys/AuthKey_${{ secrets.api_key_id }}.p8          
 | 
						|
 | 
						|
      - name: Download custom ffmpeg for Mac
 | 
						|
        if: startsWith(matrix.os, 'macos')
 | 
						|
        run: yarn download-ffmpeg
 | 
						|
 | 
						|
      - name: Build/release Electron app
 | 
						|
        uses: samuelmeuli/action-electron-builder@v1
 | 
						|
        with:
 | 
						|
          # GitHub token, automatically provided to the action
 | 
						|
          # (No need to define this secret in the repo settings)
 | 
						|
          github_token: ${{ secrets.github_token }}
 | 
						|
 | 
						|
          # If the commit is tagged with a version (e.g. "v1.0.0"),
 | 
						|
          # release the app after building
 | 
						|
          release: ${{ env.is_tag == 'true' }}
 | 
						|
 | 
						|
          mac_certs: ${{ secrets.mac_certs }}
 | 
						|
          mac_certs_password: ${{ secrets.mac_certs_password }}
 | 
						|
 | 
						|
# Temporary 30 day certificate, not needed for Microsoft Store
 | 
						|
#          windows_certs: ${{ secrets.windows_certs }}
 | 
						|
#          windows_certs_password: ${{ secrets.windows_certs_password }}
 | 
						|
        env:
 | 
						|
          # macOS notarization API key
 | 
						|
          API_KEY_ID: ${{ secrets.api_key_id }}
 | 
						|
          API_KEY_ISSUER_ID: ${{ secrets.api_key_issuer_id }}
 | 
						|
 | 
						|
      - name: Upload to Mac App Store
 | 
						|
        if: startsWith(matrix.os, 'macos') && env.is_tag == 'true'
 | 
						|
        run: |
 | 
						|
          mkdir -p ~/.appstoreconnect/private_keys/
 | 
						|
          echo '${{ secrets.api_key }}' > ~/.appstoreconnect/private_keys/AuthKey_${{ secrets.api_key_id }}.p8
 | 
						|
          xcrun altool --upload-app -f dist/mas/LosslessCut-mac.pkg --apiKey ${{ secrets.api_key_id }} --apiIssuer ${{ secrets.api_key_issuer_id }}          
 |