#33522: Add iOS support in your CI -------------------------------------+------------------------------------ Reporter: tla | Owner: (none) Type: enhancement | Status: new Priority: Medium | Milestone: Tor: 0.4.3.x-final Component: Core Tor/Tor | Version: Severity: Normal | Resolution: Keywords: 042-backport 043-should | Actual Points: Parent ID: | Points: Reviewer: | Sponsor: -------------------------------------+------------------------------------
Comment (by teor): Hi, I'm one of the maintainers of Tor's CI. There are two very different issues in this ticket, so I'll try to address them separately: Replying to [ticket:33522 tla]: > It has a Travis-CI configuration, which I just updated to work on the latest macOS/Xcode image: > > https://github.com/iCepa/Tor.framework/blob/master/.travis.yml > > > Currently, we have issues in getting past Tor 0.4.0.6 on iOS. When I try to use a newer core, I get this error message: > > > Unknown type name 'dispatch_queue_t' > > in CFStream of Apple's CoreFoundation framework. > > > But "dispatch_queue_t" is actually a valid symbol from Apple's Foundation libraries. > > So somehow, it gets cancelled out through something which changed in Tor recently. This looks like a bug in tor's code, or perhaps in the Tor.framework embedding scripts. We'd be happy to help you diagnose this issue. Can you tell us the first release that has this issue? Is it 0.4.1, 0.4.2, or 0.4.3 ? Have you done a git bisect, to track down the commit that introduced the issue? Let's open a separate ticket, so we can fix this bug in tor's code. Or help you find a workaround when you embed tor. > We're really stuck here, so it would be a huge help, if you could add Tor.framework to your Continuous Integration so you'd be able to support us here and detect problems earlier in the future. > > For your purposes, there's no need to have Macs and Xcode. > The most important files to control the build are these shell scripts: > > https://github.com/iCepa/Tor.framework/blob/master/Tor/tor.sh > https://github.com/iCepa/Tor.framework/blob/master/Tor/libevent.sh > https://github.com/iCepa/Tor.framework/blob/master/Tor/openssl.sh > https://github.com/iCepa/Tor.framework/blob/master/Tor/xz.sh > > Tor and the other libraries come in via Git submodules: > https://github.com/iCepa/Tor.framework/blob/master/.gitmodules > > So the dev process on your side would be: > > Update submodules to your latest state, let it build in Travis. If broken, fix above build scripts. Re-run through Travis. > > > Could that work for you? This is a CI configuration change request for Tor. We already struggle with the speed of Tor's CI. We build about 10 jobs per branch, and we support 4-6 branches. We've recently added stem and chutney tests to our CI, and it's taken a lot of time to diagnose issues. When stem or chutney have failures, Tor developers have to check every CI failures. And volunteers get very confused by the failures. So I don't think we can maintain Tor.framework in Tor's CI. I have an alternative proposal, based on the way that chutney and sbws do CI: Tor.framework adds a CI job for each supported Tor maint-* branch. You don't have to build every release, just the ones you want to support. Here's a list of the releases we support: * https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/CoreTorReleases#Current Maybe you could skip our long-term support release (0.3.5), and start with: * maint-0.4.1 * maint-0.4.2 * maint-0.4.3 * master Then, when one of our releases fails to build, you can log a bug in our bug tracker, and we'll fix it. You can add a cron job for your Travis CI jobs, so they run every day (or week), even if Tor.framework hasn't had any code changes. Here's how that looks for chutney and sbws: * https://github.com/torproject/chutney/blob/master/.travis.yml * https://github.com/torproject/sbws/blob/master/.travis.yml They use tor's pre-compiled nightly binaries. But you'd need to use git branches instead. What do you think? -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/33522#comment:2> Tor Bug Tracker & Wiki <https://trac.torproject.org/> The Tor Project: anonymity online
_______________________________________________ tor-bugs mailing list tor-bugs@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs