mirror of
				https://github.com/smartfrigde/armcord.git
				synced 2024-08-14 23:56:58 +00:00 
			
		
		
		
	Add the stable release workflow onto dev
This commit is contained in:
		
							parent
							
								
									af84a2a625
								
							
						
					
					
						commit
						13eb57d17d
					
				
					 1 changed files with 196 additions and 0 deletions
				
			
		
							
								
								
									
										196
									
								
								.github/workflows/stable.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										196
									
								
								.github/workflows/stable.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,196 @@ | ||||||
|  | name: Release build | ||||||
|  | on:  | ||||||
|  |   push: | ||||||
|  |     branches: | ||||||
|  |       - stable | ||||||
|  | 
 | ||||||
|  | env: | ||||||
|  |   FORCE_COLOR: true | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |     build-linux: | ||||||
|  |         runs-on: ubuntu-latest | ||||||
|  | 
 | ||||||
|  |         steps: | ||||||
|  |             - uses: actions/setup-node@v3 | ||||||
|  |               with: | ||||||
|  |                 node-version: '18' | ||||||
|  | 
 | ||||||
|  |             - name: Checkout code | ||||||
|  |               uses: actions/checkout@v2 | ||||||
|  | 
 | ||||||
|  |             - name: Install Node dependencies | ||||||
|  |               run: npm install | ||||||
|  | 
 | ||||||
|  |             - name: Install Electron-Builder | ||||||
|  |               run: npm install -g electron-builder | ||||||
|  | 
 | ||||||
|  |             - name: Build | ||||||
|  |               run: npm run build && electron-builder --linux && electron-builder --arm64 --linux && electron-builder --armv7l --linux | ||||||
|  |               env: | ||||||
|  |                 GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  |             - name: List all files in the dist directory | ||||||
|  |               run: ls -l dist | ||||||
|  |             - name: Delete unpacked builds | ||||||
|  |               run: rm -rf dist/linux-unpacked && rm -rf dist/linux-arm64-unpacked && rm -rf dist/linux-armv7l-unpacked | ||||||
|  |             - name: Upload artifact | ||||||
|  |               uses: actions/upload-artifact@v2 | ||||||
|  |               with: | ||||||
|  |                   name: ArmCordLinux | ||||||
|  |                   path: dist/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     build-mac: | ||||||
|  |         runs-on: macos-latest | ||||||
|  | 
 | ||||||
|  |         steps: | ||||||
|  |             - uses: actions/setup-node@v3 | ||||||
|  |               with: | ||||||
|  |                 node-version: '18' | ||||||
|  | 
 | ||||||
|  |             - name: Checkout code | ||||||
|  |               uses: actions/checkout@v2 | ||||||
|  | 
 | ||||||
|  |             - name: Install Node dependencies | ||||||
|  |               run: npm install | ||||||
|  |                | ||||||
|  |             - name: Install Electron-Builder | ||||||
|  |               run: npm install -g electron-builder | ||||||
|  | 
 | ||||||
|  |             - name: Build | ||||||
|  |               run: npm run build && electron-builder --macos | ||||||
|  |               env: | ||||||
|  |                 GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  |             - name: List all files in the dist directory | ||||||
|  |               run: ls -l dist | ||||||
|  |             - name: Delete unpacked builds | ||||||
|  |               run: rm -rf dist/macos-unpacked | ||||||
|  | 
 | ||||||
|  |             - name: Upload artifact | ||||||
|  |               uses: actions/upload-artifact@v2 | ||||||
|  |               with: | ||||||
|  |                   name: ArmCordMac | ||||||
|  |                   path: dist/ | ||||||
|  | 
 | ||||||
|  |     build-windows: | ||||||
|  |         runs-on: windows-latest | ||||||
|  | 
 | ||||||
|  |         steps: | ||||||
|  |             - uses: actions/setup-node@v3 | ||||||
|  |               with: | ||||||
|  |                 node-version: '18' | ||||||
|  | 
 | ||||||
|  |             - name: Checkout code | ||||||
|  |               uses: actions/checkout@v2 | ||||||
|  | 
 | ||||||
|  |             - name: Install Node dependencies | ||||||
|  |               run: npm install | ||||||
|  |                | ||||||
|  |             - name: Install Electron-Builder | ||||||
|  |               run: npm install -g electron-builder | ||||||
|  | 
 | ||||||
|  |             - name: Build | ||||||
|  |               run: npm run build && electron-builder --windows | ||||||
|  |               env: | ||||||
|  |                 GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  |             - name: Delete unpacked builds | ||||||
|  |               run: Remove-Item -LiteralPath ".\dist\win-unpacked" -Force -Recurse | ||||||
|  |             - name: Upload artifact | ||||||
|  |               uses: actions/upload-artifact@v2 | ||||||
|  |               with: | ||||||
|  |                   name: ArmCordWindows | ||||||
|  |                   path: dist/ | ||||||
|  |              | ||||||
|  | 
 | ||||||
