Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
181 commits
Select commit Hold shift + click to select a range
5a4f8dc
Update __init__.py
grumo35 Jan 31, 2022
4e7b556
Merge branch 'master' into patch-1
furlongm Feb 15, 2022
f75fc86
Merge branch 'master' into patch-1
furlongm Feb 16, 2022
bb0edca
Merge branch 'master' into patch-1
furlongm Mar 20, 2025
d284621
Merge branch 'main' into patch-1
furlongm Mar 22, 2025
92968cc
Merge branch 'main' into patch-1
furlongm Mar 22, 2025
c62ccb2
Update __init__.py
furlongm Mar 22, 2025
959d3cb
Update __init__.py
furlongm Mar 22, 2025
fc88840
Merge branch 'main' into patch-1
furlongm Mar 22, 2025
50d46d2
handle duplicate CVSSes better
furlongm Apr 23, 2025
ee684e6
Merge pull request #681 from furlongm/cvss-fix
furlongm Apr 23, 2025
5120136
reduce max charfield length for mysql
furlongm Apr 8, 2025
662d024
further reduce charfield size for mysql
furlongm Apr 18, 2025
7cff020
reduce URLField max_length to 765
furlongm Apr 29, 2025
cde2440
Merge pull request #673 from furlongm/bug/mysql-max-col-length
furlongm Apr 30, 2025
891d48f
Merge branch 'main' into patch-1
furlongm Apr 30, 2025
aeddb40
Bump django from 4.2.20 to 4.2.21
dependabot[bot] May 8, 2025
c147497
Merge pull request #682 from furlongm/dependabot/pip/django-4.2.21
furlongm May 8, 2025
f1b92c2
Bump django from 4.2.21 to 4.2.22
dependabot[bot] Jun 6, 2025
489dfec
Bump requests from 2.32.3 to 2.32.4
dependabot[bot] Jun 10, 2025
b66fb1c
Merge pull request #684 from furlongm/dependabot/pip/django-4.2.22
furlongm Jun 10, 2025
1638fbd
Merge pull request #685 from furlongm/dependabot/pip/requests-2.32.4
furlongm Jun 10, 2025
3559762
Remove unused dependency 'chardet' from requirements.txt
vtalos Jul 17, 2025
518afd4
Merge pull request #689 from vtalos/remove-unused-chardet
furlongm Jul 17, 2025
08e37c6
get_or_create_module only returns module
furlongm Aug 6, 2025
82087ec
Bump django from 4.2.22 to 4.2.24
dependabot[bot] Sep 10, 2025
c38506b
Merge pull request #700 from furlongm/dependabot/pip/django-4.2.24
furlongm Sep 10, 2025
f8c0e72
Merge pull request #693 from furlongm/module-creation
furlongm Sep 10, 2025
36decd5
Package types are in the Package class
willfurnell Sep 12, 2025
663a0a8
Merge pull request #701 from willfurnell/package-fix
furlongm Sep 15, 2025
c7e54c5
Bump django from 4.2.24 to 4.2.25
dependabot[bot] Oct 1, 2025
a36cbfc
Merge pull request #704 from furlongm/dependabot/pip/django-4.2.25
furlongm Oct 3, 2025
d52251e
bump redis
furlongm Oct 3, 2025
c3697d8
Update license in common.py
furlongm Oct 3, 2025
80a2417
fix licenses
furlongm Oct 3, 2025
2a9b67a
use GPL-3.0-only for debian copyright
furlongm Oct 3, 2025
f5b69f3
Merge pull request #377 from grumo35/patch-1
furlongm Oct 21, 2025
7ae40dc
fix tag handling
furlongm Oct 21, 2025
ee13ad3
fix some flake8-bugbear bugs
furlongm Oct 22, 2025
01a6172
Merge pull request #711 from furlongm/bugbear
furlongm Oct 22, 2025
edeb21c
Merge pull request #710 from furlongm/tags
furlongm Oct 30, 2025
346b02c
fix package filter list for errata
furlongm Oct 30, 2025
c4caf0c
add support for zstd compression in deb and rpm repos
furlongm Oct 30, 2025
189f79b
Merge pull request #708 from furlongm/zstd-support
furlongm Oct 30, 2025
7532d95
Merge pull request #713 from furlongm/package-errata-fix
furlongm Oct 30, 2025
b90a04b
simplify logging
furlongm Oct 30, 2025
847946d
Merge pull request #714 from furlongm/logging
furlongm Oct 30, 2025
f46b57b
use redis for caching and use locks for tasks
furlongm Oct 30, 2025
652333f
add errata source options to config file
furlongm Apr 18, 2025
7cca806
Merge pull request #716 from furlongm/errata-source-options
furlongm Oct 30, 2025
9cdc15a
Merge pull request #715 from furlongm/redis-caching
furlongm Oct 30, 2025
78d76b5
remove daily cronjob in favour of patchman-celery
furlongm May 15, 2025
c67e972
Merge pull request #717 from furlongm/cronjob
furlongm Oct 30, 2025
0699d4b
add isort check
furlongm Oct 31, 2025
9a002e8
Merge pull request #718 from furlongm/isort
furlongm Oct 31, 2025
4c760e2
Bump django from 4.2.25 to 4.2.26
dependabot[bot] Nov 6, 2025
1a08cba
Merge pull request #719 from furlongm/dependabot/pip/django-4.2.26
furlongm Nov 6, 2025
38857de
Bump django from 4.2.26 to 4.2.27
dependabot[bot] Dec 3, 2025
5c69d4e
Merge pull request #720 from furlongm/dependabot/pip/django-4.2.27
furlongm Dec 10, 2025
206c415
Modified tag handling to preserve case
RicardoJeronimo Dec 20, 2025
9830608
fix same module in different repos
furlongm Dec 17, 2025
731027a
Merge pull request #723 from RicardoJeronimo/tags
furlongm Jan 1, 2026
00631a5
Merge pull request #725 from furlongm/modules-fix
furlongm Jan 1, 2026
e5ae168
add priority queues for tasks (#724)
furlongm Jan 1, 2026
0c50d4c
update celery services handling (#726)
furlongm Jan 8, 2026
cbbd43b
remove non-present middleware (#729)
furlongm Jan 9, 2026
7f7976f
fix wsgi so rpm module is only loaded once (#728)
furlongm Jan 9, 2026
bbae0b4
give systemd units usable defaults (#727)
furlongm Jan 9, 2026
f5ec1dc
use consistent users/groups on rhel/debian (#730)
furlongm Jan 9, 2026
b7ec000
fixes for dumping/loading fixtures from sqlite (#731)
furlongm Jan 10, 2026
e54ce49
update logging to log to console and celery systemd units (#732)
furlongm Jan 10, 2026
91f35e1
Replaced exit 1 with fatal() function
RicardoJeronimo Jan 20, 2026
9af7e20
Implemented dependency check
RicardoJeronimo Jan 20, 2026
9e8970a
Changed all internal variables to lowercase
RicardoJeronimo Jan 20, 2026
191db74
switch to django-tables2
furlongm Jan 12, 2026
cd173bc
add django2-select2 functionality
furlongm Jan 14, 2026
83f96f3
update host and package templates
furlongm Jan 14, 2026
fa2c3e8
prefer triangles over chevrons
furlongm Jan 14, 2026
26c74a3
fix table column alignments and cell contents
furlongm Jan 14, 2026
a730a4f
fix OS tables and add dropdown menu
furlongm Jan 14, 2026
7bdf1f2
fix broken rocky links
furlongm Jan 14, 2026
4c8af9e
move navbar to side
furlongm Jan 14, 2026
14b7fd0
fix datetime issues using timezone
furlongm Jan 14, 2026
7024c33
add collapsible sidebar
furlongm Jan 14, 2026
257686f
table tweaks
furlongm Jan 23, 2026
d597153
add more generic approach to handling redhat references
furlongm Jan 23, 2026
4afc05d
Bump django-select2 from 8.3.0 to 8.4.1
dependabot[bot] Jan 23, 2026
a718355
Merge remote-tracking branch 'upstream/main' into docker
RicardoJeronimo Jan 29, 2026
f527145
Branch cleanup
RicardoJeronimo Jan 29, 2026
7a2b0dc
Merge branch 'docker' into patchman-email
RicardoJeronimo Jan 29, 2026
83d4a92
rest api report uploads
furlongm Feb 1, 2026
f8478c6
api tests
furlongm Feb 1, 2026
92fffaa
update tests
furlongm Feb 2, 2026
909a096
update README
furlongm Apr 18, 2025
1ed23f7
update installation instructions
furlongm Apr 18, 2025
c099919
update installation instructions
furlongm Feb 2, 2026
21c7f91
auto-commit to update version
furlongm Feb 2, 2026
a8b82a0
auto-commit to update debian changelog
furlongm Feb 2, 2026
66e9885
update installation docs
furlongm Feb 2, 2026
5474155
auto-commit to update version
furlongm Feb 2, 2026
2253cec
auto-commit to update debian changelog
furlongm Feb 2, 2026
403ac39
clarify that only the rhel server is missing packages
furlongm Feb 2, 2026
138b43b
don't lowercase versions
furlongm Feb 3, 2026
05e08b7
auto-commit to update version
furlongm Feb 3, 2026
f8e79e0
auto-commit to update debian changelog
furlongm Feb 3, 2026
52248dd
add further host API filtering
furlongm Feb 3, 2026
03eb0cc
auto-commit to update version
furlongm Feb 3, 2026
f516197
auto-commit to update debian changelog
furlongm Feb 3, 2026
3e67a23
allow filtering hosts by tag
furlongm Feb 3, 2026
c641cac
fix typo in splitting
furlongm Feb 3, 2026
1529470
add version to ui
furlongm Feb 3, 2026
6f192f0
auto-commit to update version
furlongm Feb 3, 2026
2c3ed9e
auto-commit to update debian changelog
furlongm Feb 3, 2026
6f3034c
add missing imports
furlongm Feb 3, 2026
8bb1f59
auto-commit to update version
furlongm Feb 3, 2026
31d7a52
auto-commit to update debian changelog
furlongm Feb 3, 2026
ed3a95d
Bump django from 4.2.27 to 4.2.28
dependabot[bot] Feb 3, 2026
18fa86f
update workflows
furlongm Feb 3, 2026
ab9c383
auto-commit to update version
furlongm Feb 4, 2026
6ddf47d
auto-commit to update debian changelog
furlongm Feb 4, 2026
26ba51a
bump build images
furlongm Feb 4, 2026
b34a31a
auto-commit to update version
furlongm Feb 4, 2026
03d7c3d
auto-commit to update debian changelog
furlongm Feb 4, 2026
ca04746
fix test warnings
furlongm Feb 6, 2026
8102396
client updates
furlongm Feb 6, 2026
b26baf8
fix osrelease from rocky/alma/epel errata
furlongm Feb 6, 2026
4ab043a
alma/rhel fixes for osrelease_name
furlongm Feb 8, 2026
e9fa981
fix url-encoded kernel version
furlongm Feb 8, 2026
8edb1d1
remove unneeded test
furlongm Feb 8, 2026
4a2531b
fix test: AlmaLinux normalizes to 'Alma Linux' with space
furlongm Feb 8, 2026
0fd45b3
auto-commit to update version
furlongm Feb 8, 2026
67a0163
auto-commit to update debian changelog
furlongm Feb 8, 2026
19f99d5
update workflows to allow prereleases
furlongm Feb 11, 2026
db56b29
use python3.9 compatible syntax
furlongm Feb 11, 2026
1505559
add ordering migrations
furlongm Feb 11, 2026
c5a568a
remove makemigrations from install scripts
furlongm Feb 11, 2026
23998d6
workflow fix for rpms
furlongm Feb 11, 2026
37ec1c3
auto-commit to update version
furlongm Feb 11, 2026
85732cf
auto-commit to update debian changelog
furlongm Feb 11, 2026
61decc0
deb build fix for releases
furlongm Feb 11, 2026
3261e63
auto-commit to update debian changelog
furlongm Feb 11, 2026
a217f2d
trigger security updates task on first run
furlongm Feb 13, 2026
9b722f8
remove celery deprecation warning
furlongm Feb 13, 2026
2061243
add cached count fields to avoid expensive COUNT queries
furlongm Feb 11, 2026
90ec045
add further sql optimizations
furlongm Feb 12, 2026
b03bc47
add .iterator() to large queryset loops
furlongm Feb 13, 2026
9eb83e8
address template double-count issues
furlongm Feb 13, 2026
5654e1f
move imports to top-level
furlongm Feb 13, 2026
7b95a51
replace o(n²) comparisons with id sets and sql aggregation
furlongm Feb 13, 2026
93af23d
consolidate and improve homogenous host update logic
furlongm Feb 13, 2026
fe25a12
add cached count fields to erratum model with m2m signals
furlongm Feb 13, 2026
152b2f7
auto-commit to update version
furlongm Feb 26, 2026
36b2727
auto-commit to update debian changelog
furlongm Feb 26, 2026
7b8d3ed
add WSGIPassAuthorization for v2 api with mod_wsgi
furlongm Feb 26, 2026
76dbfe0
handle ubuntu versioning without patch release
furlongm Feb 26, 2026
f58e939
auto-commit to update version
furlongm Feb 26, 2026
24df4c3
auto-commit to update debian changelog
furlongm Feb 26, 2026
9315e1a
fix warnings and errors on debian packaging
furlongm Feb 27, 2026
a353843
fix overwriting cached update counts with save
furlongm Feb 27, 2026
aa17bc1
auto-commit to update version
furlongm Feb 28, 2026
c300e18
auto-commit to update debian changelog
furlongm Feb 28, 2026
c4a87ac
prefer update_fields over refresh_from_db
furlongm Feb 28, 2026
3fe8675
better handling of kernel updates
furlongm Feb 28, 2026
bc2c4ee
auto-commit to update version
furlongm Mar 1, 2026
78cfbf8
auto-commit to update debian changelog
furlongm Mar 1, 2026
521ac64
handle priorities in kernel updates
furlongm Mar 1, 2026
f4bb03e
auto-commit to update version
furlongm Mar 2, 2026
fc4d74a
auto-commit to update debian changelog
furlongm Mar 2, 2026
9c2fdbd
address mysql utf8mb4 composite index sizes
furlongm Mar 3, 2026
e808294
auto-commit to update version
furlongm Mar 3, 2026
b8fc93e
auto-commit to update debian changelog
furlongm Mar 3, 2026
eb09bfe
fix overly aggressive mysql truncation
furlongm Mar 4, 2026
03f2aae
auto-commit to update version
furlongm Mar 4, 2026
2002d66
auto-commit to update debian changelog
furlongm Mar 4, 2026
d33fb34
Bump django from 4.2.28 to 4.2.29
dependabot[bot] Mar 4, 2026
3f01210
fix cvss model to match released migration 0010
furlongm Mar 5, 2026
9363830
auto-commit to update version
furlongm Mar 5, 2026
e5def0e
auto-commit to update debian changelog
furlongm Mar 5, 2026
93830cd
Merge remote-tracking branch 'upstream/main' into docker
RicardoJeronimo Mar 5, 2026
51cf2cd
Added more configuration options via environment variables
RicardoJeronimo Mar 5, 2026
13c1b76
Merge branch 'docker' into patchman-email
RicardoJeronimo Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@v4
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4
204 changes: 106 additions & 98 deletions .github/workflows/create-release-and-upload-assets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,67 @@ on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
version:
description: 'Version to build (e.g. 4.0.9-rc1)'
required: true

permissions:
contents: write

jobs:
setup:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.set-vars.outputs.version }}
rpm_version: ${{ steps.set-vars.outputs.rpm_version }}
is_prerelease: ${{ steps.set-vars.outputs.is_prerelease }}
steps:
- id: set-vars
run: |
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
VERSION="${{ inputs.version }}"
else
VERSION="${GITHUB_REF#refs/tags/v}"
fi
# RPM doesn't allow hyphens in version, convert to dots
RPM_VERSION="${VERSION//-/.}"
# Pre-release if version contains -, e.g. 4.0.9-rc1, 4.0.9-dev1
if [[ "$VERSION" == *-* ]]; then
IS_PRERELEASE=true
else
IS_PRERELEASE=false
fi
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "rpm_version=${RPM_VERSION}" >> $GITHUB_OUTPUT
echo "is_prerelease=${IS_PRERELEASE}" >> $GITHUB_OUTPUT
echo "Version: $VERSION, RPM Version: $RPM_VERSION, Pre-release: $IS_PRERELEASE"

create-release:
needs: setup
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: main
- name: git fetch --all
run: |
git fetch --all
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
tag_name: v${{ needs.setup.outputs.version }}
name: Release v${{ needs.setup.outputs.version }}
draft: false
prerelease: false
- name: Create upload_url artifact
run: |
echo "${{ steps.create_release.outputs.upload_url }}" > upload_url.txt
- name: Upload upload_url artifact
uses: actions/upload-artifact@v4
with:
name: upload_url.txt
path: upload_url.txt
prerelease: ${{ needs.setup.outputs.is_prerelease }}
generate_release_notes: ${{ needs.setup.outputs.is_prerelease }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

update-version-and-changelog:
needs: create-release
needs: [setup, create-release]
if: needs.setup.outputs.is_prerelease == 'false'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -59,7 +88,7 @@ jobs:
auto-commit to update version
skip-checks: true
run: |
echo "${{ github.ref }}" | cut -dv -f2 > VERSION.txt
echo "${{ needs.setup.outputs.version }}" > VERSION.txt
git add VERSION.txt
git diff --quiet && git diff --staged --quiet || git commit -m "${COMMIT_MSG}"
git push origin main
Expand All @@ -71,13 +100,16 @@ jobs:
auto-commit to update debian changelog
skip-checks: true
run: |
gbp dch --new-version=$(cat VERSION.txt)-1 --release --distribution=stable --spawn-editor=never --commit --commit-msg="${COMMIT_MSG}"
gbp dch --new-version=${{ needs.setup.outputs.version }}-1 --release --distribution=stable --spawn-editor=never --commit --commit-msg="${COMMIT_MSG}"
git push origin main

build-and-upload-deb-assets:
needs: update-version-and-changelog
needs: [setup, create-release, update-version-and-changelog]
# For pre-releases, update-version-and-changelog is skipped, so use always()
if: always() && needs.create-release.result == 'success'
runs-on: ubuntu-latest
container:
image: debian:bookworm
image: debian:trixie
steps:
- name: Install build dependencies
run: |
Expand All @@ -91,63 +123,56 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: main
# For stable releases, use main (has updated changelog); for pre-releases, use the tag
ref: ${{ needs.setup.outputs.is_prerelease == 'false' && 'main' || github.ref }}
- name: git fetch --all
run: |
git config --global --add safe.directory /__w/patchman/patchman
git fetch --all
- name: Get version
run: |
export version=$(echo "${{ github.ref }}" | cut -dv -f2)
echo "version=${version}" >> $GITHUB_ENV
- name: Download upload_url artifact
uses: actions/download-artifact@v4
with:
name: upload_url.txt
path: /home/runner/work/patchman/patchman
- name: Get upload_url
run: |
export upload_url=$(<upload_url.txt)
rm upload_url.txt
echo "upload_url=${upload_url}" >> $GITHUB_ENV
- name: Build deb packages
- name: Build deb packages (pre-release)
if: needs.setup.outputs.is_prerelease == 'true'
env:
EMAIL: furlongm@gmail.com
COMMIT_MSG: |
auto-commit
skip-checks: true
VERSION: ${{ needs.setup.outputs.version }}
run: |
export version=$(echo "${{ github.ref }}" | cut -dv -f2)
echo "${version}" > VERSION.txt
git add VERSION.txt
git diff --quiet && git diff --staged --quiet || git commit -m "${COMMIT_MSG}"
gbp dch --new-version=${version}-1 --release --distribution=stable --spawn-editor=never --commit --commit-msg="${COMMIT_MSG}"
git tag --delete v${version}
git tag v${version}
gbp buildpackage --git-upstream-tree=${{ github.ref }} -uc -us
- name: Upload python3-patchman deb
uses: actions/upload-release-asset@v1
echo "${VERSION}" > VERSION.txt
# Generate changelog for pre-release
cat > debian/changelog << EOF
patchman (${VERSION}-1) unstable; urgency=medium

* Pre-release ${VERSION}

-- Marcus Furlong <furlongm@gmail.com> $(date -R)
EOF
dpkg-buildpackage -us -uc -b
- name: Build deb packages (stable)
if: needs.setup.outputs.is_prerelease == 'false'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
EMAIL: furlongm@gmail.com
VERSION: ${{ needs.setup.outputs.version }}
run: |
# VERSION.txt and changelog already updated on main by update-version-and-changelog job
# Recreate tag to include those commits
git tag --delete v${VERSION}
git tag v${VERSION}
gbp buildpackage --git-upstream-tree=v${VERSION} -uc -us
- name: Upload deb assets
uses: softprops/action-gh-release@v2
with:
upload_url: ${{ env.upload_url }}
asset_name: ${{ format('python3-patchman_{0}-1_all.deb', env.version) }}
asset_path: ../${{ format('python3-patchman_{0}-1_all.deb', env.version) }}
asset_content_type: application/vnd.debian.binary-package
- name: Upload patchman-client deb
uses: actions/upload-release-asset@v1
tag_name: v${{ needs.setup.outputs.version }}
files: |
../python3-patchman_${{ needs.setup.outputs.version }}-1_all.deb
../patchman-client_${{ needs.setup.outputs.version }}-1_all.deb
body: ""
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.upload_url }}
asset_name: ${{ format('patchman-client_{0}-1_all.deb', env.version) }}
asset_path: ../${{ format('patchman-client_{0}-1_all.deb', env.version) }}
asset_content_type: application/vnd.debian.binary-package

build-and-upload-rpm-assets:
needs: update-version-and-changelog
needs: [setup, create-release, update-version-and-changelog]
if: always() && needs.create-release.result == 'success'
runs-on: ubuntu-latest
container:
image: quay.io/centos/centos:stream9
image: quay.io/centos/centos:stream10
steps:
- name: Install build dependencies
run: |
Expand All @@ -156,49 +181,32 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: main
ref: ${{ needs.setup.outputs.is_prerelease == 'false' && 'main' || github.ref }}
- name: git fetch --all
run: |
git config --global --add safe.directory /__w/patchman/patchman
git fetch --all
- name: Get version
run: |
export version=$(echo "${{ github.ref }}" | cut -dv -f2)
echo "version=${version}" >> $GITHUB_ENV
- name: Download upload_url artifact
uses: actions/download-artifact@v4
with:
name: upload_url.txt
path: /home/runner/work/patchman/patchman
- name: Get upload_url
run: |
export upload_url=$(<upload_url.txt)
rm upload_url.txt
echo "upload_url=${upload_url}" >> $GITHUB_ENV
- name: Build rpm packages
env:
VERSION: ${{ needs.setup.outputs.rpm_version }}
run: |
echo "${VERSION}" > VERSION.txt
python3 setup.py bdist_rpm --python=/usr/bin/python3
rpmbuild -bb patchman-client.spec
- name: Upload patchman rpm
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload rpm assets
uses: softprops/action-gh-release@v2
with:
upload_url: ${{ env.upload_url }}
asset_name: ${{ format('patchman-{0}-1.noarch.rpm', env.version) }}
asset_path: ${{ format('dist/patchman-{0}-1.noarch.rpm', env.version) }}
asset_content_type: application/x-rpm
- name: Upload patchman-client rpm
uses: actions/upload-release-asset@v1
tag_name: v${{ needs.setup.outputs.version }}
files: |
dist/patchman-${{ needs.setup.outputs.rpm_version }}-1.noarch.rpm
dist/noarch/patchman-client-${{ needs.setup.outputs.rpm_version }}-1.noarch.rpm
body: ""
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.upload_url }}
asset_name: ${{ format('patchman-client-{0}-1.noarch.rpm', env.version) }}
asset_path: ${{ format('dist/noarch/patchman-client-{0}-1.noarch.rpm', env.version) }}
asset_content_type: application/x-rpm

upload-package-to-pypi:
needs: update-version-and-changelog
needs: [setup, create-release]
if: needs.setup.outputs.is_prerelease == 'false'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -208,7 +216,7 @@ jobs:
python-version: '3.x'
- name: Set version
run: |
echo "${{ github.ref }}" | cut -dv -f2 > VERSION.txt
echo "${{ needs.setup.outputs.version }}" > VERSION.txt
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
max-parallel: 5
matrix:
python-version: ['3.x']
python-version: ['3.13']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
Expand Down
9 changes: 6 additions & 3 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,24 @@ vim VERSION.txt # modify version
git add VERSION.txt
version=$(<VERSION.txt)
git commit -m "Release v${version}"
git tag v${version}
```

# Build DEB package

```shell
sudo apt -y install python3-setuptools debhelper dh-exec dh-python git-buildpackage
gbp dch --commit
gbp buildpackage -uc -us
version=$(<VERSION.txt)
gbp dch --commit --new-version=${version}-1 --release --distribution=stable
git tag v${version}
gbp buildpackage -uc -us --git-upstream-tree=main
```

# Build RPM packages

```shell
sudo dnf -y install rpm-build git python3-setuptools
version=$(<VERSION.txt)
git tag v${version}
python3 setup.py bdist_rpm --python=/usr/bin/python3
rpmbuild -bb patchman-client.spec
```
Loading
Loading