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

1 Commits

Author SHA1 Message Date
dependabot-preview[bot]
9fc15f1b99 Upgrade to GitHub-native Dependabot 2021-04-29 20:16:20 +00:00
9 changed files with 28 additions and 71 deletions

12
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: cmiksche
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: CMiksche
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ['https://www.paypal.me/CMiksche', 'https://buymeacoff.ee/WmgU5Sk'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

View File

@@ -1,31 +0,0 @@
on:
release:
types:
- created
name: Publish Package
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.8
- name: "Installs and upgrades pip, installs other dependencies and installs the package from setup.py"
run: |
# Upgrade pip
python3 -m pip install --upgrade pip
# Install build deps
python3 -m pip install pipenv setuptools wheel twine
pipenv install
# Install the package from setup.py
python3 setup.py install
- name: Build
run: |
python3 setup.py sdist bdist_wheel
- name: Publish a Python distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}

View File

@@ -15,4 +15,4 @@ pylint = "*"
pre-commit = "*"
[requires]
python_version = "3"
python_version = "3.7"

View File

@@ -3,17 +3,8 @@
[![Build Status](https://cloud.drone.io/api/badges/CMiksche/gitea-auto-update/status.svg)](https://cloud.drone.io/CMiksche/gitea-auto-update)
[![PyPI version](https://badge.fury.io/py/gitea-auto-update.svg)](https://badge.fury.io/py/gitea-auto-update)
[![Downloads](https://pepy.tech/badge/gitea-auto-update)](https://pepy.tech/project/gitea-auto-update)
![GitHub](https://img.shields.io/github/license/cmiksche/gitea-auto-update?style=flat)
[![Twitter Follow](https://img.shields.io/twitter/follow/cmiksche?style=social)](https://twitter.com/cmiksche)
[![Mastodon Follow](https://img.shields.io/mastodon/follow/106336578279256330?domain=https%3A%2F%2Fmastodon.social&style=social)](https://mastodon.social/@cmiksche)
Script for an automatic update of gitea. Should be run locally on the gitea server. Has options for updating via new binary file or build from source.
## Want to update more?
> If you want to update Gitea and other software (like Drone, Caddy, Podman, Python, Zitadel and Kanboard), you should check out [Autoupdate](https://chapati.systems/autoupdate/).
>
> This new tool of mine was built as a single binary with a config file and tested on multiple Linux systems.
Script for a automatic update of gitea. Should be run locally on the gitea server. Has options for updating via new binary file or build from source.
## Procedure
* Get Gitea Version from the Gitea CLI and if that fails from the Gitea API
@@ -37,10 +28,6 @@ Author: Christoph Daniel Miksche (m5e.de)
Uses python version 3
## Dependencies
Ensure `pip3`, `setuptools`, `xz-utils` and `wheel` dependencies are installed on the system you are running this script in. (Most Linux OS like Ubuntu or Debian come with these pre-installed)
## Installation
Create a settings.ini file on your system. Example:
@@ -63,7 +50,7 @@ Use the following command to install gitea-auto-update.
sudo pip3 install gitea-auto-update
```
Enter the command `gitea-auto-update --settings=/path/to/settings.ini` in your commandline.
Enter the command `gite-auto-update --settings=/path/to/settings.ini` in your commandline.
If you want to schedule your updates, edit your /etc/crontab file.
@@ -93,7 +80,8 @@ The following steps are automatically executed via pre-commit hooks.
## Contributors
See https://github.com/CMiksche/gitea-auto-update/graphs/contributors
- [@Eideen](https://github.com/Eideen)
- [@iwalton3](https://github.com/iwalton3)
Thank you for your support!

View File

@@ -12,9 +12,8 @@ import os
def build_from_source(tag, gt_file, source_dir):
"""Function to build the new version from source"""
os.chdir(source_dir)
os.system("git checkout main")
os.system("git checkout master")
os.system("git pull")
os.system("git checkout " + tag)
os.system('TAGS="bindata sqlite sqlite_unlock_notify" make generate build')
os.system("cp gitea " + gt_file)
os.system("rm -f gitea")
os.system("mv gitea " + gt_file)

View File

@@ -24,18 +24,14 @@ def download(url, file_name):
# open in binary mode
with open(file_name, "wb") as file:
# get request
response = requests.get(url, timeout=3600)
response = requests.get(url)
# write to file
file.write(response.content)
def sha_check():
"""Check sha for gitea file"""
sha_path = 'gitea.xz.sha256'
if os.path.exists(sha_path):
return os.system("sha256sum -c "+sha_path+" > /dev/null") == 0
# return true because we don't have a sha file to check
return True
return os.system("sha256sum -c gitea.xz.sha256 > /dev/null") == 0
class Download:
@@ -78,14 +74,10 @@ class Download:
# extracting download file
cmd = "xz -d " + self.tmp_xz
os.system(cmd)
# copying temp file to gtfile location.
# Copying preserves SELinux permissions, see issue #22
cmd = 'cp ' + self.tmp_dir + 'gitea-' + self.github_version \
# moving temp file to gtfile location
cmd = 'mv ' + self.tmp_dir + 'gitea-' + self.github_version \
+ '-' + self.gt_system + ' ' + self.gt_file
os.system(cmd)
# cleaning up tmp file
cmd = 'rm -f ' + self.tmp_dir + 'gitea-' + self.github_version + '-' + self.gt_system
os.system(cmd)
cmd = 'chmod +x ' + self.gt_file
os.system(cmd)

View File

@@ -14,7 +14,7 @@ import requests
def get_github_version_tag(api_url):
"""Get the version from github"""
version_tag = requests.get(api_url, timeout=30).json()['tag_name']
version_tag = requests.get(api_url).json()['tag_name']
logging.info('Version: github_version_tag = %s', version_tag)
return version_tag
@@ -49,7 +49,7 @@ class Version:
except IOError:
# Get the version via the web api if the file does fail
try:
current_version = requests.get(self.gt_site, timeout=30).json()['version']
current_version = requests.get(self.gt_site).json()['version']
if current_version.status_code != 200:
raise RuntimeError("Could not download version.") from None
except RuntimeError:

View File

@@ -70,9 +70,6 @@ class Update:
print("update successfully")
else:
print("current version is uptodate")
print("Check out https://chapati.systems/autoupdate/ if you want to "
"update Gitea and other software "
"(like Drone, Caddy, Podman, Python, Zitadel and Kanboard)")
def updater(settings='settings.ini'):

View File

@@ -1,19 +1,19 @@
'''
Gitea Auto Updater
Copyright 2018, 2019, 2020, 2021, 2022 The Gitea-Auto-Update Authors
Copyright 2018, 2019, 2020 The Gitea-Auto-Update Authors
All rights reserved.
License: GNU General Public License
'''
import setuptools
with open("README.md", "r", encoding='utf8') as fh:
with open("README.md", "r") as fh:
LONG_DESCRIPTION = fh.read()
setuptools.setup(
name='gitea_auto_update',
version='2.0.12',
version='2.0.8',
description='A script which can update gitea to a new version.',
long_description=LONG_DESCRIPTION,
long_description_content_type="text/markdown",