mirror of
				https://github.com/kepler155c/opus
				synced 2025-10-31 07:33:00 +00:00 
			
		
		
		
	auto upgrade packages on base opus update - github actions wip
This commit is contained in:
		
							
								
								
									
										33
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | |||||||
|  | # This is a basic workflow to help you get started with Actions | ||||||
|  |  | ||||||
|  | name: CI | ||||||
|  |  | ||||||
|  | # Controls when the action will run. Triggers the workflow on push or pull request | ||||||
|  | # events but only for the master branch | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     branches: [ develop-1.8 ] | ||||||
|  |   pull_request: | ||||||
|  |     branches: [ develop-1.8 ] | ||||||
|  |  | ||||||
|  | # A workflow run is made up of one or more jobs that can run sequentially or in parallel | ||||||
|  | jobs: | ||||||
|  |   # This workflow contains a single job called "build" | ||||||
|  |   build: | ||||||
|  |     # The type of runner that the job will run on | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |  | ||||||
|  |     # Steps represent a sequence of tasks that will be executed as part of the job | ||||||
|  |     steps: | ||||||
|  |     # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | ||||||
|  |     - uses: actions/checkout@v2 | ||||||
|  |  | ||||||
|  |     # Runs a single command using the runners shell | ||||||
|  |     - name: Run a one-line script | ||||||
|  |       run: ls | ||||||
|  |  | ||||||
|  |     # Runs a set of commands using the runners shell | ||||||
|  |     - name: Run a multi-line script | ||||||
|  |       run: | | ||||||
|  |         date | ||||||
|  |         echo test, and deploy your project. | ||||||
| @@ -17,7 +17,7 @@ local page = UI.Page { | |||||||
| 			UI:quit() | 			UI:quit() | ||||||
| 		end | 		end | ||||||
|  |  | ||||||
| 		return UI.FileSelect.eventHandler(self, event) | 		return UI.Page.eventHandler(self, event) | ||||||
| 	end, | 	end, | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -16,9 +16,8 @@ local function makeSandbox() | |||||||
| end | end | ||||||
|  |  | ||||||
| local function Syntax(msg) | local function Syntax(msg) | ||||||
| 	_G.printError(msg) | 	print('Syntax: package list | install [name] ... |  update [name] | updateall | uninstall [name]\n') | ||||||
| 	print('\nSyntax: Package list | install [name] ... |  update [name] | uninstall [name]') | 	error(msg) | ||||||
| 	error(0) |  | ||||||
| end | end | ||||||
|  |  | ||||||
| local function progress(max) | local function progress(max) | ||||||
| @@ -76,6 +75,11 @@ local function install(name, isUpdate, ignoreDeps) | |||||||
| 	local packageDir = fs.combine('packages', name) | 	local packageDir = fs.combine('packages', name) | ||||||
|  |  | ||||||
| 	local list = Git.list(manifest.repository) | 	local list = Git.list(manifest.repository) | ||||||
|  | 	-- clear out contents before install/update | ||||||
|  | 	-- TODO: figure out whether to run | ||||||
|  | 	-- install/uninstall for the package | ||||||
|  | 	fs.delete(packageDir) | ||||||
|  |  | ||||||
| 	local showProgress = progress(Util.size(list)) | 	local showProgress = progress(Util.size(list)) | ||||||
|  |  | ||||||
| 	local getList = { } | 	local getList = { } | ||||||
| @@ -151,7 +155,7 @@ if action == 'uninstall' then | |||||||
| 	runScript(manifest.uninstall) | 	runScript(manifest.uninstall) | ||||||
|  |  | ||||||
| 	local packageDir = fs.combine('packages', name) | 	local packageDir = fs.combine('packages', name) | ||||||
| 	fs.delete(fs.resolve(packageDir)) | 	fs.delete(packageDir) | ||||||
| 	print('removed: ' .. packageDir) | 	print('removed: ' .. packageDir) | ||||||
| 	return | 	return | ||||||
| end | end | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ for k,v in pairs(colors) do | |||||||
| end | end | ||||||
|  |  | ||||||
| local allSettings = { } | local allSettings = { } | ||||||
| for k,v in pairs(UI.colors) do | for k,v in pairs(UI.theme.colors) do | ||||||
| 	allSettings[k] = { name = k, value = v } | 	allSettings[k] = { name = k, value = v } | ||||||
| end | end | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,24 +1,9 @@ | |||||||
| local fs    = _G.fs | local fs    = _G.fs | ||||||
|  | local shell = _ENV.shell | ||||||
|  |  | ||||||
| local function deleteIfExists(path) | if fs.exists('.opus_upgrade') then | ||||||
| 	if fs.exists(path) then | 	fs.delete('.opus_upgrade') | ||||||
| 		fs.delete(path) | 	print('Updating packages') | ||||||
| 		print("Deleted outdated file at: "..path) | 	shell.run('package updateall') | ||||||
|  | 	os.reboot() | ||||||
| end | end | ||||||
| end |  | ||||||
| -- cleanup outdated files |  | ||||||
| deleteIfExists('sys/apps/shell') |  | ||||||
| deleteIfExists('sys/etc/app.db') |  | ||||||
| deleteIfExists('sys/extensions') |  | ||||||
| deleteIfExists('sys/network') |  | ||||||
| deleteIfExists('startup') |  | ||||||
| deleteIfExists('sys/apps/system/turtle.lua') |  | ||||||
| deleteIfExists('sys/autorun/gps.lua') |  | ||||||
| deleteIfExists('sys/autorun/gpshost.lua') |  | ||||||
| deleteIfExists('sys/apps/network/redserver.lua') |  | ||||||
| deleteIfExists('sys/apis') |  | ||||||
| deleteIfExists('sys/autorun/apps.lua') |  | ||||||
| deleteIfExists('sys/init/6.tl3.lua') |  | ||||||
|  |  | ||||||
| -- remove this file |  | ||||||
| -- deleteIfExists('sys/autorun/upgraded.lua') |  | ||||||
| @@ -7,9 +7,10 @@ Shell usage: | |||||||
| > package list | > package list | ||||||
| > package install <name> | > package install <name> | ||||||
| > package update <name> | > package update <name> | ||||||
|  | > package updateall | ||||||
| > package uninstall <name> | > package uninstall <name> | ||||||
| 
 | 
 | ||||||
| Package definitions are located in usr/apps/packages. This file can be modified to add custom packages. | Package definitions are located in usr/config/packages. This file can be modified to add custom packages. | ||||||
| 
 | 
 | ||||||
| Current stable packages | Current stable packages | ||||||
| ======================= | ======================= | ||||||
| @@ -47,13 +47,13 @@ function Entry:updateScroll() | |||||||
| 		self.scroll = 0 -- ?? | 		self.scroll = 0 -- ?? | ||||||
| 	end | 	end | ||||||
| 	if self.pos - self.scroll > self.width then | 	if self.pos - self.scroll > self.width then | ||||||
| 		self.scroll = self.pos - self.width | 		self.scroll = math.max(0, self.pos - self.width) | ||||||
| 	elseif self.pos < self.scroll then | 	elseif self.pos < self.scroll then | ||||||
| 		self.scroll = self.pos | 		self.scroll = self.pos | ||||||
| 	end | 	end | ||||||
| 	if self.scroll > 0 then | 	if self.scroll > 0 then | ||||||
| 		if self.scroll + self.width  > len then | 		if self.scroll + self.width  > len then | ||||||
| 			self.scroll = len - self.width | 			self.scroll = math.max(0, len - self.width) | ||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
| 	if ps ~= self.scroll then | 	if ps ~= self.scroll then | ||||||
|   | |||||||
| @@ -37,13 +37,14 @@ local textutils  = _G.textutils | |||||||
| local UI = { } | local UI = { } | ||||||
| function UI:init() | function UI:init() | ||||||
| 	self.devices = { } | 	self.devices = { } | ||||||
| 	self.theme = { } | 	self.theme = { | ||||||
| 	self.extChars = Util.getVersion() >= 1.76 | 		colors = { | ||||||
| 	self.colors = { |  | ||||||
| 			primary = colors.green, | 			primary = colors.green, | ||||||
| 			secondary = colors.lightGray, | 			secondary = colors.lightGray, | ||||||
| 			tertiary = colors.gray, | 			tertiary = colors.gray, | ||||||
| 		} | 		} | ||||||
|  | 	} | ||||||
|  | 	self.extChars = Util.getVersion() >= 1.76 | ||||||
|  |  | ||||||
| 	local function keyFunction(event, code, held) | 	local function keyFunction(event, code, held) | ||||||
| 		local ie = Input:translate(event, code, held) | 		local ie = Input:translate(event, code, held) | ||||||
| @@ -206,6 +207,10 @@ function UI:loadTheme(filename) | |||||||
| 		end | 		end | ||||||
| 		Util.deepMerge(self.theme, theme) | 		Util.deepMerge(self.theme, theme) | ||||||
| 	end | 	end | ||||||
|  | 	for k,v in pairs(self.theme.colors) do | ||||||
|  | 		Canvas.colorPalette[k] = Canvas.colorPalette[v] | ||||||
|  | 		Canvas.grayscalePalette[k] = Canvas.grayscalePalette[v] | ||||||
|  | 	end | ||||||
| end | end | ||||||
|  |  | ||||||
| function UI:generateTheme(filename) | function UI:generateTheme(filename) | ||||||
| @@ -920,6 +925,13 @@ function UI.Window:addTransition(effect, args, canvas) | |||||||
| 	self.parent:addTransition(effect, args, canvas or self) | 	self.parent:addTransition(effect, args, canvas or self) | ||||||
| end | end | ||||||
|  |  | ||||||
|  | UI.Window.docs.emit = [[emit(TABLE event) | ||||||
|  | Send an event to the element. The event handler for the element is called. | ||||||
|  | If the event handler returns true, then no further processing is done. | ||||||
|  | If the event handler does not return true, then the event is sent to the parent element | ||||||
|  | and continues up the element tree. | ||||||
|  | If an accelerator is defined, the accelerated event is processed in the same manner. | ||||||
|  | Accelerators are useful for making events unique.]] | ||||||
| function UI.Window:emit(event) | function UI.Window:emit(event) | ||||||
| 	local parent = self | 	local parent = self | ||||||
| 	while parent do | 	while parent do | ||||||
| @@ -1118,13 +1130,6 @@ end | |||||||
|  |  | ||||||
| loadComponents() | loadComponents() | ||||||
| UI:loadTheme('usr/config/ui.theme') | UI:loadTheme('usr/config/ui.theme') | ||||||
| Util.merge(UI.Window.defaults, UI.theme.Window) |  | ||||||
| Util.merge(UI.colors, UI.theme.colors) |  | ||||||
| UI:setDefaultDevice(UI.Device()) | UI:setDefaultDevice(UI.Device()) | ||||||
|  |  | ||||||
| for k,v in pairs(UI.colors) do |  | ||||||
| 	Canvas.colorPalette[k] = Canvas.colorPalette[v] |  | ||||||
| 	Canvas.grayscalePalette[k] = Canvas.grayscalePalette[v] |  | ||||||
| end |  | ||||||
|  |  | ||||||
| return UI | return UI | ||||||
|   | |||||||
| @@ -62,6 +62,7 @@ function UI.Chooser:eventHandler(event) | |||||||
| 		self:emit({ type = 'choice_change', value = self.value, element = self, choice = choice }) | 		self:emit({ type = 'choice_change', value = self.value, element = self, choice = choice }) | ||||||
| 		self:draw() | 		self:draw() | ||||||
| 		return true | 		return true | ||||||
|  |  | ||||||
| 	elseif event.type == 'choice_prev' then | 	elseif event.type == 'choice_prev' then | ||||||
| 		local _,k = Util.find(self.choices, 'value', self.value) | 		local _,k = Util.find(self.choices, 'value', self.value) | ||||||
| 		local choice | 		local choice | ||||||
| @@ -74,6 +75,7 @@ function UI.Chooser:eventHandler(event) | |||||||
| 		self:emit({ type = 'choice_change', value = self.value, element = self, choice = choice }) | 		self:emit({ type = 'choice_change', value = self.value, element = self, choice = choice }) | ||||||
| 		self:draw() | 		self:draw() | ||||||
| 		return true | 		return true | ||||||
|  |  | ||||||
| 	elseif event.type == 'mouse_click' or event.type == 'mouse_doubleclick' then | 	elseif event.type == 'mouse_click' or event.type == 'mouse_doubleclick' then | ||||||
| 		if event.x == 1 then | 		if event.x == 1 then | ||||||
| 			self:emit({ type = 'choice_prev' }) | 			self:emit({ type = 'choice_prev' }) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 kepler155c@gmail.com
					kepler155c@gmail.com