Build tauri updater test bundles on 'Cut release' PRs (#2927)
* WIP: Automate tauri updater tests
Fixes #2926
* Same product name
* Tweak uploads
* Add cat
* Fix macos universal builds for updater
* New artifact name
* Revert "New artifact name"
This reverts commit 61defcab18.
* Final check
* Clean up
			
			
This commit is contained in:
		
							
								
								
									
										33
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							@ -13,6 +13,7 @@ on:
 | 
			
		||||
  # Will checkout the last commit from the default branch (main as of 2023-10-04)
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CUT_RELEASE_PR: ${{ github.event_name == 'pull_request' && (contains(github.event.pull_request.title, 'Cut release v')) }}
 | 
			
		||||
  BUILD_RELEASE: ${{ github.event_name == 'release' || github.event_name == 'schedule' || github.event_name == 'pull_request' && (contains(github.event.pull_request.title, 'Cut release v')) }}
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
@ -110,8 +111,14 @@ jobs:
 | 
			
		||||
          echo "$(jq --arg name 'Zoo Modeling App (Nightly)' \
 | 
			
		||||
            '.productName=$name' src-tauri/tauri.release.conf.json --indent 2)" > src-tauri/tauri.release.conf.json
 | 
			
		||||
 | 
			
		||||
      - name: Set updater test version
 | 
			
		||||
        if: env.CUT_RELEASE_PR
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "$(jq --arg url 'https://dl.zoo.dev/releases/modeling-app/test/last_update.json' \
 | 
			
		||||
            '.plugins.updater.endpoints[]=$url' src-tauri/tauri.release.conf.json --indent 2)" > src-tauri/tauri.release.conf.json
 | 
			
		||||
 | 
			
		||||
      - uses: actions/upload-artifact@v3
 | 
			
		||||
        if: github.event_name == 'schedule'
 | 
			
		||||
        if: ${{ github.event_name == 'schedule' || env.CUT_RELEASE_PR }}
 | 
			
		||||
        with:
 | 
			
		||||
          path: |
 | 
			
		||||
            package.json
 | 
			
		||||
@ -377,6 +384,30 @@ jobs:
 | 
			
		||||
          E2E_TAURI_ENABLED: true
 | 
			
		||||
          TS_NODE_COMPILER_OPTIONS: '{"module": "commonjs"}'
 | 
			
		||||
 | 
			
		||||
      - uses: actions/download-artifact@v3
 | 
			
		||||
        if: env.CUT_RELEASE_PR
 | 
			
		||||
 | 
			
		||||
      - name: Copy updated .json file for updater test
 | 
			
		||||
        if: env.CUT_RELEASE_PR
 | 
			
		||||
        run: |
 | 
			
		||||
          ls -l artifact
 | 
			
		||||
          cp artifact/src-tauri/tauri.release.conf.json src-tauri/tauri.release.conf.json
 | 
			
		||||
          cat src-tauri/tauri.release.conf.json
 | 
			
		||||
 | 
			
		||||
      - name: Build the app (release, updater test)
 | 
			
		||||
        if: ${{ env.CUT_RELEASE_PR && matrix.os != 'ubuntu-latest' }}
 | 
			
		||||
        env:
 | 
			
		||||
          TAURI_CONF_ARGS: "-c ${{ matrix.os == 'windows-latest' && 'src-tauri\\tauri.release.conf.json' || 'src-tauri/tauri.release.conf.json' }}"
 | 
			
		||||
          TAURI_BUNDLE_ARGS: "-b ${{ matrix.os == 'windows-latest' && 'msi' || 'dmg' }}"
 | 
			
		||||
        run: "yarn tauri build ${{ env.TAURI_CONF_ARGS }} ${{ env.TAURI_BUNDLE_ARGS }} ${{ env.TAURI_ARGS_MACOS }}"
 | 
			
		||||
 | 
			
		||||
      - uses: actions/upload-artifact@v3
 | 
			
		||||
        if: ${{ env.CUT_RELEASE_PR && matrix.os != 'ubuntu-latest' }}
 | 
			
		||||
        with:
 | 
			
		||||
          path: "${{ matrix.os == 'macos-14' && 'src-tauri/target/universal-apple-darwin/release/bundle/dmg/*.dmg' || 'src-tauri/target/release/bundle/msi/*.msi' }}"
 | 
			
		||||
          name: updater-test
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  publish-apps-release:
 | 
			
		||||
    permissions:
 | 
			
		||||
      contents: write
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user