Skip to content

Commit

Permalink
Merge pull request #11 from TomasTomecek/update-readme-or-wat
Browse files Browse the repository at this point in the history
update README and CONTRIBUTING
  • Loading branch information
TomasTomecek committed Jun 6, 2019
2 parents a4a4cff + 50c494c commit 389d2cd
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 158 deletions.
20 changes: 5 additions & 15 deletions CONTRIBUTING.md
Expand Up @@ -57,6 +57,7 @@ When you are contributing to changelog, please follow these suggestions:
trying to convince the person to use the project and that the changelog
should help with that.


### Testing

Tests are stored in [tests](/tests) directory.
Expand All @@ -67,19 +68,15 @@ Running tests locally:
make prepare-check && make check
```

Running tests in a container (currently broken, PRs are welcome):
```
make build-tests && make test-in-container
```

As a CI we use [CentOS CI](https://ci.centos.org/job/packit-pr/) with a configuration in [Jenkinsfile](Jenkinsfile).


### Makefile

#### Requirements

- [podman](https://github.com/containers/libpod)
- docker
- ansible

#### Targets

Expand All @@ -100,15 +97,6 @@ Run tests locally:
make check
```

Start shell in a container from the image previously built with `make build`:
```
make shell
```

In a container, do basic checks to verify that packit can be distributed, installed and imported:
```
make check-pypi-packaging
```

### Additional configuration for development purposes

Expand All @@ -135,6 +123,7 @@ jobs:
2. Create a new branch just for the bug/feature you are working on.
3. Once you have completed your work, create a Pull Request, ensuring that it meets the requirements listed below.


### Requirements for Pull Requests

* Please create Pull Requests against the `master` branch.
Expand All @@ -144,6 +133,7 @@ jobs:
* We don't like [spaghetti code](https://en.wikipedia.org/wiki/Spaghetti_code).
* The tests have to pass.


### Checkers/linters/formatters & pre-commit

To make sure our code is compliant with the above requirements, we use:
Expand Down
158 changes: 15 additions & 143 deletions README.md
@@ -1,154 +1,26 @@
# Pack It! [![Build Status](https://ci.centos.org/job/packit-master/badge/icon)](https://ci.centos.org/job/packit-master)
# Packit Service

