mirror of
				https://github.com/KaKi87/vivaldi-source.git
				synced 2025-07-20 01:05:36 +00:00 
			
		
		
		
	👷 Add GitHub Actions & Bun script
This commit is contained in:
		
							parent
							
								
									d22632715a
								
							
						
					
					
						commit
						94e2b81576
					
				
					 3 changed files with 62 additions and 0 deletions
				
			
		
							
								
								
									
										20
									
								
								.github/workflows/bun.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/bun.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | |||
| name: Bun Test | ||||
| 
 | ||||
| on: | ||||
|   schedule: | ||||
|     - cron: '0 0 * * *' | ||||
| 
 | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
| 
 | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: Setup Bun | ||||
|         uses: oven-sh/setup-bun@v1 | ||||
|         with: | ||||
|           bun-version: latest | ||||
| 
 | ||||
|       - name: Run script | ||||
|         run: bun main.js | ||||
							
								
								
									
										42
									
								
								main.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								main.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,42 @@ | |||
| import { $ } from 'bun'; | ||||
| 
 | ||||
| console.log('Fetching versions'); | ||||
| const items = | ||||
|     await fetch('https://vivaldi.com/source/') | ||||
|         .then(response => response.text()) | ||||
|         .then(html => html.matchAll(/<a href="(https:\/\/source\.vivaldi\.com\/vivaldi-source_([0-9.]+)\.tar.xz)".+?modified hidemobile">([^<]+)/g)) | ||||
|         .then(matches => [...matches]) | ||||
|         .then(matches => matches.map(([ | ||||
|             , url | ||||
|             , version | ||||
|             , date | ||||
|         ]) => ({ | ||||
|             url, | ||||
|             version, | ||||
|             date | ||||
|         }))) | ||||
|         .then(items => items.toReversed()); | ||||
| console.log(`Fetched ${items.length} versions`); | ||||
| for(const { | ||||
|     url, | ||||
|     version, | ||||
|     date | ||||
| } of items){ | ||||
|     console.log(`Processing version ${version}`); | ||||
|     if(await $`git tag -l ${version}`.text()){ | ||||
|         console.log(`Version ${version} already exists`); | ||||
|         continue; | ||||
|     } | ||||
|     console.log(`Downloading ${url}`); | ||||
|     await $`curl -L ${url} | tar xJ`; | ||||
|     console.log(`Staging version ${version}`); | ||||
|     await $`git add vivaldi-source` | ||||
|     console.log(`Committing version ${version}`); | ||||
|     await $`git commit -m ${version} --date ${date}`; | ||||
|     console.log(`Tagging version ${version}`); | ||||
|     await $`git tag -a ${version} -m ${version}`; | ||||
|     console.log(`Pushing version ${version}`); | ||||
|     await $`git push`; | ||||
|     console.log(`Version ${version} pushed`) | ||||
| } | ||||
| console.log('Done'); | ||||
							
								
								
									
										0
									
								
								vivaldi-source/.gitkeep
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								vivaldi-source/.gitkeep
									
										
									
									
									
										Normal file
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue