update notification

This commit is contained in:
kepler155c@gmail.com 2020-04-30 20:22:44 -06:00
parent 1543f4d624
commit e721eb68b6
3 changed files with 55 additions and 10 deletions

View File

@ -24,11 +24,12 @@ jobs:
# Runs a single command using the runners shell
- name: Run a one-line script
run: echo date > .opus_version
run: echo `date` > .opus_version
- name: Update version file
uses: alexesprit/action-update-file@master
with:
branch: develop-1.8
file-path: .opus_version
commit-msg: Update version date
github-token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -1,9 +0,0 @@
local fs = _G.fs
local shell = _ENV.shell
if fs.exists('.opus_upgrade') then
fs.delete('.opus_upgrade')
print('Updating packages')
shell.run('package updateall')
os.reboot()
end

53
sys/autorun/version.lua Normal file
View File

@ -0,0 +1,53 @@
local Config = require('opus.config')
local Util = require('opus.util')
local fs = _G.fs
local shell = _ENV.shell
local URL = 'https://raw.githubusercontent.com/kepler155c/opus/%s/.opus_version'
local function notifyUpdate(config)
print('Opus has been updated to: ' .. config.current)
read()
end
if fs.exists('.opus_version') then
local f = fs.open('.opus_version')
local date = f.readLine()
f.close()
if type(date) == 'string' and #date > 0 then
local today = os.date('%j')
local config = Config.load('version', {
opus = date,
packages = date,
checked = today,
})
-- check if packages need an update
if config.opus ~= config.packages then
config.packages = config.opus
Config.update('version', config)
print('Updating packages')
shell.run('package updateall')
os.reboot()
end
if config.checked ~= today then
config.checked = today
Config.update('version', config)
print('Checking for new version')
pcall(function()
local c = Util.httpGet(string.format(URL, _G.OPUS_BRANCH))
if c then
c = Util.split(c)[1]
if config.opus ~= c and config.skip ~= c then
config.current = c
Config.update('version', config)
notifyUpdate(config)
end
end
end)
end
end
end