13:33:36 #startmeeting Pagure: Past, Present, and Future - Speaker: Pierre-Yves Chibon (pingou) 13:33:36 Meeting started Wed Aug 3 13:33:36 2016 UTC. The chair is jflory7. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:33:36 Useful Commands: #action #agreed #halp #info #idea #link #topic. 13:33:36 The meeting name has been set to 'pagure:_past,_present,_and_future_-_speaker:_pierre-yves_chibon_(pingou)' 13:33:39 #meetingname flock2016 13:33:39 The meeting name has been set to 'flock2016' 13:33:43 #topic Introduction 13:33:54 #info Talking about Pagure, open source git forge 13:34:00 #topic Background 13:34:21 #info Fork, pull request, three repositories per project (sources, pull requests, tickets) 13:34:46 old_ui.png 13:35:06 #info New UI, new architecture, and lots of new features with recent growths 13:35:17 Aware of new needs and new features 13:35:29 Comparing old and new UIs 13:35:32 ryanlerch++ 13:35:33 ryanlerch++ 13:35:34 ryanlerch++ 13:35:43 ryanlerch helped contribute to new UI design 13:35:50 And is also the person to blame if you have complaints ;) 13:36:08 UI makes more sense and is more intuitive because it was built with new understanding 13:36:16 Has impact on the life of project itself 13:36:21 #topic Architecture 13:36:27 13:36:53 #info Diagram on-screen of how all of Pagure architecture fits together (see slides / video feed later) 13:37:30 Talking to web server and relationship between web hooks server 13:37:33 via Redis 13:38:20 #info EventSource server: If two people working on ticket / PR, one is making comment, new comment magically appears on other user's page 13:38:32 Almost can have live discussion on the ticket 13:38:39 Handy for quick discussion without accidental overlap 13:39:34 Pagure has its own fedmsg input 13:39:56 #info Gitolite has always been a part of the project for managing user git repos and projects 13:39:59 #topic Features 13:40:03 #info Doc hosting / repos 13:40:11 Three repos per projct as mentioned earlier 13:40:34 Supports variety of formats from Markdown to HTML to docbook, etc. 13:40:54 Renders the docs and presents them all from docs.pagure.org 13:41:09 Link might be wrong, think an old screenshot 13:41:31 Pagure's documentation is written in Sphinx 13:41:34 Part of Pagure's source 13:41:59 #info To generate docs, you push source to the docs repo, view page, and updates quickly and instantly 13:42:16 #link https://docs.pagure.org/pagure/ 13:42:55 #info === Watch project (Gaurav Kumar) === 13:43:22 #info Watch a project, get notifications as if you had commit rights (except on priv. tickets) 13:43:29 When in a group, you receive notifs by default 13:43:32 But maybe you're in a group 13:43:34 And there's a lot of noise 13:43:37 So you can unwatch 13:43:42 And decrease notifications 13:43:51 Coming soon™ next release 13:43:55 #info === Roadmap === 13:44:18 Looking at how we can migrate some Trac features into Pagure 13:44:31 #info Migrating Trac features to Pagure was a major focus, like roadmaps 13:44:36 Some things make sense, others are challenging 13:45:12 Roadmap tag can be used with milestones, tags, and other repo settings 13:45:19 screenshot.png 13:45:57 #info === Customized PR page === 13:46:07 While back, letter to GitHub 13:46:25 From major projects asking for features to be added, users frustrated over lack of progress on needs for larger projects 13:46:36 We looked at the emails and thought it was interesting feedback for bringing into Pagure 13:46:44 You can customize the information displayed in pull requests 13:46:49 #info You can customize the information displayed in pull requests 13:47:22 #info Includes what branch and repo pull requests go into, add a note about contributing (e.g. "how to test your changes before submitting") 13:47:38 Clone the PR repo 13:47:42 Default markdown file to create 13:47:46 Whatever content you put there will be displayed 13:48:04 In this example, asking to run the test script and that code is pep8 compliant 13:48:10 #info === Issue templates === 13:48:23 Works similar to PRs 13:48:25 Clone issues repo 13:48:27 Create template 13:48:31 Put default.md file in 13:48:50 Allows you to have different types of issues and template for user to see 13:49:00 Makes it easy for users to include the information you need to process quickly and easily 13:49:14 Different templates for different ticket types 13:49:24 #info Different issue templates for different ticket types 13:49:39 #info === Diff between x commits (Oliver Guitierrez) === 13:50:08 #link https://pagure.io/pagure/c/5803a79..3c85bbc 13:50:24 Compares two hashes to compare changes between two commits 13:50:36 #info Q: "Can we compare against dates? e.g. Jan 1 and Mar 30?" 13:52:07 #info A: Currently not, only two commits. Technically possible, no reason why not. Merge commits could affect whether this is accurate or not as well, e.g. if changes were made before date, but were merged in during that timeframe 13:52:43 #info === Take issue (Ryan Lerch) === 13:53:11 #info Before, if you wanted to take an issue, you needed to edit metadata, find your username, save metadata 13:53:28 #info Now, you click the button in the issue and you will auto-assign it to yourself. No refresh necessary 13:53:47 #info Q: "Right now, if you have page open for a long time, will it work?" 13:54:50 #info A: Will work because connection never closes. Problem is that some endpoints is over cross-site scripting, other concerns as well were considered too. 13:55:01 #info === Live completion (Eric Barbour) === 13:55:27 #info Auto-completion for tagging username or IDs for tickets / PRs, e.g. @jflory7 or #17 13:55:37 screenshot.png 13:56:08 #info === README file at creation (Ryan Lerch) === 13:56:18 #info Most people used to git, not a problem, but more in mind for new users 13:56:50 Creating README creates a commit in the repo and it will save time and steps for new users who are still learning 13:57:00 #info === Fake namespace === 13:57:08 Looking at features from GitHub 13:57:15 Want to have Pagure as front-end for dist-git 13:57:19 #info Want to have Pagure as front-end for dist-git 13:57:38 Suddenly, we needed to do namespacing in Pagure 13:57:41 Few ways to go about that 13:57:50 Run x instances of Pagure for x instances of pkgdb 13:58:16 #info Run x instances of Pagure for x instances of pkgdb, not effective solution when you can just run one. Won't be able to search between Pagures. 13:58:43 #info Adding namespacing would break all previous projects and change all URLs for all projects 13:59:48 #info Solution? Adding one slash to the end of a project configuration 14:01:06 [ ... ] 14:01:15 Missed some of the explanation 14:02:54 #info === New hooks === 14:03:14 #info ReadTheDoc hook: Push to PAgure, update ReadTheDocs 14:03:37 #info Block un-signed commits: Blocks PRs from being merged if they are unsigned with GPG 14:04:26 #info Block non-fastforward commits: If you want to keep the log clean, keeps merge commits out and only relevant commits (can also specify which branch to have this apply to, e.g. `master`) 14:04:32 #info === Better Pagure hook === 14:05:11 #info Close ticket / PR via commit message (e.g. `git commit -s "close issue #10 close pull request #6"`) 14:05:42 #topic Future 14:05:55 #info === Private repository (Farhaan) === 14:06:38 Configuration key to turn them on and off 14:06:47 Implementation still under discussion 14:06:56 But able to keep repos invisible to only those with commit access 14:07:02 Anyone else receives a 404 error 14:07:11 #info === CI integration (Farhaan) === 14:07:28 #info Pull requests can have flags to automatically build projects on other services, e.g. Jenkins 14:07:32 #info Aimed for next release 14:07:43 Talking between Pagure and Jenkins 14:07:53 If certain criteria met, will trigger a build on CI server 14:08:04 #info === Front-end for pkgs.fp.o (Vivek Anand) === 14:08:13 #link https://apps.stg.fedoraprohect.org/pagure/ 14:08:26 #info Work in progress, but implementation is public, in staging 14:08:40 #info Q: "Can I do stuff with this or will it break things?" 14:09:15 #info A: Shouldn't break anything, but if it does, we need to look into it! 14:09:17 #undo 14:09:17 Removing item from minutes: INFO by jflory7 at 14:09:15 : A: Shouldn't break anything, but if it does, we need to look into it! 14:09:18 #undo 14:09:18 Removing item from minutes: INFO by jflory7 at 14:08:40 : Q: "Can I do stuff with this or will it break things?" 14:09:19 #undo 14:09:20 Removing item from minutes: INFO by jflory7 at 14:08:26 : Work in progress, but implementation is public, in staging 14:09:21 #undo 14:09:21 Removing item from minutes: 14:09:40 #link https://apps.stg.fedoraproject.org/pagure/ 14:09:43 #info Work in progress, but implementation is public, in staging 14:09:46 #info Q: "Can I do stuff with this or will it break things?" 14:09:48 #info A: Shouldn't break anything, but if it does, we need to look into it! 14:10:15 #undo 14:10:15 Removing item from minutes: INFO by jflory7 at 14:09:48 : A: Shouldn't break anything, but if it does, we need to look into it! 14:10:15 #undo 14:10:15 Removing item from minutes: INFO by jflory7 at 14:09:46 : Q: "Can I do stuff with this or will it break things?" 14:10:16 #undo 14:10:16 Removing item from minutes: INFO by jflory7 at 14:09:43 : Work in progress, but implementation is public, in staging 14:10:16 #undo 14:10:16 Removing item from minutes: 14:10:19 #link http://pkgs.stg.fedoraproject.org/pagure/ 14:10:22 #info Work in progress, but implementation is public, in staging 14:10:24 #info Q: "Can I do stuff with this or will it break things?" 14:10:26 #info A: Shouldn't break anything, but if it does, we need to look into it! 14:10:31 Link in the slide was wrong ;) 14:11:41 #info === Mirror sources === 14:11:52 #info Designed to be made so you can move things from Pagure instance to Pagure instance 14:12:20 pingou++ 14:12:26 #info Maybe you have a private Pagure instance and want everyone to be on there, should be able to port all packages over to the other instance 14:12:43 #info When you push to Pagure, it will do a git push to another git server 14:12:49 Think of fedorahosted.org instance 14:12:51 If we kept it running 14:12:57 Could have both syncing consistently 14:13:09 #topic Community 14:13:33 #info 56 contributors, 33 contributors at 1.0, 2 GSoC students this year (Vivek Anand & Farhaan Bukhsh) 14:13:36 #undo 14:13:36 Removing item from minutes: INFO by jflory7 at 14:13:33 : 56 contributors, 33 contributors at 1.0, 2 GSoC students this year (Vivek Anand & Farhaan Bukhsh) 14:13:51 #info 56 contributors, 33 contributors at 1.0, 2 GSoC students this year (Vivek Anand & Farhaan Bukhsh), 2 Red Hat interns (Eric Barbour and Simon) 14:14:50 #info Top 10 contributors: pingou, ryanlerch, farhaanbukhsh, Johan, Clement, Vivek, Farhaan, Sayan, Lubomír, puiterwijk 14:14:55 Some miscounts, e.g. Fargaan 14:14:58 * Farhaan 14:15:02 #info Being packaged in Devian 14:15:08 #info Used outside our community 14:15:17 #link https://git.58.io 14:15:27 #link https://git.pignus.computer 14:15:32 #info Evaluated by two start-ups 14:16:24 #undo 14:16:24 Removing item from minutes: INFO by jflory7 at 14:15:32 : Evaluated by two start-ups 14:16:25 #undo 14:16:25 Removing item from minutes: 14:16:25 #undo 14:16:25 Removing item from minutes: 14:16:27 #undo 14:16:27 Removing item from minutes: INFO by jflory7 at 14:15:08 : Used outside our community 14:16:29 #undo 14:16:29 Removing item from minutes: INFO by jflory7 at 14:15:02 : Being packaged in Devian 14:16:34 #info Being packaged in Debian 14:16:37 #info Used outside our community 14:16:41 #link https://git.48.io 14:16:44 #link https://git.pignus.computer 14:16:53 #info Evaluated by two start-ups (and a team at RackSpace!) 14:17:36 #topic Questions 14:17:57 #info Q: "When is dist-git for Fedora going to be in prod?" - mattdm 14:19:23 #info A: As soon as we support it! It just reached staging, not entirely deployed 14:20:07 Also concern over what to do with forks 14:20:31 Communication between pkgdb and Pagure is big focus 14:21:03 #info Q: "Is it designed in a way to work around problem by packaging dist-git into pagure.io?" 14:21:07 Not sure if I caught all of that question 14:21:54 #undo 14:21:54 Removing item from minutes: INFO by jflory7 at 14:21:03 : Q: "Is it designed in a way to work around problem by packaging dist-git into pagure.io?" 14:21:58 #info Q: "Is it designed in a way to work around problem by packaging dist-git into pagure.io?" - mhroncok 14:22:09 #info A: Leverage pagure.io for pkg apps and relationship between fork and where it's coming from 14:22:53 jibecfed: Is this your question? If it is, feel free to #info, I missed the beginning 14:23:14 * jflory7 isn't sure if he's matching a username to face right ;) 14:23:59 Time reached 14:24:12 #endmeeting