Comments (6)
We'd want to remove the labeling feature and the pre-merge parts, and just run the post-merge steps. Here is an event to the routing key push.nixos/nixpkgs
:
{
"ref": "refs/heads/master",
"before": "f5e39b2c26d3e423bc6af8441233da28274a4495",
"after": "9a6aa3cccb40cd5dcd491f67adf690fede7f0280",
"created": false,
"deleted": false,
"forced": false,
"base_ref": null,
"compare": "https://github.com/NixOS/nixpkgs/compare/f5e39b2c26d3...9a6aa3cccb40",
"commits": [
{
"id": "9ad529e5c4208235a336033216476d5b5982ce5e",
"tree_id": "161072027c2819e14cbbf29d23d4c98011166c80",
"distinct": true,
"message": "datadiff: don't restrict to python2",
"timestamp": "2018-01-10T14:48:20-06:00",
"url": "https://github.com/NixOS/nixpkgs/commit/9ad529e5c4208235a336033216476d5b5982ce5e",
"author": {
"name": "Allen Nelson",
"email": "[email protected]",
"username": "adnelson"
},
"committer": {
"name": "Allen Nelson",
"email": "[email protected]",
"username": "adnelson"
},
"added": [],
"removed": [],
"modified": [
"pkgs/top-level/python-packages.nix"
]
},
{
"id": "9a6aa3cccb40cd5dcd491f67adf690fede7f0280",
"tree_id": "33d0cde963b2ea5e0c3dc8a6798a7492f01111f6",
"distinct": true,
"message": "Merge pull request #33721 from adnelson\\/datadiff_python3\n\ndatadiff: don't restrict to python2",
"timestamp": "2018-01-11T10:47:21+08:00",
"url": "https:\\/\\/github.com\\/NixOS\\/nixpkgs\\/commit\\/9a6aa3cccb40cd5dcd491f67adf690fede7f0280",
"author": {
"name": "adisbladis",
"email": "[email protected]",
"username": "adisbladis"
},
"committer": {
"name": "GitHub",
"email": "[email protected]",
"username": "web-flow"
},
"added": [],
"removed": [],
"modified": [
"pkgs\\/top-level\\/python-packages.nix"
]
}
],
"head_commit": {
"id": "9a6aa3cccb40cd5dcd491f67adf690fede7f0280",
"tree_id": "33d0cde963b2ea5e0c3dc8a6798a7492f01111f6",
"distinct": true,
"message": "Merge pull request #33721 from adnelson\\/datadiff_python3\n\ndatadiff: don't restrict to python2",
"timestamp": "2018-01-11T10:47:21+08:00",
"url": "https:\\/\\/github.com\\/NixOS\\/nixpkgs\\/commit\\/9a6aa3cccb40cd5dcd491f67adf690fede7f0280",
"author": {
"name": "adisbladis",
"email": "[email protected]",
"username": "adisbladis"
},
"committer": {
"name": "GitHub",
"email": "[email protected]",
"username": "web-flow"
},
"added": [],
"removed": [],
"modified": [
"pkgs\\/top-level\\/python-packages.nix"
]
},
"repository": {
"id": 4542716,
"name": "nixpkgs",
"full_name": "NixOS\\/nixpkgs",
"owner": {
"name": "NixOS",
"email": "",
"login": "NixOS",
"id": 487568,
"avatar_url": "https:\\/\\/avatars3.githubusercontent.com\\/u\\/487568?v=4",
"gravatar_id": "",
"url": "https:\\/\\/api.github.com\\/users\\/NixOS",
"html_url": "https:\\/\\/github.com\\/NixOS",
"followers_url": "https:\\/\\/api.github.com\\/users\\/NixOS\\/followers",
"following_url": "https:\\/\\/api.github.com\\/users\\/NixOS\\/following{\\/other_user}",
"gists_url": "https:\\/\\/api.github.com\\/users\\/NixOS\\/gists{\\/gist_id}",
"starred_url": "https:\\/\\/api.github.com\\/users\\/NixOS\\/starred{\\/owner}{\\/repo}",
"subscriptions_url": "https:\\/\\/api.github.com\\/users\\/NixOS\\/subscriptions",
"organizations_url": "https:\\/\\/api.github.com\\/users\\/NixOS\\/orgs",
"repos_url": "https:\\/\\/api.github.com\\/users\\/NixOS\\/repos",
"events_url": "https:\\/\\/api.github.com\\/users\\/NixOS\\/events{\\/privacy}",
"received_events_url": "https:\\/\\/api.github.com\\/users\\/NixOS\\/received_events",
"type": "Organization",
"site_admin": false
},
"private": false,
"html_url": "https:\\/\\/github.com\\/NixOS\\/nixpkgs",
"description": "Nix Packages collection",
"fork": false,
"url": "https:\\/\\/github.com\\/NixOS\\/nixpkgs",
"forks_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/forks",
"keys_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/keys{\\/key_id}",
"collaborators_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/collaborators{\\/collaborator}",
"teams_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/teams",
"hooks_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/hooks",
"issue_events_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/issues\\/events{\\/number}",
"events_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/events",
"assignees_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/assignees{\\/user}",
"branches_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/branches{\\/branch}",
"tags_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/tags",
"blobs_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/git\\/blobs{\\/sha}",
"git_tags_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/git\\/tags{\\/sha}",
"git_refs_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/git\\/refs{\\/sha}",
"trees_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/git\\/trees{\\/sha}",
"statuses_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/statuses\\/{sha}",
"languages_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/languages",
"stargazers_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/stargazers",
"contributors_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/contributors",
"subscribers_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/subscribers",
"subscription_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/subscription",
"commits_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/commits{\\/sha}",
"git_commits_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/git\\/commits{\\/sha}",
"comments_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/comments{\\/number}",
"issue_comment_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/issues\\/comments{\\/number}",
"contents_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/contents\\/{+path}",
"compare_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/compare\\/{base}...{head}",
"merges_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/merges",
"archive_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/{archive_format}{\\/ref}",
"downloads_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/downloads",
"issues_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/issues{\\/number}",
"pulls_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/pulls{\\/number}",
"milestones_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/milestones{\\/number}",
"notifications_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/notifications{?since,all,participating}",
"labels_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/labels{\\/name}",
"releases_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/releases{\\/id}",
"deployments_url": "https:\\/\\/api.github.com\\/repos\\/NixOS\\/nixpkgs\\/deployments",
"created_at": 1338778186,
"updated_at": "2018-01-10T19:06:48Z",
"pushed_at": 1515638841,
"git_url": "git:\\/\\/github.com\\/NixOS\\/nixpkgs.git",
"ssh_url": "[email protected]:NixOS\\/nixpkgs.git",
"clone_url": "https:\\/\\/github.com\\/NixOS\\/nixpkgs.git",
"svn_url": "https:\\/\\/github.com\\/NixOS\\/nixpkgs",
"homepage": null,
"size": 731779,
"stargazers_count": 2141,
"watchers_count": 2141,
"language": "Nix",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": false,
"has_pages": false,
"forks_count": 2489,
"mirror_url": null,
"archived": false,
"open_issues_count": 2750,
"license": {
"key": "other",
"name": "Other",
"spdx_id": null,
"url": null
},
"forks": 2489,
"open_issues": 2765,
"watchers": 2141,
"default_branch": "master",
"stargazers": 2141,
"master_branch": "master",
"organization": "NixOS"
},
"pusher": {
"name": "adisbladis",
"email": "[email protected]"
},
"organization": {
"login": "NixOS",
"id": 487568,
"url": "https:\\/\\/api.github.com\\/orgs\\/NixOS",
"repos_url": "https:\\/\\/api.github.com\\/orgs\\/NixOS\\/repos",
"events_url": "https:\\/\\/api.github.com\\/orgs\\/NixOS\\/events",
"hooks_url": "https:\\/\\/api.github.com\\/orgs\\/NixOS\\/hooks",
"issues_url": "https:\\/\\/api.github.com\\/orgs\\/NixOS\\/issues",
"members_url": "https:\\/\\/api.github.com\\/orgs\\/NixOS\\/members{\\/member}",
"public_members_url": "https:\\/\\/api.github.com\\/orgs\\/NixOS\\/public_members{\\/member}",
"avatar_url": "https:\\/\\/avatars3.githubusercontent.com\\/u\\/487568?v=4",
"description": ""
},
"sender": {
"login": "adisbladis",
"id": 63286,
"avatar_url": "https:\\/\\/avatars3.githubusercontent.com\\/u\\/63286?v=4",
"gravatar_id": "",
"url": "https:\\/\\/api.github.com\\/users\\/adisbladis",
"html_url": "https:\\/\\/github.com\\/adisbladis",
"followers_url": "https:\\/\\/api.github.com\\/users\\/adisbladis\\/followers",
"following_url": "https:\\/\\/api.github.com\\/users\\/adisbladis\\/following{\\/other_user}",
"gists_url": "https:\\/\\/api.github.com\\/users\\/adisbladis\\/gists{\\/gist_id}",
"starred_url": "https:\\/\\/api.github.com\\/users\\/adisbladis\\/starred{\\/owner}{\\/repo}",
"subscriptions_url": "https:\\/\\/api.github.com\\/users\\/adisbladis\\/subscriptions",
"organizations_url": "https:\\/\\/api.github.com\\/users\\/adisbladis\\/orgs",
"repos_url": "https:\\/\\/api.github.com\\/users\\/adisbladis\\/repos",
"events_url": "https:\\/\\/api.github.com\\/users\\/adisbladis\\/events{\\/privacy}",
"received_events_url": "https:\\/\\/api.github.com\\/users\\/adisbladis\\/received_events",
"type": "User",
"site_admin": false
}
}
from ofborg.
This would be really good for preventing master to fail.
Currently dev workflow is:
- make a change in nixpkgs
- eval + tests locally
- git push
There are two ways to prevent breakage on master:
a) Enforce PRs, this has a major drawback of adding a few extra steps for each change - I think much of the success of nixpkgs is that it's so simple to work with
b) auto-revert commits that break master, this way good commits are not punished, and if eval breaks, commit is reverted (and user gets a github ping and thus an email)
from ofborg.
I am for enforcing PRs. That's what I myself do (i.e. merging little PRs right after ofborg passes). Not only is it totally worth the extra testing, but it provides a nicer way to comment on GitHub post merge.
from ofborg.
Depends on the type of work. If you do huge refactorings, it's basically a must. But some folks do lots of package bumps and it quickly gets annoying. Note that auto-revert doesn't prevent you from doing PRs, while enforce-PRs does change development workflow.
from ofborg.
Personally, I also want small additions and near-leaf package bumps as far from the PR list bottleneck as possible, even if they do not compete for the review resources.
On the other hand, I think both enforcing PRs and trying to auto-revert anything would be better to try after #112 gets an implementation and some usage.
from ofborg.
ofborg runs on all PRs, there are no more direct pushes (to protected branches): NixOS/nixpkgs#249117
from ofborg.
Related Issues (20)
- Update `hyper` rust dependency
- `@ofborg test foo` in PR description does nothing HOT 1
- Updating to nix >=2.16 fails during tests
- ofborg fails nondeterministically HOT 6
- Matrix notifications HOT 1
- Build `tests.*` listed as changed paths HOT 2
- Detect what to build based on touched file paths
- Builders sometimes don't have enough space in the build dir for kernel builds
- ofborg does not use `$attr.meta.maintainers` when `$attr` is in the commit message HOT 1
- Update nixpks used in flakes to a current version HOT 4
- How to reproduce jobs locally? -> improve logs HOT 3
- Ping maintainers when they get removed
- generic error: found empty hash, assuming sha256-aaa...
- ofborg doesn't apply changes from PR before kicking off builds on aarch64-darwin sometimes. HOT 3
- error: a 'x86_64-linux' … is required … but I am a 'aarch64-darwin' HOT 3
- Granular requiredSystemFeatures: build individual attributes in passthru.tests HOT 1
- `@ofborg test foo` in a "review comment" does nothing
- labeling for "11.by package-maintainter" didn't detect me as maintainer in nixpkgs
- Don't request maintainer review of closed PR HOT 1
- Allow unfree redistributable builds? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ofborg.