|  |     release: | ||||||
|  |         runs-on: ubuntu-latest | ||||||
|  |         needs: [build-linux, build-mac, build-windows] | ||||||
|  | 
 | ||||||
|  |         steps: | ||||||
|  |             - uses: actions/download-artifact@v2 | ||||||
|  |               with: | ||||||
|  |                   name: ArmCordMac | ||||||
|  |                   path: macos | ||||||
|  | 
 | ||||||
|  |             - uses: actions/download-artifact@v2 | ||||||
|  |               with: | ||||||
|  |                   name: ArmCordWindows | ||||||
|  |                   path: windows | ||||||
|  | 
 | ||||||
|  |             - uses: actions/download-artifact@v2 | ||||||
|  |               with: | ||||||
|  |                   name: ArmCordLinux | ||||||
|  |                   path: linux | ||||||
|  |             - name: ls | ||||||
|  |               run: ls | ||||||
|  |             - name: Delete unwanted directories | ||||||
|  |               run: rm -rf {linux,macos,windows}/*/ | ||||||
|  |                    rm -rf {linux,macos,windows}/.icon* | ||||||
|  |                    rm -rf {linux,macos,windows}/builder-debug.yml | ||||||
|  |             - name: ls dirs | ||||||
|  |               run: ls linux && ls macos && ls windows  | ||||||
|  |             - name: Get some values needed for the release | ||||||
|  |               id: vars | ||||||
|  |               shell: bash | ||||||
|  |               run: | | ||||||
|  |                 echo "::set-output name=releaseTag::$(git describe --tags --abbrev=0)" | ||||||
|  | 
 | ||||||
|  |             - uses: dev-drprasad/delete-tag-and-release@v0.2.0 | ||||||
|  |               with: | ||||||
|  |                 delete_release: true | ||||||
|  |                 tag_name: v3.0.6 | ||||||
|  |               env: | ||||||
|  |                 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  |             - name: Create Release | ||||||
|  |               uses: actions/github-script@v2 | ||||||
|  |               with: | ||||||
|  |                 github-token: ${{secrets.GITHUB_TOKEN}} | ||||||
|  |                 script: | | ||||||
|  |                   console.log('environment', process.versions); | ||||||
|  |                    | ||||||
|  |                   const fs = require('fs').promises; | ||||||
|  |                    | ||||||
|  |                   const { repo: { owner, repo }, sha } = context; | ||||||
|  |                   console.log({ owner, repo, sha }); | ||||||
|  | 
 | ||||||
|  |                   const release = await github.repos.createRelease({ | ||||||
|  |                     owner, repo, | ||||||
|  |                     tag_name: process.env.releaseTag, | ||||||
|  |                     draft: true, | ||||||
|  |                     target_commitish: sha | ||||||
|  |                   }); | ||||||
|  | 
 | ||||||
|  |                   console.log('created release', { release }); | ||||||
|  |                | ||||||
|  |                   for (let file of await fs.readdir('linux')) { | ||||||
|  |                     // do whatever filtering you want here, I'm just uploading all the files | ||||||
|  |                     console.log('uploading', file); | ||||||
|  |                     await github.repos.uploadReleaseAsset({ | ||||||
|  |                       owner, repo, | ||||||
|  |                       release_id: release.data.id, | ||||||
|  |                       name: file, | ||||||
|  |                       data: await fs.readFile(`./linux/${file}`) | ||||||
|  |                     });     | ||||||
|  |                   } | ||||||
|  |                   for (let file of await fs.readdir('windows')) { | ||||||
|  |                     // do whatever filtering you want here, I'm just uploading all the files | ||||||
|  |                     console.log('uploading', file); | ||||||
|  |                     await github.repos.uploadReleaseAsset({ | ||||||
|  |                       owner, repo, | ||||||
|  |                       release_id: release.data.id, | ||||||
|  |                       name: file, | ||||||
|  |                       data: await fs.readFile(`./windows/${file}`) | ||||||
|  |                     });     | ||||||
|  |                   } | ||||||
|  |                   for (let file of await fs.readdir('macos')) { | ||||||
|  |                     // do whatever filtering you want here, I'm just uploading all the files | ||||||
|  |                     console.log('uploading', file); | ||||||
|  |                     await github.repos.uploadReleaseAsset({ | ||||||
|  |                       owner, repo, | ||||||
|  |                       release_id: release.data.id, | ||||||
|  |                       name: file, | ||||||
|  |                       data: await fs.readFile(`./macos/${file}`) | ||||||
|  |                     });     | ||||||
|  |                   } | ||||||
|  |               env: | ||||||
|  |                 releaseTag: ${{ steps.vars.outputs.releaseTag }} | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue