1
0
mirror of https://github.com/CMiksche/gitea-auto-update synced 2025-12-10 16:07:23 +01:00

Merge branch 'master' of github.com:CMiksche/gitea-auto-update

This commit is contained in:
Eideen
2019-05-19 12:35:36 +02:00
3 changed files with 71 additions and 2 deletions

42
functions.py Normal file
View File

@@ -0,0 +1,42 @@
import settings
import requests
import os
# Function to download a file
def download(url, file_name):
# open in binary mode
with open(file_name, "wb") as file:
# get request
response = requests.get(url)
# write to file
file.write(response.content)
# Function to build the new version from source
def buildFromSource(tag):
# Change to source dir
os.chdir(settings.source_dir)
# Checkout master
os.system("git checkout master")
# Update
os.system("git pull")
# Checkout relase branch
os.system("git checkout "+tag)
# Build from source
os.system('TAGS="bindata sqlite sqlite_unlock_notify" make generate build')
# Move binary
os.system("mv gitea "+settings.gtfile)
# Function to create a list from a version string
def getVersionList(string):
return list(map(int, string.split('.')))
# Function to check if there is a new version
def checkVersion(new_version, old_version):
new_version_list = getVersionList(new_version)
old_version_list = getVersionList(old_version)
for id, val in enumerate(new_version_list):
if val > old_version_list[id]:
return True
return None

19
tests.py Normal file
View File

@@ -0,0 +1,19 @@
import functions
import unittest
class Tests(unittest.TestCase):
def checkSimpleVersion(self):
self.assertTrue(functions.checkVersion('1.9.1', '1.9.0'))
def checkTwoIntVersion(self):
self.assertTrue(functions.checkVersion('1.10.0', '1.9.0'))
def checkFalseVersion(self):
self.assertFalse(functions.checkVersion('1.8.0', '1.9.0'))
def checkSameVersion(self):
self.assertFalse(functions.checkVersion('1.9.7', '1.9.7'))
if __name__ == '__main__':
unittest.main()

View File

@@ -9,6 +9,7 @@ License: GNU General Public License
import settings import settings
import requests import requests
import os import os
<<<<<<< HEAD
# Function to download a file # Function to download a file
@@ -35,6 +36,9 @@ def buildFromSource(tag):
os.system('TAGS="bindata sqlite sqlite_unlock_notify" make generate build') os.system('TAGS="bindata sqlite sqlite_unlock_notify" make generate build')
# Move binary # Move binary
os.system("mv gitea "+settings.gtfile) os.system("mv gitea "+settings.gtfile)
=======
import functions
>>>>>>> 38e9451f8a230c9110e7b43f34cd64f375858f71
def is_tool(name): def is_tool(name):
##Check whether `name` is on PATH and marked as executable. ##Check whether `name` is on PATH and marked as executable.
@@ -57,7 +61,7 @@ print ("github_version_tag =", github_version_tag)
# Get version from version tag # Get version from version tag
github_version = github_version_tag[1:] github_version = github_version_tag[1:]
# Check if there is a new version # Check if there is a new version
if github_version > current_version: if functions.checkVersion(github_version, current_version):
# Stop systemd service # Stop systemd service
@@ -67,7 +71,7 @@ if github_version > current_version:
# Should the new version be build from source? # Should the new version be build from source?
if settings.build_from_source: if settings.build_from_source:
buildFromSource(github_version_tag) functions.buildFromSource(github_version_tag)
else: else:
# Set download url # Set download url
@@ -79,6 +83,7 @@ if github_version > current_version:
print (shadownload) print (shadownload)
# Download file # Download file
<<<<<<< HEAD
## downloading sha ## downloading sha
print ("downloading sha256 hashsum") print ("downloading sha256 hashsum")
@@ -105,6 +110,9 @@ if github_version > current_version:
else: else:
print ("error") print ("error")
quit() quit()
=======
functions.download(gtdownload, settings.gtfile)
>>>>>>> 38e9451f8a230c9110e7b43f34cd64f375858f71
# Start systemd service # Start systemd service
print ("starting gitea.service") print ("starting gitea.service")