Commit graph

1098 commits

Author SHA1 Message Date
Miroslav Suchý
df726d0bd0
add Tito. The mascot. (#432)
This is bit of archeology.
Tito was a plush toy and mascot of Red Hat Network (RHN)_team.
Later when we opensourced Satellite as the Spacewalk project
we created this project. And by that time Tito was already missing
for some time. So in honor of our mascot we decided to name this
project Tito.
2023-03-16 19:25:38 +01:00
Pavel Raiskup
91ef962220 automation: automatically build pre-release RPMs
Into https://copr.fedorainfracloud.org/coprs/g/rpm-software-management/tito/
2023-01-25 13:37:49 +01:00
Pavel Raiskup
d24d3a69a3 automation: fix the Python diff-lint C&P problem 2023-01-25 13:37:49 +01:00
Pavel Raiskup
96859ee484 automation: some useful pre-commit workflows
- enable differential PyLint checker
- enable differential ShellCheck (there's a bash script in this repo)
- enable Fedora test matrix
2023-01-24 14:14:56 +01:00
Pavel Raiskup
377527f316 packit: fixing the Fedora build failures
The %{?our_sitelib} seems weird right after the if-else tree, I'm a bit
afraid of the order of macro evaluation.  NB the 'print "foo"' used in
the corresponding detection command is needed only useful in very old
distributions.

Closes: #437
2023-01-24 14:12:19 +01:00
Jakub Kadlcik
5d3df407f9 Don't upload patches to the lookaside cache
With @xsuchy we discovered that when doing `tito release`, into Fedora
DistGit, then .patch files are being uploaded to the lookaside
cache. That is not expected behavior, we should commit them to git
only.
2023-01-24 14:11:36 +01:00
Miroslav Suchý
b78dc88fe5 use spdx license
https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1
2022-12-02 01:22:38 +01:00
Jakub Kadlcik
d342fc617a Automatic commit of package [tito] release [0.6.22-1].
Created by command:

/usr/bin/tito tag
2022-11-14 01:10:18 +01:00
Jakub Kadlcik
253ad0714a Add F37 to releasers 2022-11-14 01:07:21 +01:00
Jakub Kadlcik
9120a2e366 Fix python2 urlretrieve import
Fix #424
2022-11-14 00:55:06 +01:00
Jerzy Drozdz
2c9e8e062a Creating submodule tars moved to seperate function 2022-10-04 02:09:37 +02:00
Jerzy Drozdz
9ec3ff6e9a Black reformated file 2022-10-04 02:09:37 +02:00
Jerzy Drozdz
f5e272eb71 Fixed aubmodule archives concatenation 2022-10-04 02:09:37 +02:00
Jerzy Drozdz
4f2037a541 Fixed issue #414 2022-10-04 02:09:37 +02:00
Jerzy Drozdz
f5d61594e3 Fixed issue #413 2022-10-04 02:09:37 +02:00
Nikos Moumoulidis
813713b290 Revert 45d431ad14
- The original change made the assumption that the git_branches[0]
  is the actual branch name that we are on, but that was incorrect.
2022-08-30 22:42:54 +02:00
Jakub Kadlcik
4c4b1268b3 Add release instructions for PyPI 2022-07-21 11:00:34 +02:00
Jakub Kadlcik
4638a05b76 Automatic commit of package [tito] release [0.6.21-1].
Created by command:

/usr/bin/tito tag
2022-07-21 10:45:05 +02:00
Jakub Kadlcik
d541c5a241 Don't release for F34 anymore 2022-07-21 10:43:39 +02:00
Jakub Kadlcik
b17cc0592b Use io.open instead of open
I don't remember if the `encoding="utf-8"` parameter for `open` is
necessary in this case but I think I added it for a reason. Let's be
safe and not remove it. Instead let's use `io.open` which supports it
even in python 2.
2022-07-21 10:39:55 +02:00
Jakub Kadlcik
bb3e661124 Properly catch TitoException
This is for example raised by builders, e.g.

    ERROR: Builder missing required argument: mock
2022-05-01 13:38:31 -04:00
Jakub Kadlcik
6570577782 Add documentation for the MockBuilder 2022-05-01 13:38:31 -04:00
Jakub Kadlcik
55454d836c Allow to define mock chroot in tito.props
[buildconfig]
    builder = tito.builder.MockBuilder

    [builder]
    mock = fedora-rawhide-x86_64
2022-05-01 13:38:31 -04:00
Jakub Kadlcik
4b4842fe3c Fix recursion error in MockBuilder
Fix #323
2022-05-01 13:38:31 -04:00
Pavel Raiskup
23216dd7b3 DistGitReleasers: don't nuke external sources with fetch_sources
Previously only 'tito build --srpm|--rpm' worked well with fetch_sources
where we rely on RPM's (rpmbuild) built-in download mechanism.  It did
not work well with 'tito release' and DistGit releasers, though.

The thing is that we don't use rpmbuild at all while doing DistGit
releases BUT we still want those files to be (a) downloaded to
%_sourcedir and then (b) uploaded to DistGit lookaside cache.  Because
we did not download those files before, every extra source file was
entirely ignored, or even worse, if the file was already uploaded in
the target lookaside cache, the file was removed from sources.

This issue has bitten us during the 'copr-backend' releases several
times before, and now it starts also in 'resalloc-aws' releases.

Unfortunately for this fix, we don't read/use the "buildconfig" options
while instantiating Builder objects from Releaser classes, therefore
I had to add an explicit read for the 'fetch_sources' config.

Closes: PR#420
Relates: #407
2022-04-18 18:27:43 -04:00
Jakub Kadlcik
dbe6d6d41f Release also for F36 2022-04-11 00:42:40 +02:00
Jakub Kadlcik
5382a197e9 Add installation instructions from PyPI
Fix #404
2022-03-13 22:44:47 +01:00
Jakub Kadlcik
bd1b8e1bf4 Add long_description to setup.py
I uploaded tito to PyPI, see https://pypi.org/project/tito/
and it says that

> The author of this package has not provided a project description

This should fix it.
2022-03-13 22:44:10 +01:00
Jakub Kadlcik
ed2d2e15e0 Release for EPEL9, don't release for F33 anymore 2022-02-23 12:47:18 +01:00
Jakub Kadlcik
201731715a Automatic commit of package [tito] release [0.6.20-1].
Created by command:

/usr/bin/tito tag
2022-02-23 12:35:54 +01:00
Nikos Moumoulidis
45d431ad14 Sync repo (in addition to tag) during mead build 2022-02-23 11:59:04 +01:00
Jakub Kadlcik
7177422ec9 Add 'Building RHEL packages with Tito' as external doc
http://frostyx.cz/posts/building-rhel-packages-with-tito
2021-09-24 02:25:05 +02:00
Jakub Kadlcik
bd7b56a93a Consider the current project git config when releasing to DistGit
I use two different email addresses for git config, depending on what
kind of project it is going on. I use my personal email address for
public community projects and my work email address for internal
repositories.

Let's say my global config is my personal address

    $ git config --get --global user.email
    frostyx@email.cz

And that I am working on an internal project, therefore I set

    git config user.email "jkadlcik@redhat.com"

Once I run `tito release internal`, I would like all changes to be
commited with my work address, i.e. I would like the local git user
config to be considered. This commit fixes that.
2021-09-13 00:21:43 +02:00
Jakub Kadlcik
0df894d613 Print the problematic binary files
The output will look like this:

    Binary files /dev/null and b/createrepo_mod/tests/packages/foo-3.0.10-3.fc33.noarch.rpm differ
    Binary files /dev/null and b/modulemd-merge/tests/testdata/repodata/foo-other.xml.gz differ
    Binary files /dev/null and b/modulemd-merge/tests/testdata/repodata/foo-filelists.sqlite.bz2 differ
    Binary files /dev/null and b/modulemd-merge/tests/testdata/repodata/foo-other.sqlite.bz2 differ
    Binary files /dev/null and b/modulemd-merge/tests/testdata/repodata/foo-primary.sqlite.bz2 differ
    Binary files /dev/null and b/modulemd-merge/tests/testdata/repodata/foo-primary.xml.gz differ
    Binary files /dev/null and b/modulemd-merge/tests/testdata/repodata/foo-filelists.xml.gz differ
    Binary files /dev/null and b/modulemd-merge/tests/testdata/repodata/foo-modules.yaml.gz differ
    ERROR: You are doomed. Diff contains binary files. You can not use this builder
2021-08-29 19:28:37 +02:00
Jakub Kadlcik
3a3039beb1 Release also for F35 2021-08-15 22:49:04 +02:00
Jakub Kadlcik
41f7cfd09f Automatic commit of package [tito] release [0.6.19-1].
Created by command:

/usr/bin/tito tag
2021-08-15 22:42:29 +02:00
Jakub Kadlcik
8e196799c8 Drop unused urllib.request import
Fix RHBZ 1982135
2021-07-16 22:16:56 +02:00
Jakub Kadlcik
6553a15948 Automatic commit of package [tito] release [0.6.18-1].
Created by command:

/usr/bin/tito tag
2021-06-23 21:32:50 +02:00
Jakub Kadlcik
a02aef69e5 Document fetch_sources option in tito.props 2021-06-23 20:36:06 +02:00
Jakub Kadlcik
971c39b5ed Rename fetch-sources to fetch_sources in the tito.props config
Complements PR #407

Every other `tito.props` config option uses underscores instead of
dashes, so let's preserve this convention.
2021-06-23 20:36:06 +02:00
Silvie Chlupova
5de167e0ff Adding option to fetch sources 2021-06-15 15:26:24 +02:00
Jakub Kadlcik
24b8f3d7d4 Change the master branch in releasers.conf to rawhide 2021-05-17 02:46:13 +02:00
Jakub Kadlcik
d6aeb8a29b Automatic commit of package [tito] release [0.6.17-1].
Created by command:

/usr/bin/tito tag
2021-05-17 02:37:35 +02:00
Jakub Kadlcik
23b24a289a Update releasers.conf 2021-05-17 02:36:56 +02:00
Nikos Moumoulidis
0729445d2f Make build --verbose autocompletable 2021-05-11 20:59:34 +02:00
William Poteat
883754e2e5 Add support for centpkg 2021-05-11 17:10:05 +02:00
Allen Reese
0dbcfc4554 Remove extraneous extra newline 2021-05-11 02:03:07 +02:00
Allen Reese
8570695097 Add some documentation for tito.builder.SubmoduleAwareBuilder 2021-05-11 02:03:07 +02:00
Allen Reese
71c2712e7e Update based on feedback:
1. Remove PushDir, tito.common.chdir has the same functionality so use that instead.
2. Remove useless override of constructor, it's just extra noise.
2021-05-11 02:03:07 +02:00
Allen Reese
f4251b30cd 150 Add support for repos that use submodules.
Allow though submodules are a contentious topic, this adds a submodule_aware_builder

This can be used with the following config in tito.props:

```
[buildconfig]
builder = SubmoduleAwareBuilder
```
2021-05-11 02:03:07 +02:00