Coder Social home page Coder Social logo

freebsd / redports-1 Goto Github PK

View Code? Open in Web Editor NEW
8.0 10.0 14.0 1.04 MB

Redports is a continuous integration platform for FreeBSD ports. It helps ports developers to test changes in clean environments and provides a nice web-based user interface.

License: Other

Makefile 0.33% Shell 13.31% Python 15.11% JavaScript 45.94% CSS 0.12% HTML 7.02% C 17.52% C++ 0.65%

redports-1's Introduction

Redports

Redports is the infrastructure to build your own FreeBSD ports buildcluster
and is build on top of the great FreeBSD Ports Tinderbox.

The source consists of a few source directories:

redports-trac:
- Trac Plugin for the userinterface (view jobstatus and schedule new jobs)

rpdd:
- Dispatcher that controls and starts new jobs on the backends

rptinderbox:
- Tinderbox backend integration scripts

scripts:
- Various scripts


Author:   Bernhard Froehlich <[email protected]>
License:  2-clause BSD License
Homepage: http://www.redports.org/

redports-1's People

Stargazers

Mauro Risonho de Paula Assumpção avatar Sean P. Myrick V19.1.7.2 avatar Alexey Ugnichev avatar 深藏彼岸社长 avatar Alexandre Nicastro avatar  avatar Daniel Blair avatar Li-Wen Hsu avatar

Watchers

Mathieu Arnold avatar Li-Wen Hsu avatar James Cloos avatar Warner Losh avatar Moin avatar Andrey avatar 深藏彼岸社长 avatar  avatar  avatar Sean P. Myrick V19.1.7.2 avatar

redports-1's Issues

Proper Mk support or removal

If someone maintains changes of Mk in his own portstree we need to be much more 
carefully with the packages that are generated because they are all tainted.

- Do not cache any packages in the cache if a User has Mk/ in his portstree
- Forbid Mk/ for regular users

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:36

PR bot activation

prbot should work but it needs some testing and probably a few small fixes 
before it can be activated.

Default setting should be to build all new PRs but only send a message to the 
PR in case the build failed.

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:53

Support deleting running builds

Right now it's only possible to delete queued jobs but not running jobs.
Deleting a running job means we need to tell tinderbox to cancel the job and 
wait until it has finished with the cleanup.

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:30

FR: update revision path in web build

It is great when looking at source commit of build to see what was changed, 
however if you do a web rebuild, it shows just the most recent committed 
revision. This revision isn't necessarily tied to the code you are working on. 
Please update the link to be latest revision of path to port you are working 
on, and not the latest revision in the entire redports repository, if possible.

Thanks!

-jgh

Original issue reported on code.google.com by [email protected] on 7 Apr 2014 at 3:00

USES=perl5 does not work as expected

I am unable to build devel/quilt because perl is not added. It is specified in 
the makefile using USES=perl5. It works find on my local machine, but not on 
the buildbot. 
see https://redports.org/~samm/20140217212743-20669-177408/quilt-0.51.log

Original issue reported on code.google.com by [email protected] on 17 Feb 2014 at 10:54

Improve performance for QAT checkouts

Currently QAT checkouts can create a lot of I/O because we do a regular svn 
update. Performance could be improved by using svn update --changelist and 
applying only the required changes.

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:38

Implement poudriere based backend

Poudriere has daemon support now so we can start to implement a poudriere based 
backend.

1) Start daemon
2) Add job: echo '{command:bulk;arguments:"-j environment www/nginx"}' | nc -w 
1 -U /tmp/poudriered.sock
3) Job status: ??

Original issue reported on code.google.com by [email protected] on 24 Feb 2014 at 1:59

pkg cache corruption

Clean call leaves tinderbox package cache in an corrupted state. Symlinks in 
All aren't properly deleted.

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 8:46

  • Blocking: #28

When FORBIDDEN/IGNORE/BROKEN contains a `

The value of that gets into the .finished file, and when it is sourced, it 
fails with:

[Tue Mar 25 23:56:21 UTC 2014] status - build=8.4-FreeBSD-i386-QAT&line=836
/tmp/rptinderbox/8.4-FreeBSD-i386-QAT/.finished: 4: Syntax error: EOF in 
backquote substitution
/tmp/rptinderbox/8.4-FreeBSD-i386-QAT/.finished: 3: Syntax error: Error in 
command substitution

Original issue reported on code.google.com by [email protected] on 26 Mar 2014 at 2:03

Admin interface improvements

Admin interface needs some improvements:

* Backends change
* Buildgroups change
* Portrepositories change (also for teams)

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:31

Additional tag in commit message to rebuild additional ports

Sometimes you need to build additional slave ports after
a commit to be sure that it wasn't broken by a commit.

A simple way to do that would be to add an additional tag
to the commit message like this:

Redports-Build: www/nginx devel/subversion

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:17

Geckobot: Automatic testing for external Subversion repositories

External subversion repositories for some
teams would benefit from automatic testing
on redports.org per commit.

So we need to provide a bot that polls their
repository (like qatbot) and then creates new
jobs (like rpaddcommit). It should be okay to
treat that repository as overlay like we do
for svn.redports.org.

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 8:40

Periodic distfile cleanup

Distfiles are usually taken from the distfile cache but this makes it hard to 
detect missing distfiles if they disappear at some point in time. Regularly 
cleaning distfile cache would be good.

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:15

Increase database text fields

Some text fields are a bit too short in
rare cases. It would be good to increase
them.

- builds.buildlog to varchar(100)
- builds.wrkdir to varchar(100)
- builds.portname to varchar(100)
- buildqueue.description to text
- buildqueue.notice add as text

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 8:56

Trac 1.0 support

To properly support Trac 1.0 a few changes need to be made:
- CSS adjustments
- Migrate DB API usage to Trac 1.0
http://trac.edgewall.org/wiki/TracDev/DatabaseApi

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:08

Document Frontend Setup

Create a wiki page that documents the Frontend setup and configuration like we 
have already done for backends.

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:32

EXP environment support

Experimental environments support for "non supported"
configurations.

Features:
- Needs to be optional (opt-out)
- Private mails only

Environments:
- 10-CURRENT/i386, 10-CURRENT/amd64
- CLANG/i386, CLANG/amd64
- GCC 4.7
- Custom LOCALBASE/PREFIX
- Server Options Profile
- Desktop Options Profile
- pngng DEVELOPER_MODE=on
- REGRESSION_TESTS=on
- bmake for ports

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 8:52

Improve github support by adding pull_request support

GitHub supports sending pull_requests via the Events API that we already use to 
an remote application. Redports could build that pull request and signal 
success/failure state in a "special comment" to the pull request.

Example: https://github.com/Homebrew/homebrew/pull/32346
API: https://developer.github.com/v3/pulls/

Original issue reported on code.google.com by [email protected] on 18 Sep 2014 at 8:36

Finished build status

Builds sometimes end up in finished state. It looks like they finish properly 
but there could be a race condition between status reporting the build as 
finished and the time the ".finished" file is created with the proper content.

https://code.google.com/p/redports/source/browse/trunk/rptinderbox/rptinderbox#3
52

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 8:44

Reduce locks on backend

Rpdd does lock backends very often but it's usually fine to just lock 
backendbuilds and reduce lock contention.

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:13

Failed builds statistics

Provide additional statistics for QAT.

Statistics:
- per user
- % per user
- failed per month
- % failed per month

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 8:34

Backend and environment status page

For monitoring purposes an internal page should provide a list of backends and 
environments including status. That allows to have an external monitoring 
solution independent from redports.

Original issue reported on code.google.com by [email protected] on 23 Apr 2013 at 4:46

Add filters in archive

QAT needs filter for failed builds so we need some basic filtering 
functionality to find them in the Trac GUI.

Filters:
- build status (failed, duds, depends, leftovers, all !success)
- owner
- environment

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 8:33

Package cache rewrite

Right now the pkg cache is too simple and does not work properly for "exp-run 
like" builds.

- Job specific shared cache (all packages are saved in a job specific place 
that can survive multiple builds)
- Globally shared cache (job specific shared caches can be made available 
globally to all backends (shared storage?))

Original issue reported on code.google.com by [email protected] on 26 Mar 2013 at 9:51

  • Blocked on: #7

Circular port dependencies fill up filesystem

Circular dependencies in a port cause a file $TB/builds/$buildname/make.0 to 
grow until the filesystem is full.

Best solution to reduce the impact would be to make $TB/builds/$buildname an 
own filesystem with maximum 50MB size.

Original issue reported on code.google.com by [email protected] on 15 May 2013 at 6:29

GitHub external repository support

- github webhooks get notified after git push so we could use 
https://github.com/danheberden/gith to build a job for it that we can send to 
the redports web api

- redports web api as part of trac which can create buildjobs

- user configuration/assignment to github accounts

Original issue reported on code.google.com by [email protected] on 3 Mar 2014 at 7:36

tmpfs unmount when left over

tmpfs mountpoints can remain mounted in case of errors in tinderbox. This is 
probably a bug in the tinderbox tmpfs patch and should be either fixed in 
tinderbox or a workaround could unmount existing tmpfs filesystems when 
mounting new ones.

Original issue reported on code.google.com by [email protected] on 28 Mar 2013 at 2:28

squid proxy modifies distfiles

fetch ftp://ftp.stack.nl/pub/users/johans/texinfo/20140209/texinfo.tex

behind the squid proxy results in a file with windows line endings. Fetching 
without the proxy gives the proper file with unix line endings.

Original issue reported on code.google.com by [email protected] on 7 Mar 2014 at 10:12

log error messages in database

To be able to have an idea why an environment failed it would be good to log 
all error messages from rpdd in a separate database table. The webinterface can 
use that and display the last error per build and also show the list of error 
messages in a separate mask.

columns:
id         int
backendid  int
buildgroup varchar(25)
loglevel   int
logmsg     varchar(1024)

Original issue reported on code.google.com by [email protected] on 27 May 2013 at 6:05

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.