Skip to content

Conversation

noobs2ninjas
Copy link
Member

@noobs2ninjas noobs2ninjas commented Dec 4, 2019

@noobs2ninjas
Copy link
Member Author

I know this will fail. We need to do a release on Bolts to really get this working but I wanted this hear so that I can test our build and make adjustments as we update bolts.

@noobs2ninjas noobs2ninjas changed the title Updating to use parse-community/bolts-objc Fixing CircleCI and Travis builds. Dec 4, 2019
@noobs2ninjas
Copy link
Member Author

God I hate the fact that Xcode environment renames all simulators every 2 updates.

@noobs2ninjas
Copy link
Member Author

Finally!

@noobs2ninjas
Copy link
Member Author

@drdaz did you want to review changes or should I just push it on through?

I think I finally got everything figured out and got it done. Updated to Xcode 13.2.1. Working off the Bolts-ObjC fork. Updated submodules(xctoolchain was a pain). Fixed Travis issues. CircleCI builds and the only thing failing is unit tests. Also, got the catalyst mess figured out that screwed everything up when we updated with all the framework name ambiguity and the poor separation between platform targets because of it.

Only took me 2000 commits to figure everything out! Good news is that I feel I kinda got the hang of this now. Now I think we do need to do some Catalyst specific testing to improve compatibility but right now I just want to get a release out and get everything back on track.

Edit: Nevermind. Have to wait until xctoolchain is updated again because Travis doesnt update their documentation.

@noobs2ninjas noobs2ninjas merged commit 43faa78 into parse-community:master Jan 3, 2020
@drdaz
Copy link
Member

drdaz commented Jan 4, 2020

I'm confused why you merged this to master? None of the tests aside from CI seem to have been working here??

@noobs2ninjas
Copy link
Member Author

noobs2ninjas commented Jan 5, 2020 via email

@noobs2ninjas
Copy link
Member Author

noobs2ninjas commented Jan 5, 2020 via email

@drdaz
Copy link
Member

drdaz commented Jan 5, 2020

Because all the tests BUILD. The only reason things are failing now is due to failed unit tests. Which means my this pull request did it’s job.

Well, no. The changes here cause the tests to fail to build. Pretty much all the tests in master fail on the OCMock dependency now, and that's somehow the result of the changes in this PR: https://circleci.com/gh/parse-community/Parse-SDK-iOS-OSX/4245

No I canceled those builds because it
takes forever for them to run and it takes away from other repos trying to
run since we can only have 1 building concurrently.

You only merge to master when you can be reasonably sure your changes don't break things. That means actually executing the tests we have. Running the tests locally is much faster, frees up our build server, and reduces commit spam. EDIT: But letting the build server run the tests is still vital, since it's a clean system every time. Our local machines can have things that change build and test results.

I merged without approval so you could catch up to master.

There's no reason to update to a codebase where the tests are newly broken (the current state of master), because that codebase needs fixing. If I update to master, I won't be able to test my changes anymore without figuring out where things went wrong. Similarly, people forking master at this point to, say, fix an issue, will be starting with a broken codebase and have have no idea what effects their changes have on existing functionality.

You asked for my response on this PR, but didn't wait for me to actually respond. There really is a reason for the review system, and we really need to follow it.

@noobs2ninjas
Copy link
Member Author

noobs2ninjas commented Jan 7, 2020

@drdaz

I think we are not understanding each other. The last things I did with the CircleCI build had every single test building(with the exception of nightly builds). I did continue to make changes but nothing I thought had anything to do with CircleCI.

I guess I should have gone back and let it all run after I fixed travis. You are right and thats my bad. I'll take a look and get it fixed. Dang, I was so positive everything was still building I didnt even think about it.

@noobs2ninjas
Copy link
Member Author

Also, I'll do better in the future with approval. Thats my bad.

@noobs2ninjas
Copy link
Member Author

@drdaz
Ok. I figured out what messed it up. Turns out we've never had OCMock as a dependency. For some weird reason the Facebook SDK has it required and thats the only reason its been loading up till now. Right before I merged I updated the facebook SDK version and guess what!? The facebook SDK no longer requires OCMock...so Carthage stopped loading it in the tests. So thats why it all stopped failing all at once.

@TomWFox
Copy link
Contributor

TomWFox commented Jan 8, 2020

I'm wondering whether it might be best to add branch protection on master to require at least one review, just so there is no confusion in future, I'm not pointing fingers - I've merged without review in the past but I've come to see how important the review process is.

Thoughts?

@drdaz
Copy link
Member

drdaz commented Jan 9, 2020

@TomWFox I'm 100% behind that idea. It's a useful rule, and we may as well enforce it.

@drdaz
Copy link
Member

drdaz commented Jan 9, 2020

FWIW I'd recommend reverting the merge to master and taking a proper look at this.

We can still safely do that since there haven't been any commits to master since.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Why is ParseUI's deployment target 9.0 instead of 8.0?
3 participants