This project provides tooling and automation to integrate upstream open source
projects into Fedora operating system.
A service which helps you integrate your upstream GitHub project into Fedora
ecosystem. Think of it as [packit](https://github.com/packit-service/packit) on
steroids.


## Plan and current status

We are working on two things now:
1. Packit as a tool - a standalone CLI tool which you can install from Fedora
repositories and use easily.
2. Packit service - A service offering built on top of packit tool. Our
expectation is that you would add packit service into your Github
repository and it would start handling things automatically: opening pull
requests on dist-git, building packages, creating updates, ...
## Current status

For the run-down of the planned work, please see the task-list below.

* [x] Packit service reacts to Github webhooks.
* [x] Packit service is scalable. (using celery and running on OpenShift)
* [ ] Packit service is secure. (by running things in a [sandbox](https://github.com/packit-service/generator))
* [ ] Packit Service GitHub app is placed in GitHub marketplace.
* [ ] New upstream releases can be proposed as pull requests downstream.

* [ ] E2E workflow for getting upstream releases into Fedora using packit CLI.
* [x] Bring new upstream releases into Fedora rawhide as dist-git pull
requests. (`propose-update` command included in in 0.1.0 release)
* [x] Build the change once it's merged. #137
* [ ] Send new downstream changes back to upstream. (so the spec files are in
sync) #145
* [x] Packit can create bodhi updates. #139
* [x] Ability to propose updates also to stable releases of Fedora.
* [ ] Create SRPMs from the upstream repository
* [ ] Build RPMs in COPR and integrate the results into Github.
* [ ] source-git
* [ ] Packit can create a SRPM from a source-git repo.
* [ ] You can release to rawhide from source-git using packit.
* [ ] Packit can create a source-git repository.
* [ ] Packit helps developers with their source-git repositories.
* [ ] Packit as a service
* [ ] Packit reacts to Github webhooks.
* [ ] Have a github app for packit.
* [ ] Packit service is deployed and usable by anyone.


## Workflows covered by packit

This list contains workflows covered by packit tool and links to the documentation.

* [Update Fedora dist-git with an upstream release.](/docs/propose_update.md)
* [Build content of a Fedora dist-git branch in koji.](/docs/build.md)
* [Create a bodhi update.](/docs/create_bodhi_update.md)
* [Create a SRPM from the current content in the upstream repository.](/docs/srpm.md)
* [Sync content of the Fedora dist-git repo into the upstream repository.](/docs/sync-from-downstream.md)


## Configuration

Configuration file for packit is described in a separate document: [docs/configuration.md](/docs/configuration.md).

TL;DR

```yaml
specfile_path: packit.spec
synced_files:
- packit.spec
upstream_project_name: packit
downstream_package_name: packit
```


## Requirements

Packit is written in python 3 and is supported only on 3.6 and later.

When packit interacts with dist-git, it uses `fedpkg`, we suggest installing it:

```bash
sudo dnf install -y fedpkg
```

## Installation

On Fedora:

```
$ dnf install --enablerepo=updates-testing packit
```

Or

```
$ pip3 install --user packitos
```

(packit project on PyPI is NOT this packit project)

You can also install packit from master branch, if you are brave enough:

```
$ pip3 install --user git+https://github.com/packit-service/packit.git
```


### Run from git directly:

You don't need need to install packit to try it out. You can run it directly
from git (if you have all the dependencies installed):

```
$ python3 -m packit.cli.packit_base --help
Usage: packit_base.py [OPTIONS] COMMAND [ARGS]...
Options:
-d, --debug
-h, --help Show this message and exit.
...
```

## Already on-boarded

Package name | Contacts | Link to packit configuration file
-------------------|---------------------------|----------------------------------------------------------------------
rebase-helper | @nforro | [.packit.yaml](https://github.com/rebase-helper/rebase-helper/blob/master/.packit.yml)
pykickstart | @dcantrell @larskarlitski | [packit.yaml](https://github.com/dcantrell/pykickstart/blob/master/packit.yaml)
packit | | [.packit.yaml](https://github.com/packit-service/packit/blob/master/.packit.yaml)
colin | | [.packit.yaml](https://github.com/user-cont/colin/blob/master/.packit.yaml)
conu | | [.packit.yaml](https://github.com/user-cont/conu/blob/master/.packit.yaml)
sen | @TomasTomecek | [.packit.yaml](https://github.com/TomasTomecek/sen/blob/master/.packit.yaml)
ogr | @lachmanfrantisek | [.packit.yaml](https://github.com/packit-service/ogr/blob/master/.packit.yaml)

## Who is interested

* Identity team (@pvoborni)
* Plumbers - Source Git (@msekletar @lnykryn)
* shells (@siteshwar)
* python-operator-courier (Ralph Bean)
* @thrix
* youtube-dl (Till Mass)
* [greenboot](https://github.com/LorbusChris/greenboot/) (@LorbusChris)
* ABRT
* OSBS (atomic-reactor, osbs-client, koji-containerbuild) (@cverna)
* CoreOS (starting with rpm-ostree, ignition, and ostree) (@jlebon)
* cockpit (@martinpitt)
* iptables (@jsynacek)

## Currently on-boarding

Package name | Contacts | Links (Bugzillas, PRs, etc.)
--------------------|---------------------------|----------------------------------------------------------------------
anaconda | @jkonecny12 | [BZ1697339](https://bugzilla.redhat.com/show_bug.cgi?id=1697339)
[standard-test-roles](https://pagure.io/standard-test-roles)| | [PR325](https://pagure.io/standard-test-roles/pull-request/325)
## More info

If you'd like to know more about packit, please check:

## Resources
* Our website: [packit.dev](https://packit.dev/)
* GitHub project for packit tool: [packit-service/packit](https://github.com/packit-service/packit)
* Hacking on packit service: [CONTRIBUTING.md](/CONTRIBUTING.md)

* An excellent document by Colin Walters which describes a modern way of
developing a distribution:
* https://github.com/projectatomic/rpmdistro-gitoverlay/blob/master/doc/reworking-fedora-releng.md

0 comments on commit 389d2cd

Please sign in to comment.