Skip to content

Remove CircleCI #17891

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Feb 9, 2022
Merged

Remove CircleCI #17891

merged 15 commits into from
Feb 9, 2022

Conversation

jkmassel
Copy link
Contributor

@jkmassel jkmassel commented Feb 4, 2022

Removes CircleCI – replacing its last use (release builds) with API calls to Buildkite.

@jkmassel jkmassel added the Tooling Build, Release, and Validation Tools label Feb 4, 2022
@jkmassel
Copy link
Contributor Author

jkmassel commented Feb 4, 2022

You can test the Jetpack changes on this Pull Request by downloading it from AppCenter here with build number: pr17891-f1728dd. IPA is available here. If you need access to this, you can ask a maintainer to add you.

@jkmassel
Copy link
Contributor Author

jkmassel commented Feb 4, 2022

You can test the WordPress changes on this Pull Request by downloading it from AppCenter here with build number: pr17891-f1728dd. IPA is available here. If you need access to this, you can ask a maintainer to add you.

@jkmassel jkmassel requested a review from a team February 4, 2022 03:13
@jkmassel jkmassel self-assigned this Feb 4, 2022
@jkmassel jkmassel added this to the 19.2 milestone Feb 4, 2022
@jkmassel jkmassel marked this pull request as ready for review February 4, 2022 03:13
@jkmassel jkmassel enabled auto-merge February 4, 2022 03:13
@jkmassel
Copy link
Contributor Author

jkmassel commented Feb 4, 2022

@mokagio – this should be the last piece of the puzzle – once this lands you should have all the Buildkite tooling as part of the next release!

Copy link
Contributor

@mokagio mokagio left a comment

Choose a reason for hiding this comment

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

Apologies @jkmassel, I just noticed I missed something when reviewing #17862.

I could be wrong, but it looks to me like there is no way currently to tell the release-builds.yml pipeline whether it should build a beta or a stable build. In practice, I'm pretty sure the only difference is in the GitHub release always being a stable one (i.e. not having the "pre-release" checkbox selected) but I think it's something we ought to address.

I know you're AFK today and this work affect me directly, so I'm going to:

  • Request changes to avoid this being merged accidentally
  • Open a PR against this branch to address this

Update: Also, this doesn't use a version of release toolkit that includes the buildkite_trigger_build action, yet.

@@ -1,6 +1,6 @@
# WordPress for iOS #

[![CircleCI](https://circleci.com/gh/wordpress-mobile/WordPress-iOS.svg?style=svg)](https://circleci.com/gh/wordpress-mobile/WordPress-iOS)
[![Build status](https://badge.buildkite.com/2f3fbb17bfbb5bba508efd80f1ea8d640db5ca2465a516a457.svg)](https://buildkite.com/automattic/wordpress-ios)
Copy link
Contributor

Choose a reason for hiding this comment

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

We could also remove this wholesale, given GitHub reports the build status for each commit these days, something that didn't happen at the time the badges became trendy.

This will also make the addition of a parameter to differentiate between
beta and stable builds cleaner.
We'll add another one next, and the line length would have gotten too
long
After adding a parameter to the `release-build-wordpress.sh` call, I got
a permission denied error. See
https://buildkite.com/automattic/wordpress-ios/builds/4907#226a7e18-7592-4e95-9064-2829b4cb7f12/381-383

I guess if the path to a script is the only value in the `command` node,
then Buildkite calls it via `sh` (or maybe `$SHELL`), otherwise it runs
it as an actual command within its shell, in which case if the script is
not executable, it fails.
@mokagio
Copy link
Contributor

mokagio commented Feb 4, 2022

Open a PR against this branch to address this

#17893

@mokagio mokagio changed the base branch from trunk to release/19.2 February 7, 2022 07:37
@peril-wordpress-mobile
Copy link

Warnings
⚠️ This PR is assigned to a milestone which is closing in less than 4 days Please, make sure to get it merged by then or assign it to a later expiring milestone

Generated by 🚫 dangerJS

jkmassel and others added 3 commits February 8, 2022 09:30
…fix-beta-builds

Allow for discriminating between beta and stable when building releases on Buildkite
Got a conflict in `Gemfile.lock`:

```diff
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@@ -161,12 -159,11 +161,18 @@@ GE
        xcodeproj (>= 1.13.0, < 2.0.0)
        xcpretty (~> 0.3.0)
        xcpretty-travis-formatter (>= 0.0.3)
++<<<<<<< HEAD
 +    fastlane-plugin-appcenter (1.11.0)
 +    fastlane-plugin-sentry (1.8.1)
 +    fastlane-plugin-wpmreleasetoolkit (3.0.0)
++=======
+     fastlane-plugin-appcenter (1.11.1)
+     fastlane-plugin-sentry (1.11.0)
+     fastlane-plugin-wpmreleasetoolkit (2.3.0)
++>>>>>>> origin/release/19.2
        activesupport (~> 5)
        bigdecimal (~> 1.4)
 +      buildkit (~> 1.4)
        chroma (= 0.2.0)
        diffy (~> 3.3)
        git (~> 1.3)```
```

The reason is that `release/19.2` updated Fastlane, which in turn
updated the App Center and Sentry plugins, while this branch updated the
release toolkit.

I solved the conflict by keeping both sets of updates. I then run
`bundle install` to verify the `Gemfile.lock` was functional.
Copy link
Contributor

@mokagio mokagio left a comment

Choose a reason for hiding this comment

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

Now that both the fix to differentiate between beta and stable and the release toolkit update have been implemented, we can ship this!

Looking forward test this in action as soon as there'll be a new 19.2 beta to ship 🚀

@jkmassel jkmassel merged commit 206f52e into release/19.2 Feb 9, 2022
@jkmassel jkmassel deleted the remove/circle-ci branch February 9, 2022 21:41
@mokagio
Copy link
Contributor

mokagio commented Feb 9, 2022

Ouch!

Auto-merge kicked in because there are no GitHub checks requirements on the release branch 🤔

image

@mokagio
Copy link
Contributor

mokagio commented Feb 9, 2022

It looks like Octokit exposes a way to set required checks while setting the branch protection: https://github.com/octokit/octokit.rb/blob/35d968fddf43f8cd7618e082e17e958be67964f1/spec/octokit/client/repositories_spec.rb#L225-L228

Maybe we should look into updating the release toolkit to use that? 🤔

@jkmassel
Copy link
Contributor Author

Maybe we should look into updating the release toolkit to use that? 🤔

Agreed!!

@AliSoftware
Copy link
Contributor

@mokagio that's why I opened pdnsEh-7d-p2 :D Maybe it would be worth bumping the priority of that one a bit, especially given it probably won't take that much time to implement? (famous last words…)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tooling Build, Release, and Validation Tools
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants