mirror of
https://github.com/CMiksche/gitea-auto-update
synced 2025-12-10 16:07:23 +01:00
Compare commits
12 Commits
2.0.9
...
8b30f0b9d5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b30f0b9d5 | ||
|
|
6f85b5b0a3 | ||
|
|
50586a33a3 | ||
|
|
576f7454c1 | ||
|
|
7379ad56ce | ||
|
|
2740dcb1b8 | ||
|
|
92cefe029a | ||
|
|
c2da136d7e | ||
|
|
bdef0b6987 | ||
|
|
ccb3e058ef | ||
|
|
4f3dd23bf7 | ||
|
|
18d6da360d |
31
.github/workflows/pypi-publish.yml
vendored
Normal file
31
.github/workflows/pypi-publish.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
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 }}
|
||||||
11
README.md
11
README.md
@@ -3,8 +3,11 @@
|
|||||||
[](https://cloud.drone.io/CMiksche/gitea-auto-update)
|
[](https://cloud.drone.io/CMiksche/gitea-auto-update)
|
||||||
[](https://badge.fury.io/py/gitea-auto-update)
|
[](https://badge.fury.io/py/gitea-auto-update)
|
||||||
[](https://pepy.tech/project/gitea-auto-update)
|
[](https://pepy.tech/project/gitea-auto-update)
|
||||||
|

|
||||||
|
[](https://twitter.com/cmiksche)
|
||||||
|
[](https://mastodon.social/@cmiksche)
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
## Procedure
|
## Procedure
|
||||||
* Get Gitea Version from the Gitea CLI and if that fails from the Gitea API
|
* Get Gitea Version from the Gitea CLI and if that fails from the Gitea API
|
||||||
@@ -28,6 +31,10 @@ Author: Christoph Daniel Miksche (m5e.de)
|
|||||||
|
|
||||||
Uses python version 3
|
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
|
## Installation
|
||||||
|
|
||||||
Create a settings.ini file on your system. Example:
|
Create a settings.ini file on your system. Example:
|
||||||
@@ -50,7 +57,7 @@ Use the following command to install gitea-auto-update.
|
|||||||
sudo pip3 install gitea-auto-update
|
sudo pip3 install gitea-auto-update
|
||||||
```
|
```
|
||||||
|
|
||||||
Enter the command `gite-auto-update --settings=/path/to/settings.ini` in your commandline.
|
Enter the command `gitea-auto-update --settings=/path/to/settings.ini` in your commandline.
|
||||||
|
|
||||||
If you want to schedule your updates, edit your /etc/crontab file.
|
If you want to schedule your updates, edit your /etc/crontab file.
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import os
|
|||||||
def build_from_source(tag, gt_file, source_dir):
|
def build_from_source(tag, gt_file, source_dir):
|
||||||
"""Function to build the new version from source"""
|
"""Function to build the new version from source"""
|
||||||
os.chdir(source_dir)
|
os.chdir(source_dir)
|
||||||
os.system("git checkout master")
|
os.system("git checkout main")
|
||||||
os.system("git pull")
|
os.system("git pull")
|
||||||
os.system("git checkout " + tag)
|
os.system("git checkout " + tag)
|
||||||
os.system('TAGS="bindata sqlite sqlite_unlock_notify" make generate build')
|
os.system('TAGS="bindata sqlite sqlite_unlock_notify" make generate build')
|
||||||
|
|||||||
@@ -24,14 +24,18 @@ def download(url, file_name):
|
|||||||
# open in binary mode
|
# open in binary mode
|
||||||
with open(file_name, "wb") as file:
|
with open(file_name, "wb") as file:
|
||||||
# get request
|
# get request
|
||||||
response = requests.get(url)
|
response = requests.get(url, timeout=3600)
|
||||||
# write to file
|
# write to file
|
||||||
file.write(response.content)
|
file.write(response.content)
|
||||||
|
|
||||||
|
|
||||||
def sha_check():
|
def sha_check():
|
||||||
"""Check sha for gitea file"""
|
"""Check sha for gitea file"""
|
||||||
return os.system("sha256sum -c gitea.xz.sha256 > /dev/null") == 0
|
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
|
||||||
|
|
||||||
|
|
||||||
class Download:
|
class Download:
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import requests
|
|||||||
|
|
||||||
def get_github_version_tag(api_url):
|
def get_github_version_tag(api_url):
|
||||||
"""Get the version from github"""
|
"""Get the version from github"""
|
||||||
version_tag = requests.get(api_url).json()['tag_name']
|
version_tag = requests.get(api_url, timeout=30).json()['tag_name']
|
||||||
logging.info('Version: github_version_tag = %s', version_tag)
|
logging.info('Version: github_version_tag = %s', version_tag)
|
||||||
return version_tag
|
return version_tag
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ class Version:
|
|||||||
except IOError:
|
except IOError:
|
||||||
# Get the version via the web api if the file does fail
|
# Get the version via the web api if the file does fail
|
||||||
try:
|
try:
|
||||||
current_version = requests.get(self.gt_site).json()['version']
|
current_version = requests.get(self.gt_site, timeout=30).json()['version']
|
||||||
if current_version.status_code != 200:
|
if current_version.status_code != 200:
|
||||||
raise RuntimeError("Could not download version.") from None
|
raise RuntimeError("Could not download version.") from None
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
|
|||||||
6
setup.py
6
setup.py
@@ -1,19 +1,19 @@
|
|||||||
'''
|
'''
|
||||||
Gitea Auto Updater
|
Gitea Auto Updater
|
||||||
|
|
||||||
Copyright 2018, 2019, 2020 The Gitea-Auto-Update Authors
|
Copyright 2018, 2019, 2020, 2021, 2022 The Gitea-Auto-Update Authors
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
License: GNU General Public License
|
License: GNU General Public License
|
||||||
'''
|
'''
|
||||||
import setuptools
|
import setuptools
|
||||||
|
|
||||||
with open("README.md", "r") as fh:
|
with open("README.md", "r", encoding='utf8') as fh:
|
||||||
LONG_DESCRIPTION = fh.read()
|
LONG_DESCRIPTION = fh.read()
|
||||||
|
|
||||||
setuptools.setup(
|
setuptools.setup(
|
||||||
name='gitea_auto_update',
|
name='gitea_auto_update',
|
||||||
version='2.0.9',
|
version='2.0.11',
|
||||||
description='A script which can update gitea to a new version.',
|
description='A script which can update gitea to a new version.',
|
||||||
long_description=LONG_DESCRIPTION,
|
long_description=LONG_DESCRIPTION,
|
||||||
long_description_content_type="text/markdown",
|
long_description_content_type="text/markdown",
|
||||||
|
|||||||
Reference in New Issue
Block a user