Compare commits

...

20 Commits

Author SHA1 Message Date
GitHub Action
0857a37440 Release version 0.45.0 2024-01-29 12:52:57 +00:00
Jose Diaz-Gonzalez
585af4c4e3 Merge pull request #236 from BrOleg5/master
Add options to include certain number of latest release and skip prereleases
2024-01-29 07:51:35 -05:00
Jose Diaz-Gonzalez
41ec01d5cb Merge pull request #233 from 8cH9azbsFifZ/master
Docker Images
2024-01-29 07:51:29 -05:00
Jose Diaz-Gonzalez
7dc22358df Merge pull request #239 from josegonzalez/dependabot/pip/python-packages-1d7ddf90bb
chore(deps): bump the python-packages group with 6 updates
2024-01-29 07:50:21 -05:00
Jose Diaz-Gonzalez
b855bcabf6 Merge pull request #238 from mofe23/master
Fix 404 on hooks
2024-01-29 07:50:06 -05:00
dependabot[bot]
3c3262ed69 chore(deps): bump the python-packages group with 6 updates
Bumps the python-packages group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [black](https://github.com/psf/black) | `23.11.0` | `24.1.0` |
| [flake8](https://github.com/pycqa/flake8) | `6.1.0` | `7.0.0` |
| [importlib-metadata](https://github.com/python/importlib_metadata) | `7.0.0` | `7.0.1` |
| [more-itertools](https://github.com/more-itertools/more-itertools) | `10.1.0` | `10.2.0` |
| [pathspec](https://github.com/cpburnz/python-pathspec) | `0.11.2` | `0.12.1` |
| [pyflakes](https://github.com/PyCQA/pyflakes) | `3.1.0` | `3.2.0` |


Updates `black` from 23.11.0 to 24.1.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.11.0...24.1.0)

Updates `flake8` from 6.1.0 to 7.0.0
- [Commits](https://github.com/pycqa/flake8/compare/6.1.0...7.0.0)

Updates `importlib-metadata` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v7.0.0...v7.0.1)

Updates `more-itertools` from 10.1.0 to 10.2.0
- [Release notes](https://github.com/more-itertools/more-itertools/releases)
- [Commits](https://github.com/more-itertools/more-itertools/compare/v10.1.0...v10.2.0)

Updates `pathspec` from 0.11.2 to 0.12.1
- [Release notes](https://github.com/cpburnz/python-pathspec/releases)
- [Changelog](https://github.com/cpburnz/python-pathspec/blob/master/CHANGES.rst)
- [Commits](https://github.com/cpburnz/python-pathspec/compare/v0.11.2...v0.12.1)

Updates `pyflakes` from 3.1.0 to 3.2.0
- [Changelog](https://github.com/PyCQA/pyflakes/blob/main/NEWS.rst)
- [Commits](https://github.com/PyCQA/pyflakes/compare/3.1.0...3.2.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
- dependency-name: flake8
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: more-itertools
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: pathspec
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: pyflakes
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-26 14:14:51 +00:00
Moritz Federspiel
42b836f623 fix: Catch 404s for non-existing hooks. Fixes #176
Explanation: Repositories where no webhooks are defined return 404 errors. This breaks further script execution.
2024-01-16 15:17:48 +01:00
BrOleg5
09f4168db6 Fix code style. 2024-01-05 20:46:02 +08:00
BrOleg5
3e9a4fa0d8 Update CLI help output in README.
Rename destination of latest-releases argument.
2024-01-05 20:35:37 +08:00
BrOleg5
ab18e96ea8 Add option to skip prerelease versions.
Replace release sorting by tag with release sorting by creation date.
2024-01-05 20:26:08 +08:00
BrOleg5
eb88def888 Add option to include certain number of the latest releases. 2024-01-02 12:54:06 +08:00
8cH9azbsFifZ
7fe6541291 auto docker build 2023-12-30 13:04:45 +01:00
8cH9azbsFifZ
c8b8b270f6 vs code 2023-12-30 13:01:46 +01:00
Jose Diaz-Gonzalez
a97f15b519 Merge pull request #229 from josegonzalez/dependabot/pip/python-packages-6492013e8e
chore(deps): bump the python-packages group with 15 updates
2023-12-09 13:30:28 -05:00
dependabot[bot]
500c97c60e chore(deps): bump the python-packages group with 15 updates
Bumps the python-packages group with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [bleach](https://github.com/mozilla/bleach) | `6.0.0` | `6.1.0` |
| [certifi](https://github.com/certifi/python-certifi) | `2023.7.22` | `2023.11.17` |
| [charset-normalizer](https://github.com/Ousret/charset_normalizer) | `3.1.0` | `3.3.2` |
| [idna](https://github.com/kjd/idna) | `3.4` | `3.6` |
| [importlib-metadata](https://github.com/python/importlib_metadata) | `6.6.0` | `7.0.0` |
| [jaraco-classes](https://github.com/jaraco/jaraco.classes) | `3.2.3` | `3.3.0` |
| [keyring](https://github.com/jaraco/keyring) | `23.13.1` | `24.3.0` |
| [markdown-it-py](https://github.com/executablebooks/markdown-it-py) | `2.2.0` | `3.0.0` |
| [more-itertools](https://github.com/more-itertools/more-itertools) | `9.1.0` | `10.1.0` |
| [pygments](https://github.com/pygments/pygments) | `2.15.1` | `2.17.2` |
| [readme-renderer](https://github.com/pypa/readme_renderer) | `37.3` | `42.0` |
| [rich](https://github.com/Textualize/rich) | `13.3.5` | `13.7.0` |
| [tqdm](https://github.com/tqdm/tqdm) | `4.65.0` | `4.66.1` |
| [urllib3](https://github.com/urllib3/urllib3) | `2.0.7` | `2.1.0` |
| [zipp](https://github.com/jaraco/zipp) | `3.15.0` | `3.17.0` |


Updates `bleach` from 6.0.0 to 6.1.0
- [Changelog](https://github.com/mozilla/bleach/blob/main/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v6.0.0...v6.1.0)

Updates `certifi` from 2023.7.22 to 2023.11.17
- [Commits](https://github.com/certifi/python-certifi/compare/2023.07.22...2023.11.17)

Updates `charset-normalizer` from 3.1.0 to 3.3.2
- [Release notes](https://github.com/Ousret/charset_normalizer/releases)
- [Changelog](https://github.com/Ousret/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Ousret/charset_normalizer/compare/3.1.0...3.3.2)

Updates `idna` from 3.4 to 3.6
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.4...v3.6)

Updates `importlib-metadata` from 6.6.0 to 7.0.0
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v6.6.0...v7.0.0)

Updates `jaraco-classes` from 3.2.3 to 3.3.0
- [Release notes](https://github.com/jaraco/jaraco.classes/releases)
- [Changelog](https://github.com/jaraco/jaraco.classes/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/jaraco.classes/compare/v3.2.3...v3.3.0)

Updates `keyring` from 23.13.1 to 24.3.0
- [Release notes](https://github.com/jaraco/keyring/releases)
- [Changelog](https://github.com/jaraco/keyring/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/keyring/compare/v23.13.1...v24.3.0)

Updates `markdown-it-py` from 2.2.0 to 3.0.0
- [Release notes](https://github.com/executablebooks/markdown-it-py/releases)
- [Changelog](https://github.com/executablebooks/markdown-it-py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/markdown-it-py/compare/v2.2.0...v3.0.0)

Updates `more-itertools` from 9.1.0 to 10.1.0
- [Release notes](https://github.com/more-itertools/more-itertools/releases)
- [Commits](https://github.com/more-itertools/more-itertools/compare/v9.1.0...v10.1.0)

Updates `pygments` from 2.15.1 to 2.17.2
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.15.1...2.17.2)

Updates `readme-renderer` from 37.3 to 42.0
- [Release notes](https://github.com/pypa/readme_renderer/releases)
- [Changelog](https://github.com/pypa/readme_renderer/blob/main/CHANGES.rst)
- [Commits](https://github.com/pypa/readme_renderer/compare/37.3...42.0)

Updates `rich` from 13.3.5 to 13.7.0
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v13.3.5...v13.7.0)

Updates `tqdm` from 4.65.0 to 4.66.1
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.65.0...v4.66.1)

Updates `urllib3` from 2.0.7 to 2.1.0
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.0.7...2.1.0)

Updates `zipp` from 3.15.0 to 3.17.0
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.15.0...v3.17.0)

---
updated-dependencies:
- dependency-name: bleach
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: certifi
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: charset-normalizer
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: idna
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
- dependency-name: jaraco-classes
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: keyring
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
- dependency-name: markdown-it-py
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
- dependency-name: more-itertools
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
- dependency-name: pygments
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: readme-renderer
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
- dependency-name: rich
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: tqdm
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: zipp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-09 18:30:23 +00:00
Jose Diaz-Gonzalez
31a6e52a5e fix: ensure wheel is installed 2023-12-09 12:34:58 -05:00
Jose Diaz-Gonzalez
4c5187bcff chore: format python code 2023-12-09 12:31:33 -05:00
Jose Diaz-Gonzalez
2de69beffa chore: format yaml 2023-12-09 12:31:33 -05:00
Jose Diaz-Gonzalez
96592295e1 chore: update gitignore 2023-12-09 12:31:33 -05:00
Jose Diaz-Gonzalez
bd65c3d5d6 feat: add dependabot config to repository 2023-12-09 12:25:51 -05:00
12 changed files with 428 additions and 44 deletions

11
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: pip
directory: "/"
schedule:
interval: daily
time: "13:00"
groups:
python-packages:
patterns:
- "*"

75
.github/workflows/docker.yml vendored Normal file
View File

@@ -0,0 +1,75 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Create and publish a Docker image
on:
push:
branches:
- 'master'
- 'main'
- 'dev'
tags:
- 'v*'
- 'v*.*'
- 'v*.*.*'
- '*'
- '*.*'
- '*.*.*'
pull_request:
branches:
- 'main'
- 'dev'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }}
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

View File

@@ -5,11 +5,11 @@ name: "lint"
on: on:
pull_request: pull_request:
branches: branches:
- '*' - "*"
push: push:
branches: branches:
- 'main' - "main"
- 'master' - "master"
jobs: jobs:
lint: lint:
@@ -26,7 +26,8 @@ jobs:
with: with:
python-version: "3.8" python-version: "3.8"
cache: "pip" cache: "pip"
- run: pip install -r release-requirements.txt - run: pip install -r release-requirements.txt && pip install wheel
- run: flake8 --ignore=E501,E203,W503 - run: flake8 --ignore=E501,E203,W503
- run: black . - run: black .
- run: rst-lint README.rst - run: rst-lint README.rst
- run: python setup.py sdist bdist_wheel && twine check dist/*

13
.gitignore vendored
View File

@@ -18,13 +18,13 @@ pkg
# Debian Files # Debian Files
debian/files debian/files
debian/python-aws-hostname* debian/python-github-backup*
# Sphinx build # Sphinx build
doc/_build doc/_build
# Generated man page # Generated man page
doc/aws_hostname.1 doc/github_backup.1
# Annoying macOS files # Annoying macOS files
.DS_Store .DS_Store
@@ -34,4 +34,11 @@ doc/aws_hostname.1
.vscode .vscode
.atom .atom
README README
# RSA
id_rsa
id_rsa.pub
# Virtual env
venv

View File

@@ -1,10 +1,257 @@
Changelog Changelog
========= =========
0.44.1 (2023-12-09) 0.45.0 (2024-01-29)
------------------- -------------------
------------------------ ------------------------
Fix
~~~
- Catch 404s for non-existing hooks. Fixes #176. [Moritz Federspiel]
- Ensure wheel is installed. [Jose Diaz-Gonzalez]
Other
~~~~~
- Fix code style. [BrOleg5]
- Add option to skip prerelease versions. [BrOleg5]
Replace release sorting by tag with release sorting by creation date.
- Add option to include certain number of the latest releases. [BrOleg5]
- Auto docker build. [8cH9azbsFifZ]
- Vs code. [8cH9azbsFifZ]
- Chore(deps): bump the python-packages group with 6 updates.
[dependabot[bot]]
Bumps the python-packages group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [black](https://github.com/psf/black) | `23.11.0` | `24.1.0` |
| [flake8](https://github.com/pycqa/flake8) | `6.1.0` | `7.0.0` |
| [importlib-metadata](https://github.com/python/importlib_metadata) | `7.0.0` | `7.0.1` |
| [more-itertools](https://github.com/more-itertools/more-itertools) | `10.1.0` | `10.2.0` |
| [pathspec](https://github.com/cpburnz/python-pathspec) | `0.11.2` | `0.12.1` |
| [pyflakes](https://github.com/PyCQA/pyflakes) | `3.1.0` | `3.2.0` |
Updates `black` from 23.11.0 to 24.1.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.11.0...24.1.0)
Updates `flake8` from 6.1.0 to 7.0.0
- [Commits](https://github.com/pycqa/flake8/compare/6.1.0...7.0.0)
Updates `importlib-metadata` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v7.0.0...v7.0.1)
Updates `more-itertools` from 10.1.0 to 10.2.0
- [Release notes](https://github.com/more-itertools/more-itertools/releases)
- [Commits](https://github.com/more-itertools/more-itertools/compare/v10.1.0...v10.2.0)
Updates `pathspec` from 0.11.2 to 0.12.1
- [Release notes](https://github.com/cpburnz/python-pathspec/releases)
- [Changelog](https://github.com/cpburnz/python-pathspec/blob/master/CHANGES.rst)
- [Commits](https://github.com/cpburnz/python-pathspec/compare/v0.11.2...v0.12.1)
Updates `pyflakes` from 3.1.0 to 3.2.0
- [Changelog](https://github.com/PyCQA/pyflakes/blob/main/NEWS.rst)
- [Commits](https://github.com/PyCQA/pyflakes/compare/3.1.0...3.2.0)
---
updated-dependencies:
- dependency-name: black
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: python-packages
- dependency-name: flake8
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: python-packages
- dependency-name: importlib-metadata
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: python-packages
- dependency-name: more-itertools
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: pathspec
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: pyflakes
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
...
- Chore(deps): bump the python-packages group with 15 updates.
[dependabot[bot]]
Bumps the python-packages group with 15 updates:
| Package | From | To |
| --- | --- | --- |
| [bleach](https://github.com/mozilla/bleach) | `6.0.0` | `6.1.0` |
| [certifi](https://github.com/certifi/python-certifi) | `2023.7.22` | `2023.11.17` |
| [charset-normalizer](https://github.com/Ousret/charset_normalizer) | `3.1.0` | `3.3.2` |
| [idna](https://github.com/kjd/idna) | `3.4` | `3.6` |
| [importlib-metadata](https://github.com/python/importlib_metadata) | `6.6.0` | `7.0.0` |
| [jaraco-classes](https://github.com/jaraco/jaraco.classes) | `3.2.3` | `3.3.0` |
| [keyring](https://github.com/jaraco/keyring) | `23.13.1` | `24.3.0` |
| [markdown-it-py](https://github.com/executablebooks/markdown-it-py) | `2.2.0` | `3.0.0` |
| [more-itertools](https://github.com/more-itertools/more-itertools) | `9.1.0` | `10.1.0` |
| [pygments](https://github.com/pygments/pygments) | `2.15.1` | `2.17.2` |
| [readme-renderer](https://github.com/pypa/readme_renderer) | `37.3` | `42.0` |
| [rich](https://github.com/Textualize/rich) | `13.3.5` | `13.7.0` |
| [tqdm](https://github.com/tqdm/tqdm) | `4.65.0` | `4.66.1` |
| [urllib3](https://github.com/urllib3/urllib3) | `2.0.7` | `2.1.0` |
| [zipp](https://github.com/jaraco/zipp) | `3.15.0` | `3.17.0` |
Updates `bleach` from 6.0.0 to 6.1.0
- [Changelog](https://github.com/mozilla/bleach/blob/main/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v6.0.0...v6.1.0)
Updates `certifi` from 2023.7.22 to 2023.11.17
- [Commits](https://github.com/certifi/python-certifi/compare/2023.07.22...2023.11.17)
Updates `charset-normalizer` from 3.1.0 to 3.3.2
- [Release notes](https://github.com/Ousret/charset_normalizer/releases)
- [Changelog](https://github.com/Ousret/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Ousret/charset_normalizer/compare/3.1.0...3.3.2)
Updates `idna` from 3.4 to 3.6
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.4...v3.6)
Updates `importlib-metadata` from 6.6.0 to 7.0.0
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v6.6.0...v7.0.0)
Updates `jaraco-classes` from 3.2.3 to 3.3.0
- [Release notes](https://github.com/jaraco/jaraco.classes/releases)
- [Changelog](https://github.com/jaraco/jaraco.classes/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/jaraco.classes/compare/v3.2.3...v3.3.0)
Updates `keyring` from 23.13.1 to 24.3.0
- [Release notes](https://github.com/jaraco/keyring/releases)
- [Changelog](https://github.com/jaraco/keyring/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/keyring/compare/v23.13.1...v24.3.0)
Updates `markdown-it-py` from 2.2.0 to 3.0.0
- [Release notes](https://github.com/executablebooks/markdown-it-py/releases)
- [Changelog](https://github.com/executablebooks/markdown-it-py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/markdown-it-py/compare/v2.2.0...v3.0.0)
Updates `more-itertools` from 9.1.0 to 10.1.0
- [Release notes](https://github.com/more-itertools/more-itertools/releases)
- [Commits](https://github.com/more-itertools/more-itertools/compare/v9.1.0...v10.1.0)
Updates `pygments` from 2.15.1 to 2.17.2
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.15.1...2.17.2)
Updates `readme-renderer` from 37.3 to 42.0
- [Release notes](https://github.com/pypa/readme_renderer/releases)
- [Changelog](https://github.com/pypa/readme_renderer/blob/main/CHANGES.rst)
- [Commits](https://github.com/pypa/readme_renderer/compare/37.3...42.0)
Updates `rich` from 13.3.5 to 13.7.0
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v13.3.5...v13.7.0)
Updates `tqdm` from 4.65.0 to 4.66.1
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.65.0...v4.66.1)
Updates `urllib3` from 2.0.7 to 2.1.0
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.0.7...2.1.0)
Updates `zipp` from 3.15.0 to 3.17.0
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.15.0...v3.17.0)
---
updated-dependencies:
- dependency-name: bleach
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: certifi
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: charset-normalizer
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: idna
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: importlib-metadata
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: python-packages
- dependency-name: jaraco-classes
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: keyring
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: python-packages
- dependency-name: markdown-it-py
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: python-packages
- dependency-name: more-itertools
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: python-packages
- dependency-name: pygments
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: readme-renderer
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: python-packages
- dependency-name: rich
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: tqdm
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: urllib3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
- dependency-name: zipp
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: python-packages
...
- Chore: format python code. [Jose Diaz-Gonzalez]
- Chore: format yaml. [Jose Diaz-Gonzalez]
- Chore: update gitignore. [Jose Diaz-Gonzalez]
- Feat: add dependabot config to repository. [Jose Diaz-Gonzalez]
0.44.1 (2023-12-09)
-------------------
Fix Fix
~~~ ~~~
- Use a deploy key to push tags so releases get auto-created. [Jose - Use a deploy key to push tags so releases get auto-created. [Jose

View File

@@ -49,7 +49,9 @@ CLI Help output::
[-P] [-F] [--prefer-ssh] [-v] [-P] [-F] [--prefer-ssh] [-v]
[--keychain-name OSX_KEYCHAIN_ITEM_NAME] [--keychain-name OSX_KEYCHAIN_ITEM_NAME]
[--keychain-account OSX_KEYCHAIN_ITEM_ACCOUNT] [--keychain-account OSX_KEYCHAIN_ITEM_ACCOUNT]
[--releases] [--assets] [--exclude [REPOSITORY [REPOSITORY ...]] [--releases] [--latest-releases NUMBER_OF_LATEST_RELEASES]
[--skip-prerelease] [--assets]
[--exclude [REPOSITORY [REPOSITORY ...]]
[--throttle-limit THROTTLE_LIMIT] [--throttle-pause THROTTLE_PAUSE] [--throttle-limit THROTTLE_LIMIT] [--throttle-pause THROTTLE_PAUSE]
USER USER
@@ -124,6 +126,10 @@ CLI Help output::
keychain that holds the personal access or OAuth token keychain that holds the personal access or OAuth token
--releases include release information, not including assets or --releases include release information, not including assets or
binaries binaries
--latest-releases NUMBER_OF_LATEST_RELEASES
include certain number of the latest releases;
only applies if including releases
--skip-prerelease skip prerelease and draft versions; only applies if including releases
--assets include assets alongside release information; only --assets include assets alongside release information; only
applies if including releases applies if including releases
--exclude [REPOSITORY [REPOSITORY ...]] --exclude [REPOSITORY [REPOSITORY ...]]

View File

@@ -1,12 +1,8 @@
#!/usr/bin/env python #!/usr/bin/env python
import os, sys, logging import logging
import os
logging.basicConfig( import sys
format='%(asctime)s.%(msecs)03d: %(message)s',
datefmt='%Y-%m-%dT%H:%M:%S',
level=logging.INFO
)
from github_backup.github_backup import ( from github_backup.github_backup import (
backup_account, backup_account,
@@ -20,6 +16,12 @@ from github_backup.github_backup import (
retrieve_repositories, retrieve_repositories,
) )
logging.basicConfig(
format="%(asctime)s.%(msecs)03d: %(message)s",
datefmt="%Y-%m-%dT%H:%M:%S",
level=logging.INFO,
)
def main(): def main():
args = parse_args() args = parse_args()
@@ -29,7 +31,7 @@ def main():
output_directory = os.path.realpath(args.output_directory) output_directory = os.path.realpath(args.output_directory)
if not os.path.isdir(output_directory): if not os.path.isdir(output_directory):
logger.info('Create output directory {0}'.format(output_directory)) logger.info("Create output directory {0}".format(output_directory))
mkdir_p(output_directory) mkdir_p(output_directory)
if args.lfs_clone: if args.lfs_clone:
@@ -41,10 +43,10 @@ def main():
logger.root.setLevel(log_level) logger.root.setLevel(log_level)
if not args.as_app: if not args.as_app:
logger.info('Backing up user {0} to {1}'.format(args.user, output_directory)) logger.info("Backing up user {0} to {1}".format(args.user, output_directory))
authenticated_user = get_authenticated_user(args) authenticated_user = get_authenticated_user(args)
else: else:
authenticated_user = {'login': None} authenticated_user = {"login": None}
repositories = retrieve_repositories(args, authenticated_user) repositories = retrieve_repositories(args, authenticated_user)
repositories = filter_repositories(args, repositories) repositories = filter_repositories(args, repositories)
@@ -52,7 +54,7 @@ def main():
backup_account(args, output_directory) backup_account(args, output_directory)
if __name__ == '__main__': if __name__ == "__main__":
try: try:
main() main()
except Exception as e: except Exception as e:

View File

@@ -1 +1 @@
__version__ = "0.44.1" __version__ = "0.45.0"

View File

@@ -23,6 +23,7 @@ from urllib.error import HTTPError, URLError
from urllib.parse import quote as urlquote from urllib.parse import quote as urlquote
from urllib.parse import urlencode, urlparse from urllib.parse import urlencode, urlparse
from urllib.request import HTTPRedirectHandler, Request, build_opener, urlopen from urllib.request import HTTPRedirectHandler, Request, build_opener, urlopen
from datetime import datetime
try: try:
from . import __version__ from . import __version__
@@ -376,6 +377,19 @@ def parse_args(args=None):
dest="include_releases", dest="include_releases",
help="include release information, not including assets or binaries", help="include release information, not including assets or binaries",
) )
parser.add_argument(
"--latest-releases",
type=int,
default=0,
dest="number_of_latest_releases",
help="include certain number of the latest releases; only applies if including releases",
)
parser.add_argument(
"--skip-prerelease",
action="store_true",
dest="skip_prerelease",
help="skip prerelease and draft versions; only applies if including releases",
)
parser.add_argument( parser.add_argument(
"--assets", "--assets",
action="store_true", action="store_true",
@@ -497,7 +511,7 @@ def get_github_host(args):
def read_file_contents(file_uri): def read_file_contents(file_uri):
return open(file_uri[len(FILE_URI_PREFIX) :], "rt").readline().strip() return open(file_uri[len(FILE_URI_PREFIX):], "rt").readline().strip()
def get_github_repo_url(args, repository): def get_github_repo_url(args, repository):
@@ -1189,8 +1203,11 @@ def backup_hooks(args, repo_cwd, repository, repos_template):
template = "{0}/{1}/hooks".format(repos_template, repository["full_name"]) template = "{0}/{1}/hooks".format(repos_template, repository["full_name"])
try: try:
_backup_data(args, "hooks", template, output_file, hook_cwd) _backup_data(args, "hooks", template, output_file, hook_cwd)
except SystemExit: except Exception as e:
logger.info("Unable to read hooks, skipping") if "404" in str(e):
logger.info("Unable to read hooks, skipping")
else:
raise e
def backup_releases(args, repo_cwd, repository, repos_template, include_assets=False): def backup_releases(args, repo_cwd, repository, repos_template, include_assets=False):
@@ -1206,8 +1223,18 @@ def backup_releases(args, repo_cwd, repository, repos_template, include_assets=F
release_template = "{0}/{1}/releases".format(repos_template, repository_fullname) release_template = "{0}/{1}/releases".format(repos_template, repository_fullname)
releases = retrieve_data(args, release_template, query_args=query_args) releases = retrieve_data(args, release_template, query_args=query_args)
if args.skip_prerelease:
releases = [r for r in releases if not r["prerelease"] and not r["draft"]]
if args.number_of_latest_releases and args.number_of_latest_releases < len(releases):
releases.sort(key=lambda item: datetime.strptime(item["created_at"], "%Y-%m-%dT%H:%M:%SZ"),
reverse=True)
releases = releases[:args.number_of_latest_releases]
logger.info("Saving the latest {0} releases to disk".format(len(releases)))
else:
logger.info("Saving {0} releases to disk".format(len(releases)))
# for each release, store it # for each release, store it
logger.info("Saving {0} releases to disk".format(len(releases)))
for release in releases: for release in releases:
release_name = release["tag_name"] release_name = release["tag_name"]
release_name_safe = release_name.replace("/", "__") release_name_safe = release_name.replace("/", "__")

View File

@@ -0,0 +1,7 @@
{
"folders": [
{
"path": "."
}
]
}

View File

@@ -1,38 +1,38 @@
autopep8==2.0.4 autopep8==2.0.4
black==23.11.0 black==24.1.0
bleach==6.0.0 bleach==6.1.0
certifi==2023.7.22 certifi==2023.11.17
charset-normalizer==3.1.0 charset-normalizer==3.3.2
click==8.1.7 click==8.1.7
colorama==0.4.6 colorama==0.4.6
docutils==0.20.1 docutils==0.20.1
flake8==6.1.0 flake8==7.0.0
gitchangelog==3.0.4 gitchangelog==3.0.4
idna==3.4 idna==3.6
importlib-metadata==6.6.0 importlib-metadata==7.0.1
jaraco.classes==3.2.3 jaraco.classes==3.3.0
keyring==23.13.1 keyring==24.3.0
markdown-it-py==2.2.0 markdown-it-py==3.0.0
mccabe==0.7.0 mccabe==0.7.0
mdurl==0.1.2 mdurl==0.1.2
more-itertools==9.1.0 more-itertools==10.2.0
mypy-extensions==1.0.0 mypy-extensions==1.0.0
packaging==23.2 packaging==23.2
pathspec==0.11.2 pathspec==0.12.1
pkginfo==1.9.6 pkginfo==1.9.6
platformdirs==4.1.0 platformdirs==4.1.0
pycodestyle==2.11.1 pycodestyle==2.11.1
pyflakes==3.1.0 pyflakes==3.2.0
Pygments==2.15.1 Pygments==2.17.2
readme-renderer==37.3 readme-renderer==42.0
requests==2.31.0 requests==2.31.0
requests-toolbelt==1.0.0 requests-toolbelt==1.0.0
restructuredtext-lint==1.4.0 restructuredtext-lint==1.4.0
rfc3986==2.0.0 rfc3986==2.0.0
rich==13.3.5 rich==13.7.0
six==1.16.0 six==1.16.0
tqdm==4.65.0 tqdm==4.66.1
twine==4.0.2 twine==4.0.2
urllib3==2.0.7 urllib3==2.1.0
webencodings==0.5.1 webencodings==0.5.1
zipp==3.15.0 zipp==3.17.0

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os import os
from github_backup import __version__ from github_backup import __version__
try: try: