Skip to content

ci: verify no unintentional circleci config changes#33737

Closed
josephperrott wants to merge 1 commit into
angular:masterfrom
josephperrott:circleci-check
Closed

ci: verify no unintentional circleci config changes#33737
josephperrott wants to merge 1 commit into
angular:masterfrom
josephperrott:circleci-check

Conversation

@josephperrott
Copy link
Copy Markdown
Member

@josephperrott josephperrott commented Nov 11, 2019

Changes the setup step to fail during the rebase PR process if the .circleci/config.yml file has changed between the ref at which the PR was created and the PR, but was not changed in the PR.

The intention is to prevent unexpected CI failures caused by unrealized config file changes.

@josephperrott josephperrott force-pushed the circleci-check branch 11 times, most recently from 962a9e8 to 1458afc Compare November 11, 2019 19:33
@josephperrott josephperrott added area: build & ci Related the build and CI infrastructure of the project action: merge The PR is ready for merge by the caretaker target: patch This PR is targeted for the next patch release labels Nov 11, 2019
@ngbot ngbot Bot added this to the needsTriage milestone Nov 11, 2019
@josephperrott josephperrott force-pushed the circleci-check branch 3 times, most recently from 06f56c9 to 0ee9083 Compare November 11, 2019 20:44
@josephperrott josephperrott marked this pull request as ready for review November 11, 2019 21:00
@josephperrott josephperrott requested a review from a team November 11, 2019 21:00
@kara kara added the action: review The PR is still awaiting reviews from at least one requested reviewer label Nov 11, 2019
Comment thread tools/rebase-pr.js Outdated
Comment thread tools/rebase-pr.js Outdated
Copy link
Copy Markdown
Member

@devversion devversion Nov 12, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to clarify: Isn't the last commit in the response, the latest commit in the PR, and the first commit in the response the oldest commit in the PR. I think it would make things more clear if we use that wording?

Comment thread tools/rebase-pr.js Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should shaBeforePR actually be result[0].parentCommitSha (pseudo code) and lastShaInPR be result[-1].sha (pseudo)

@josephperrott josephperrott force-pushed the circleci-check branch 2 times, most recently from 97cd2fa to 39120cc Compare November 12, 2019 18:40
@josephperrott
Copy link
Copy Markdown
Member Author

Great news, it worked as expected when I pushed up my fix.

Copy link
Copy Markdown
Member

@devversion devversion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@gkalpak gkalpak removed the action: merge The PR is ready for merge by the caretaker label Nov 14, 2019
@josephperrott josephperrott added action: merge The PR is ready for merge by the caretaker and removed action: review The PR is still awaiting reviews from at least one requested reviewer labels Nov 20, 2019
@josephperrott
Copy link
Copy Markdown
Member Author

It appears our understanding of how the base.sha value in the PR endpoint is determined seems to be inaccurate. Copying responses of API requests below since with a new push the values will change.

In light of this, I think its best we instead use git to determine the common ancestor of the latest SHA of the PR and the current tip of of the target branch, and then check if the CircleCI config file has changed between the common ancestor SHA and the tip of the target branch.


The result of the commits api endpoint indicates the parent sha as 96c9ccc81a14752fc4cf5c70f5042c693bd50f19

API RESPONSE

[
  {
    "sha": "3602f1dad601360a89950129e72c54be0356421f",
    "node_id": "MDY6Q29tbWl0ODc1ODE4MzA6MzYwMmYxZGFkNjAxMzYwYTg5OTUwMTI5ZTcyYzU0YmUwMzU2NDIxZg==",
    "commit": {
      "author": {
        "name": "Joey Perrott",
        "email": "josephperrott.github@gmail.com",
        "date": "2019-11-11T18:50:53Z"
      },
      "committer": {
        "name": "Joey Perrott",
        "email": "josephperrott.github@gmail.com",
        "date": "2019-11-20T14:58:34Z"
      },
      "message": "ci: verify no unintentional circleci config changes",
      "tree": {
        "sha": "a28440f2fc13206b9bd42453e9965dbef9e92164",
        "url": "https://api.github.com/repos/angular/angular/git/trees/a28440f2fc13206b9bd42453e9965dbef9e92164"
      },
      "url": "https://api.github.com/repos/angular/angular/git/commits/3602f1dad601360a89950129e72c54be0356421f",
      "comment_count": 0,
      "verification": {
        "verified": false,
        "reason": "unsigned",
        "signature": null,
        "payload": null
      }
    },
    "url": "https://api.github.com/repos/angular/angular/commits/3602f1dad601360a89950129e72c54be0356421f",
    "html_url": "https://github.com/angular/angular/commit/3602f1dad601360a89950129e72c54be0356421f",
    "comments_url": "https://api.github.com/repos/angular/angular/commits/3602f1dad601360a89950129e72c54be0356421f/comments",
    "author": {
      "login": "josephperrott",
      "id": 10864441,
      "node_id": "MDQ6VXNlcjEwODY0NDQx",
      "avatar_url": "https://avatars2.githubusercontent.com/u/10864441?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/josephperrott",
      "html_url": "https://github.com/josephperrott",
      "followers_url": "https://api.github.com/users/josephperrott/followers",
      "following_url": "https://api.github.com/users/josephperrott/following{/other_user}",
      "gists_url": "https://api.github.com/users/josephperrott/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/josephperrott/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/josephperrott/subscriptions",
      "organizations_url": "https://api.github.com/users/josephperrott/orgs",
      "repos_url": "https://api.github.com/users/josephperrott/repos",
      "events_url": "https://api.github.com/users/josephperrott/events{/privacy}",
      "received_events_url": "https://api.github.com/users/josephperrott/received_events",
      "type": "User",
      "site_admin": false
    },
    "committer": {
      "login": "josephperrott",
      "id": 10864441,
      "node_id": "MDQ6VXNlcjEwODY0NDQx",
      "avatar_url": "https://avatars2.githubusercontent.com/u/10864441?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/josephperrott",
      "html_url": "https://github.com/josephperrott",
      "followers_url": "https://api.github.com/users/josephperrott/followers",
      "following_url": "https://api.github.com/users/josephperrott/following{/other_user}",
      "gists_url": "https://api.github.com/users/josephperrott/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/josephperrott/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/josephperrott/subscriptions",
      "organizations_url": "https://api.github.com/users/josephperrott/orgs",
      "repos_url": "https://api.github.com/users/josephperrott/repos",
      "events_url": "https://api.github.com/users/josephperrott/events{/privacy}",
      "received_events_url": "https://api.github.com/users/josephperrott/received_events",
      "type": "User",
      "site_admin": false
    },
    "parents": [
      {
        "sha": "96c9ccc81a14752fc4cf5c70f5042c693bd50f19",
        "url": "https://api.github.com/repos/angular/angular/commits/96c9ccc81a14752fc4cf5c70f5042c693bd50f19",
        "html_url": "https://github.com/angular/angular/commit/96c9ccc81a14752fc4cf5c70f5042c693bd50f19"
      }
    ]
  }
]

The result of the pull request api endpoint indicates the base sha as bb290cefae154fc7a2b0903b8371da4eb4adebc0

API RESPONSE

{
  "url": "https://api.github.com/repos/angular/angular/pulls/33737",
  "id": 339524285,
  "node_id": "MDExOlB1bGxSZXF1ZXN0MzM5NTI0Mjg1",
  "html_url": "https://github.com/angular/angular/pull/33737",
  "diff_url": "https://github.com/angular/angular/pull/33737.diff",
  "patch_url": "https://github.com/angular/angular/pull/33737.patch",
  "issue_url": "https://api.github.com/repos/angular/angular/issues/33737",
  "number": 33737,
  "state": "open",
  "locked": false,
  "title": "ci: verify no unintentional circleci config changes",
  "user": {
    "login": "josephperrott",
    "id": 10864441,
    "node_id": "MDQ6VXNlcjEwODY0NDQx",
    "avatar_url": "https://avatars2.githubusercontent.com/u/10864441?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/josephperrott",
    "html_url": "https://github.com/josephperrott",
    "followers_url": "https://api.github.com/users/josephperrott/followers",
    "following_url": "https://api.github.com/users/josephperrott/following{/other_user}",
    "gists_url": "https://api.github.com/users/josephperrott/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/josephperrott/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/josephperrott/subscriptions",
    "organizations_url": "https://api.github.com/users/josephperrott/orgs",
    "repos_url": "https://api.github.com/users/josephperrott/repos",
    "events_url": "https://api.github.com/users/josephperrott/events{/privacy}",
    "received_events_url": "https://api.github.com/users/josephperrott/received_events",
    "type": "User",
    "site_admin": false
  },
  "body": "Changes the `setup` step to fail during the rebase PR process if the `.circleci/config.yml` file has changed between the ref at which the PR was created and the PR, but was not changed in the PR.\r\n\r\nThe intention is to prevent unexpected CI failures caused by unrealized config file changes.",
  "created_at": "2019-11-11T16:50:51Z",
  "updated_at": "2019-11-20T14:59:04Z",
  "closed_at": null,
  "merged_at": null,
  "merge_commit_sha": "a86fc19bf90bb7f2ca2a34a1eb59409fff728953",
  "assignee": null,
  "assignees": [

  ],
  "requested_reviewers": [
    {
      "login": "devversion",
      "id": 4987015,
      "node_id": "MDQ6VXNlcjQ5ODcwMTU=",
      "avatar_url": "https://avatars3.githubusercontent.com/u/4987015?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/devversion",
      "html_url": "https://github.com/devversion",
      "followers_url": "https://api.github.com/users/devversion/followers",
      "following_url": "https://api.github.com/users/devversion/following{/other_user}",
      "gists_url": "https://api.github.com/users/devversion/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/devversion/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/devversion/subscriptions",
      "organizations_url": "https://api.github.com/users/devversion/orgs",
      "repos_url": "https://api.github.com/users/devversion/repos",
      "events_url": "https://api.github.com/users/devversion/events{/privacy}",
      "received_events_url": "https://api.github.com/users/devversion/received_events",
      "type": "User",
      "site_admin": false
    }
  ],
  "requested_teams": [

  ],
  "labels": [
    {
      "id": 133556520,
      "node_id": "MDU6TGFiZWwxMzM1NTY1MjA=",
      "url": "https://api.github.com/repos/angular/angular/labels/PR%20action:%20merge",
      "name": "PR action: merge",
      "color": "6cdd99",
      "default": false,
      "description": "PR author is ready for this to merge"
    },
    {
      "id": 655699838,
      "node_id": "MDU6TGFiZWw2NTU2OTk4Mzg=",
      "url": "https://api.github.com/repos/angular/angular/labels/PR%20target:%20master%20&%20patch",
      "name": "PR target: master & patch",
      "color": "5319e7",
      "default": false,
      "description": null
    },
    {
      "id": 149476251,
      "node_id": "MDU6TGFiZWwxNDk0NzYyNTE=",
      "url": "https://api.github.com/repos/angular/angular/labels/cla:%20yes",
      "name": "cla: yes",
      "color": "009800",
      "default": false,
      "description": null
    },
    {
      "id": 193817683,
      "node_id": "MDU6TGFiZWwxOTM4MTc2ODM=",
      "url": "https://api.github.com/repos/angular/angular/labels/comp:%20build%20&%20ci",
      "name": "comp: build & ci",
      "color": "c7def8",
      "default": false,
      "description": "ONLY FOR INTERNAL ISSUES AFFECTING ANGULAR TEAM"
    }
  ],
  "milestone": {
    "url": "https://api.github.com/repos/angular/angular/milestones/83",
    "html_url": "https://github.com/angular/angular/milestone/83",
    "labels_url": "https://api.github.com/repos/angular/angular/milestones/83/labels",
    "id": 3143880,
    "node_id": "MDk6TWlsZXN0b25lMzE0Mzg4MA==",
    "number": 83,
    "title": "needsTriage",
    "description": "Milestone for all issues that haven't been triaged yet",
    "creator": {
      "login": "ocombe",
      "id": 265378,
      "node_id": "MDQ6VXNlcjI2NTM3OA==",
      "avatar_url": "https://avatars0.githubusercontent.com/u/265378?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/ocombe",
      "html_url": "https://github.com/ocombe",
      "followers_url": "https://api.github.com/users/ocombe/followers",
      "following_url": "https://api.github.com/users/ocombe/following{/other_user}",
      "gists_url": "https://api.github.com/users/ocombe/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/ocombe/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/ocombe/subscriptions",
      "organizations_url": "https://api.github.com/users/ocombe/orgs",
      "repos_url": "https://api.github.com/users/ocombe/repos",
      "events_url": "https://api.github.com/users/ocombe/events{/privacy}",
      "received_events_url": "https://api.github.com/users/ocombe/received_events",
      "type": "User",
      "site_admin": false
    },
    "open_issues": 670,
    "closed_issues": 3968,
    "state": "open",
    "created_at": "2018-02-26T14:22:18Z",
    "updated_at": "2019-11-20T15:52:39Z",
    "due_on": null,
    "closed_at": null
  },
  "commits_url": "https://api.github.com/repos/angular/angular/pulls/33737/commits",
  "review_comments_url": "https://api.github.com/repos/angular/angular/pulls/33737/comments",
  "review_comment_url": "https://api.github.com/repos/angular/angular/pulls/comments{/number}",
  "comments_url": "https://api.github.com/repos/angular/angular/issues/33737/comments",
  "statuses_url": "https://api.github.com/repos/angular/angular/statuses/3602f1dad601360a89950129e72c54be0356421f",
  "head": {
    "label": "josephperrott:circleci-check",
    "ref": "circleci-check",
    "sha": "3602f1dad601360a89950129e72c54be0356421f",
    "user": {
      "login": "josephperrott",
      "id": 10864441,
      "node_id": "MDQ6VXNlcjEwODY0NDQx",
      "avatar_url": "https://avatars2.githubusercontent.com/u/10864441?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/josephperrott",
      "html_url": "https://github.com/josephperrott",
      "followers_url": "https://api.github.com/users/josephperrott/followers",
      "following_url": "https://api.github.com/users/josephperrott/following{/other_user}",
      "gists_url": "https://api.github.com/users/josephperrott/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/josephperrott/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/josephperrott/subscriptions",
      "organizations_url": "https://api.github.com/users/josephperrott/orgs",
      "repos_url": "https://api.github.com/users/josephperrott/repos",
      "events_url": "https://api.github.com/users/josephperrott/events{/privacy}",
      "received_events_url": "https://api.github.com/users/josephperrott/received_events",
      "type": "User",
      "site_admin": false
    },
    "repo": {
      "id": 87581830,
      "node_id": "MDEwOlJlcG9zaXRvcnk4NzU4MTgzMA==",
      "name": "angular",
      "full_name": "josephperrott/angular",
      "private": false,
      "owner": {
        "login": "josephperrott",
        "id": 10864441,
        "node_id": "MDQ6VXNlcjEwODY0NDQx",
        "avatar_url": "https://avatars2.githubusercontent.com/u/10864441?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/josephperrott",
        "html_url": "https://github.com/josephperrott",
        "followers_url": "https://api.github.com/users/josephperrott/followers",
        "following_url": "https://api.github.com/users/josephperrott/following{/other_user}",
        "gists_url": "https://api.github.com/users/josephperrott/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/josephperrott/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/josephperrott/subscriptions",
        "organizations_url": "https://api.github.com/users/josephperrott/orgs",
        "repos_url": "https://api.github.com/users/josephperrott/repos",
        "events_url": "https://api.github.com/users/josephperrott/events{/privacy}",
        "received_events_url": "https://api.github.com/users/josephperrott/received_events",
        "type": "User",
        "site_admin": false
      },
      "html_url": "https://github.com/josephperrott/angular",
      "description": "One framework. Mobile & desktop.",
      "fork": true,
      "url": "https://api.github.com/repos/josephperrott/angular",
      "forks_url": "https://api.github.com/repos/josephperrott/angular/forks",
      "keys_url": "https://api.github.com/repos/josephperrott/angular/keys{/key_id}",
      "collaborators_url": "https://api.github.com/repos/josephperrott/angular/collaborators{/collaborator}",
      "teams_url": "https://api.github.com/repos/josephperrott/angular/teams",
      "hooks_url": "https://api.github.com/repos/josephperrott/angular/hooks",
      "issue_events_url": "https://api.github.com/repos/josephperrott/angular/issues/events{/number}",
      "events_url": "https://api.github.com/repos/josephperrott/angular/events",
      "assignees_url": "https://api.github.com/repos/josephperrott/angular/assignees{/user}",
      "branches_url": "https://api.github.com/repos/josephperrott/angular/branches{/branch}",
      "tags_url": "https://api.github.com/repos/josephperrott/angular/tags",
      "blobs_url": "https://api.github.com/repos/josephperrott/angular/git/blobs{/sha}",
      "git_tags_url": "https://api.github.com/repos/josephperrott/angular/git/tags{/sha}",
      "git_refs_url": "https://api.github.com/repos/josephperrott/angular/git/refs{/sha}",
      "trees_url": "https://api.github.com/repos/josephperrott/angular/git/trees{/sha}",
      "statuses_url": "https://api.github.com/repos/josephperrott/angular/statuses/{sha}",
      "languages_url": "https://api.github.com/repos/josephperrott/angular/languages",
      "stargazers_url": "https://api.github.com/repos/josephperrott/angular/stargazers",
      "contributors_url": "https://api.github.com/repos/josephperrott/angular/contributors",
      "subscribers_url": "https://api.github.com/repos/josephperrott/angular/subscribers",
      "subscription_url": "https://api.github.com/repos/josephperrott/angular/subscription",
      "commits_url": "https://api.github.com/repos/josephperrott/angular/commits{/sha}",
      "git_commits_url": "https://api.github.com/repos/josephperrott/angular/git/commits{/sha}",
      "comments_url": "https://api.github.com/repos/josephperrott/angular/comments{/number}",
      "issue_comment_url": "https://api.github.com/repos/josephperrott/angular/issues/comments{/number}",
      "contents_url": "https://api.github.com/repos/josephperrott/angular/contents/{+path}",
      "compare_url": "https://api.github.com/repos/josephperrott/angular/compare/{base}...{head}",
      "merges_url": "https://api.github.com/repos/josephperrott/angular/merges",
      "archive_url": "https://api.github.com/repos/josephperrott/angular/{archive_format}{/ref}",
      "downloads_url": "https://api.github.com/repos/josephperrott/angular/downloads",
      "issues_url": "https://api.github.com/repos/josephperrott/angular/issues{/number}",
      "pulls_url": "https://api.github.com/repos/josephperrott/angular/pulls{/number}",
      "milestones_url": "https://api.github.com/repos/josephperrott/angular/milestones{/number}",
      "notifications_url": "https://api.github.com/repos/josephperrott/angular/notifications{?since,all,participating}",
      "labels_url": "https://api.github.com/repos/josephperrott/angular/labels{/name}",
      "releases_url": "https://api.github.com/repos/josephperrott/angular/releases{/id}",
      "deployments_url": "https://api.github.com/repos/josephperrott/angular/deployments",
      "created_at": "2017-04-07T19:51:24Z",
      "updated_at": "2019-11-20T15:10:44Z",
      "pushed_at": "2019-11-20T16:49:37Z",
      "git_url": "git://github.com/josephperrott/angular.git",
      "ssh_url": "git@github.com:josephperrott/angular.git",
      "clone_url": "https://github.com/josephperrott/angular.git",
      "svn_url": "https://github.com/josephperrott/angular",
      "homepage": "https://angular.io",
      "size": 121660,
      "stargazers_count": 0,
      "watchers_count": 0,
      "language": "TypeScript",
      "has_issues": false,
      "has_projects": true,
      "has_downloads": true,
      "has_wiki": false,
      "has_pages": false,
      "forks_count": 0,
      "mirror_url": null,
      "archived": false,
      "disabled": false,
      "open_issues_count": 0,
      "license": {
        "key": "mit",
        "name": "MIT License",
        "spdx_id": "MIT",
        "url": "https://api.github.com/licenses/mit",
        "node_id": "MDc6TGljZW5zZTEz"
      },
      "forks": 0,
      "open_issues": 0,
      "watchers": 0,
      "default_branch": "master"
    }
  },
  "base": {
    "label": "angular:master",
    "ref": "master",
    "sha": "bb290cefae154fc7a2b0903b8371da4eb4adebc0",
    "user": {
      "login": "angular",
      "id": 139426,
      "node_id": "MDEyOk9yZ2FuaXphdGlvbjEzOTQyNg==",
      "avatar_url": "https://avatars3.githubusercontent.com/u/139426?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/angular",
      "html_url": "https://github.com/angular",
      "followers_url": "https://api.github.com/users/angular/followers",
      "following_url": "https://api.github.com/users/angular/following{/other_user}",
      "gists_url": "https://api.github.com/users/angular/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/angular/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/angular/subscriptions",
      "organizations_url": "https://api.github.com/users/angular/orgs",
      "repos_url": "https://api.github.com/users/angular/repos",
      "events_url": "https://api.github.com/users/angular/events{/privacy}",
      "received_events_url": "https://api.github.com/users/angular/received_events",
      "type": "Organization",
      "site_admin": false
    },
    "repo": {
      "id": 24195339,
      "node_id": "MDEwOlJlcG9zaXRvcnkyNDE5NTMzOQ==",
      "name": "angular",
      "full_name": "angular/angular",
      "private": false,
      "owner": {
        "login": "angular",
        "id": 139426,
        "node_id": "MDEyOk9yZ2FuaXphdGlvbjEzOTQyNg==",
        "avatar_url": "https://avatars3.githubusercontent.com/u/139426?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/angular",
        "html_url": "https://github.com/angular",
        "followers_url": "https://api.github.com/users/angular/followers",
        "following_url": "https://api.github.com/users/angular/following{/other_user}",
        "gists_url": "https://api.github.com/users/angular/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/angular/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/angular/subscriptions",
        "organizations_url": "https://api.github.com/users/angular/orgs",
        "repos_url": "https://api.github.com/users/angular/repos",
        "events_url": "https://api.github.com/users/angular/events{/privacy}",
        "received_events_url": "https://api.github.com/users/angular/received_events",
        "type": "Organization",
        "site_admin": false
      },
      "html_url": "https://github.com/angular/angular",
      "description": "One framework. Mobile & desktop.",
      "fork": false,
      "url": "https://api.github.com/repos/angular/angular",
      "forks_url": "https://api.github.com/repos/angular/angular/forks",
      "keys_url": "https://api.github.com/repos/angular/angular/keys{/key_id}",
      "collaborators_url": "https://api.github.com/repos/angular/angular/collaborators{/collaborator}",
      "teams_url": "https://api.github.com/repos/angular/angular/teams",
      "hooks_url": "https://api.github.com/repos/angular/angular/hooks",
      "issue_events_url": "https://api.github.com/repos/angular/angular/issues/events{/number}",
      "events_url": "https://api.github.com/repos/angular/angular/events",
      "assignees_url": "https://api.github.com/repos/angular/angular/assignees{/user}",
      "branches_url": "https://api.github.com/repos/angular/angular/branches{/branch}",
      "tags_url": "https://api.github.com/repos/angular/angular/tags",
      "blobs_url": "https://api.github.com/repos/angular/angular/git/blobs{/sha}",
      "git_tags_url": "https://api.github.com/repos/angular/angular/git/tags{/sha}",
      "git_refs_url": "https://api.github.com/repos/angular/angular/git/refs{/sha}",
      "trees_url": "https://api.github.com/repos/angular/angular/git/trees{/sha}",
      "statuses_url": "https://api.github.com/repos/angular/angular/statuses/{sha}",
      "languages_url": "https://api.github.com/repos/angular/angular/languages",
      "stargazers_url": "https://api.github.com/repos/angular/angular/stargazers",
      "contributors_url": "https://api.github.com/repos/angular/angular/contributors",
      "subscribers_url": "https://api.github.com/repos/angular/angular/subscribers",
      "subscription_url": "https://api.github.com/repos/angular/angular/subscription",
      "commits_url": "https://api.github.com/repos/angular/angular/commits{/sha}",
      "git_commits_url": "https://api.github.com/repos/angular/angular/git/commits{/sha}",
      "comments_url": "https://api.github.com/repos/angular/angular/comments{/number}",
      "issue_comment_url": "https://api.github.com/repos/angular/angular/issues/comments{/number}",
      "contents_url": "https://api.github.com/repos/angular/angular/contents/{+path}",
      "compare_url": "https://api.github.com/repos/angular/angular/compare/{base}...{head}",
      "merges_url": "https://api.github.com/repos/angular/angular/merges",
      "archive_url": "https://api.github.com/repos/angular/angular/{archive_format}{/ref}",
      "downloads_url": "https://api.github.com/repos/angular/angular/downloads",
      "issues_url": "https://api.github.com/repos/angular/angular/issues{/number}",
      "pulls_url": "https://api.github.com/repos/angular/angular/pulls{/number}",
      "milestones_url": "https://api.github.com/repos/angular/angular/milestones{/number}",
      "notifications_url": "https://api.github.com/repos/angular/angular/notifications{?since,all,participating}",
      "labels_url": "https://api.github.com/repos/angular/angular/labels{/name}",
      "releases_url": "https://api.github.com/repos/angular/angular/releases{/id}",
      "deployments_url": "https://api.github.com/repos/angular/angular/deployments",
      "created_at": "2014-09-18T16:12:01Z",
      "updated_at": "2019-11-20T17:02:46Z",
      "pushed_at": "2019-11-20T17:05:01Z",
      "git_url": "git://github.com/angular/angular.git",
      "ssh_url": "git@github.com:angular/angular.git",
      "clone_url": "https://github.com/angular/angular.git",
      "svn_url": "https://github.com/angular/angular",
      "homepage": "https://angular.io",
      "size": 128276,
      "stargazers_count": 54350,
      "watchers_count": 54350,
      "language": "TypeScript",
      "has_issues": true,
      "has_projects": true,
      "has_downloads": true,
      "has_wiki": false,
      "has_pages": false,
      "forks_count": 15029,
      "mirror_url": null,
      "archived": false,
      "disabled": false,
      "open_issues_count": 3284,
      "license": {
        "key": "mit",
        "name": "MIT License",
        "spdx_id": "MIT",
        "url": "https://api.github.com/licenses/mit",
        "node_id": "MDc6TGljZW5zZTEz"
      },
      "forks": 15029,
      "open_issues": 3284,
      "watchers": 54350,
      "default_branch": "master"
    }
  },
  "_links": {
    "self": {
      "href": "https://api.github.com/repos/angular/angular/pulls/33737"
    },
    "html": {
      "href": "https://github.com/angular/angular/pull/33737"
    },
    "issue": {
      "href": "https://api.github.com/repos/angular/angular/issues/33737"
    },
    "comments": {
      "href": "https://api.github.com/repos/angular/angular/issues/33737/comments"
    },
    "review_comments": {
      "href": "https://api.github.com/repos/angular/angular/pulls/33737/comments"
    },
    "review_comment": {
      "href": "https://api.github.com/repos/angular/angular/pulls/comments{/number}"
    },
    "commits": {
      "href": "https://api.github.com/repos/angular/angular/pulls/33737/commits"
    },
    "statuses": {
      "href": "https://api.github.com/repos/angular/angular/statuses/3602f1dad601360a89950129e72c54be0356421f"
    }
  },
  "author_association": "MEMBER",
  "merged": false,
  "mergeable": true,
  "rebaseable": true,
  "mergeable_state": "unstable",
  "merged_by": null,
  "comments": 2,
  "review_comments": 16,
  "maintainer_can_modify": true,
  "commits": 1,
  "additions": 52,
  "deletions": 13,
  "changed_files": 1
}

@josephperrott josephperrott force-pushed the circleci-check branch 2 times, most recently from a3099be to 4029a1d Compare November 20, 2019 17:58
@gkalpak
Copy link
Copy Markdown
Member

gkalpak commented Nov 20, 2019

Well...both endpoints return the same thing for me now, but maybe the PR endoint takes more time to be updated after a force-push. So, I think it makes sense to use git if possible (since that is guaranteed to be up-to-date 😃

Comment thread tools/rebase-pr.js Outdated
Comment thread tools/rebase-pr.js Outdated
Comment thread tools/rebase-pr.js Outdated
@josephperrott josephperrott force-pushed the circleci-check branch 3 times, most recently from 7bcaff8 to 202dae7 Compare November 20, 2019 21:53
Comment thread tools/rebase-pr.js Outdated
Comment thread tools/rebase-pr.js Outdated
@gkalpak gkalpak added action: cleanup The PR is in need of cleanup, either due to needing a rebase or in response to comments from reviews and removed action: merge The PR is ready for merge by the caretaker labels Nov 21, 2019
@josephperrott josephperrott added action: merge The PR is ready for merge by the caretaker merge: caretaker note Alert the caretaker performing the merge to check the PR for an out of normal action needed or note and removed action: cleanup The PR is in need of cleanup, either due to needing a rebase or in response to comments from reviews labels Nov 21, 2019
@ngbot
Copy link
Copy Markdown

ngbot Bot commented Nov 21, 2019

I see that you just added the PR action: merge label, but the following checks are still failing:
    failure status "ci/circleci: integration_test" is failing
    pending missing required status "ci/circleci: publish_snapshot"
    pending 1 pending code review

If you want your PR to be merged, it has to pass all the CI checks.

If you can't get the PR to a green state due to flakes or broken master, please try rebasing to master and/or restarting the CI job. If that fails and you believe that the issue is not due to your change, please contact the caretaker and ask for help.

@josephperrott
Copy link
Copy Markdown
Member Author

CARETAKER NOTE: integration test will be fixed by #33955

@josephperrott josephperrott removed the merge: caretaker note Alert the caretaker performing the merge to check the PR for an out of normal action needed or note label Nov 22, 2019
matsko pushed a commit that referenced this pull request Nov 25, 2019
@matsko matsko closed this in 8969f35 Nov 25, 2019
@angular-automatic-lock-bot
Copy link
Copy Markdown

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot Bot locked and limited conversation to collaborators Dec 26, 2019
@josephperrott josephperrott deleted the circleci-check branch March 18, 2020 16:44
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

action: merge The PR is ready for merge by the caretaker area: build & ci Related the build and CI infrastructure of the project cla: yes target: patch This PR is targeted for the next patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants