Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur

Related tags

Testing Buildasaur
Overview

Buildasaur

satellite badge Latest Buildasaur Release License

Twitter Buildasaur Join Slack

Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes.

(Follow Buildasaur on Twitter for infrequent updates.)

๐ŸŽ“ New to Xcode Server/Bots?

To learn how to set up Xcode Server in minutes, check out my Xcode Server Tutorials.

๐Ÿ”ฉ Configurable

Buildasaur was designed to be easy to setup, while still giving you all the customization you need. By choosing the right defaults, most teams can get Buildasaur set up in minutes, start it and never have to worry about it again.

๐Ÿ‘€ Glanceable

Buildasaur runs as a background Mac app, its configuration window goes away when you don't need it. This gives you a chance to quickly peek at the status of your syncers from the menu bar.

:octocat: Supported Git Hosting Services

  • GitHub
  • BitBucket
  • (are we missing yours? Create an Issue and I'll see if I can add it)

โฌ‡๏ธ Getting Buildasaur

  • just download the .app of the latest release, which will offer to automatically update itself as new releases become available
  • clone this repository, run fastlane prebuild and run it in Xcode (more work)

๐Ÿ”จ Requirements

  • Mac running at least OS X 10.11
  • Xcode Server (see my tutorials if you're new to Xcode Server)
  • your projects hosted on GitHub or BitBucket

๐Ÿ“˜ Xcode Versions

Xcode Server ships in Xcode, so the server API is also dependent on the Xcode you have. See the table of latest Buildasaur versions supporting each Xcode version.

Xcode last supported
Xcode 7 โœ… latest
Xcode 6 โœ… 0.2.9

โœ… Installation Steps

  1. Install Xcode Server
  2. Download Buildasaur
  3. Setup Buildasaur
    • Checkout your project's repository locally over SSH
    • Launch Buildasaur
    • Click "New Syncer", which will guide you through setting one up
    • At the end of the flow, click "Start" to start syncing
    • You can add as many syncers (read: projects) as you want
    • You can close all Buildasaur's windows, it will keep running in the background (click on the menu bar icon to open the configuration window again)

Features

๐Ÿ”ƒ Default workflow

The default workflow is as follows:

  • a Pull Request is opened by its author, Buildasaur creates a new Bot
  • if the "lttm" barrier (see below) is disabled, an integration is started immediately. if the "lttm" barrier is enabled, Builda waits until someone comments "lttm" in the Pull Request conversation (the "lttm" barrier is disabled by default, can be disabled in the UI)
  • an integration (building, testing and/or archiving) is performed on the PR's branch
  • result of the integration is reported back to GitHub/BitBucket by changing the status of the latest commit of the branch and posting a comment in the PR conversation (optional, enabled by default)
  • if any additional commits are pushed, another integration automatically gets performed and reported
  • when the PR is merged or closed, the Bot gets deleted automatically
  • if you require a different workflow, create an issue and we'll figure something out

๐Ÿ”“ The "lttm" barrier

  • "Looks Testable To Me"
  • an optional extra step in the workflow (disabled by default starting from version 0.5.0, was enabled by default in previous versions)
  • instead of integrating immediately after a PR is created, the reviewer first has a chance to look at the code and request any fixes of the code from the author
  • when the reviewer is happy with the code visually, she comments "lttm" in the PR and the bot is activated and performs an integration of the code
  • from that point on, if any additional commits are pushed, they get integrated as with the basic workflow
  • useful for projects that take longer time to run tests

โœ‰๏ธ Posting Status Comments

  • Buildasaur by default posts a comment into the PR conversation when an integration finishes

  • this can be changed in the UI with the toggle named "Post Status Comments"

โœ๏ธ Manual Bot Management

In addition to automatic bot management with syncers, you can create bots from an existing Build Template and a branch by clicking Manual Bot Management when your syncer is setup. This is useful for creating one-off bots based on e.g. release branches with a different Build Template than you use for PRs.

๐Ÿ‘“ Branch Watching

All branches with open Pull Requests are automatically watched and tested. However, what if you wanted to watch a branch which does not have a Pull Request associated with it? Like master, or a release branch into which you're making final changes and want tested?

Buildasaur supports that. You can select extra watched branches that will automatically be tested and their statuses will be updated on GitHub. You can see the statuses of Buildasaur's branches here, for instance.

Enabling watched branches is a prerequisite of getting build badges working with satellite.

Note that Branch Watching is only supported for GitHub-hosted projects.

๐Ÿšฆ Build Badges

I built a tiny service called satellite, which serves down badges based on GitHub status of a branch. And this status is automatically updated by Buildasaur when a build finishes (enable a watched branch in Buildasaur for whichever branch you'd like to base your badge on, usually master).

TL;DR? Just add this to your README and replace USER, REPO and BRANCH with your info. And you'll get a build badge like this:

[![satellite badge](https://stlt.herokuapp.com/v1/badge/USER/REPO/BRANCH)](https://github.com/USER/REPO/branches)

If you don't specify a branch, master will be used.

๐Ÿ’— Heartbeat

In order to understand how many Buildasaur instances are actively being used (which helps me to decide how much free time I should dedicate to this project), one anonymous heartbeat event is sent from Buildasaur every 24 hours (and one when Buildasaur is launched). There is absolutely no information about your projects being synced with Buildasaur (I don't care about that, that's your business), the event just sends a randomly generated identifier (to discern between different Buildasaur instances), the uptime of Buildasaur (to potentially detect crashes) and the number and type of running syncers.

I wrote the server storing this data myself - and it's open source, so feel free to take a peek yourself at how that's done. And take a look here to see exactly what data is being sent.

Despite absolutely no identifiable data being sent, if you still aren't comfortable allowing Buildasaur to send its heartbeat, add "heartbeat_opt_out" = true to ~/Library/Application Support/Buildasaur/Config.json. But please keep in mind that if you do that, it will make me think fewer people are in fact using Buildasaur, which might just lead to me spending less time on improving it.

โš ๏ธ Troubleshooting

If Builda crashes, you can find crash logs at ~/Library/Logs/DiagnosticReports/Buildasaur-*. Please let me know if that happens and I'll take a look. Also, Builda logs (pretty verbosely) to ~/Library/Application Support/Buildasaur/Logs, so this is another place to watch in case of any problems. You can find all persisted files that Buildasaur keeps around at ~/Library/Application Support/Buildasaur/, which is also what you might want to back up or migrate if you're moving your setup between machines.

Version 0.8.0 adds Crashlytics, so I receive crash reports. If you prefer to opt-out of crash reporting, you can do so by adding "crash_reporting_opt_out" = true to ~/Library/Application Support/Buildasaur/Config.json.

โ†ช๏ธ Looking for Xcode Server SDK?

The code for communication with Xcode Server lives in a project called XcodeServerSDK.

๐Ÿ’™ Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

๐Ÿ’ Contributing

Please create an issue with a description of your problem or a pull request with a fix. Or, if you just want to help out, take a look at issues with the label "up-for-grabs", comment on the issue that you're working on it and let's improve Buildasaur together!

๐Ÿ’ฌ Slack

If you would like to be part of the Buildasaur community; feel free to join our Slack Team here.

โœŒ๏ธ License

MIT

๐Ÿ‘ Special Thanks

  • Vojta Micka (@higgcz) for our great new logo!

๐Ÿ‘ฝ Author

Created by Honza Dvorsky - http://honzadvorsky.com, @czechboy0

Comments
  • Schemes not detected when owned by workspace

    Schemes not detected when owned by workspace

    This happens both with an existing template or when creating a new template.

    I don't really know what more information I can include.

    Screenshot attached below:

    screen shot 2015-09-30 at 17 20 15

    bug task-small 
    opened by valeriomazzeo 38
  • Handle timing-out Simulator/Devices

    Handle timing-out Simulator/Devices

    Certain times Xcode server failed to start the simulator with the following error:

    2015-07-06 22:06:45.335 Initializing test infrastructure. 2015-07-06 22:08:45.335 Test operation failure: Timed out waiting 120 seconds for simulator to boot, current state is 1. 2015-07-06 22:08:45.335 _finishWithError:Error Domain=IDEUnitTestsOperationsObserverErrorDomain Code=3 "Timed out waiting 120 seconds for simulator to boot, current state is 1." UserInfo=0x7fe168bb6af0 {NSLocalizedDescription=Timed out waiting 120 seconds for simulator to boot, current state is 1.} didCancel: 1 2015-07-06 22:08:45.335 Finished syncing device diagnostic logs after 0.0s.

    When that happen the bot show Unknown Status and doesn't mark the build as failed.

    Buildasaur comment then says:

    Result of integration 1 Integration took 25 minutes and 46 seconds. All 0 tests passed, but please fix 567 warnings.

    and make the build pass.

    It would be super awesome if buildasaur could detect the above error in the logs, flag the build as failed and start a new integration, that in most of the cases fixes the problem.

    waiting-for-input 
    opened by valeriomazzeo 25
  • An error always appears when editing a template

    An error always appears when editing a template

    Hi! For some reason Buildasaur started displaying an error message on a certain step of template editing. That step is always stuck in loading (the spinner in the corner doesn't disappear) and "Next" button is always disabled. See attached screenshot. Please let me know if any additional information is needed for diagnostics.

    screen shot 2016-06-21 at 17 50 49

    Buildasaur version 1.0.1, OS X 10.11.5 on client, OS X 10.11.4 on server, Xcode 7.3.1 on client, Xcode 7.3 on server. This error didn't appear before with the same combination of Xcode versions on client and server and looks like it broke after Buildasaur update.

    opened by ghost 17
  • Xcode 7: Investigate how xcscmblueprint relates to xccheckout

    Xcode 7: Investigate how xcscmblueprint relates to xccheckout

    Xcode 7 seems to create another file, .xcscmblueprint in a workspace. Look at how it relates to what we pull out of xccheckout and whether there's a way to force Xcode Server to generate it - might make #81 much easier to implement then.

    //Edit: Support for parsing xcscmblueprint files added in #141. Still not perfectly clear on their relationship and how to force Xcode to generate them. (I mean, they have almost exactly the same contents, just one is JSON and one is a plist).

    investigate help needed priority-high 
    opened by czechboy0 16
  • Internal Server Error (xcssecurity): could not read password from keychain

    Internal Server Error (xcssecurity): could not read password from keychain

    My repo is hosted on Stash, so when choosing a new project that has an existing bot I got the .xcscmblueprint issue.

    I attempted to have it manually fixed, by using the curl method. However when I pull down the initial data to get the BOT_ID everything goes fine.

    Once I attempt to then use the BOT_ID I get the following response:

    {"status":500,"message":"[XCSSecurity - findItem] error: [XCSSecurity - launchTool] Internal Server Error (xcssecurity): could not read password from keychain: The specified item could not be found in the keychain."}

    investigate 
    opened by bclark 14
  • Can't add Xcode Project/Workspace

    Can't add Xcode Project/Workspace

    Greetings! we are really loving Buildasaur. Just having an issue getting a project set up.

    on 0.4.0 when I try to add my workspace I get the following message.

    Couldn't add Xcode project at path file:///Users/coder/Documents/Projects/iOS/project.xcworkspace, error: Cannot find the Checkout file, please make sure to open this project in Xcode at least once (it will generate the required Checkout file). Then try again..

    I follow those steps and still get the same error. I've also tried the steps listed in #127 (just in case) and still couldn't get it to work. I've checked for the presence of .xcworkspace/xcshareddata/PROJECT.xccheckout and there's not one there in the .xcworkspace or in .xcodeproj.

    I'm on Xcode 7.

    Any suggestions on what I can do to resolve this?

    investigate priority-high 
    opened by concertman 14
  • Issue 93: Analytics

    Issue 93: Analytics

    Work Completed

    • Update Podfile to include Tapstream SDK and target BuildaAnalytics.
    • Add Tapstream dictionary keys to BuildaAnalytics info.plist.
    • Stub analytics and funnels enumerations.
    • Implement method to capture user analytics with no personal identifying information.
    • Add Analytics tests
    • Add Analytics example in App Delegate
    • Add Podfile.lock to .gitignore
    • Test implementation works

    Notes

    • Tapstream offers free analytics but has a limit of 10k DAU for free accounts.
      • A different analytics platform could easily be swapped as we abstract the analytics SDK away from the main application in the new framework BuildaAnalytics.
      • Might be necessary to investigate different analytics platforms prior to integrating into the application.
    • I've included enums for what I think are logical segments or funnels of different types of events, and have included an example of use in Buildasaur's AppDelegate.
      • Feel free to comment here on what types of events you'd like to track and I will implement them.
    • Any user identifying information is not tracked, and Tapstream's default user tracking has been disabled. However to track usage I have created a unique and anonymous identifier that will be user specific.
    opened by wmcbain 14
  • SSH error occurs when pushing a commit to a branch with an active PR while first build is running

    SSH error occurs when pushing a commit to a branch with an active PR while first build is running

    Steps to reproduce:

    • Open a Pull Request.
    • While the Builda bot is running the first integration, but before it has completed, push a new commit to the branch for which the PR was opened.
    • Observe that the first build is cancelled, and the second build fails with a checkout error:
    [ERROR]: Integration #2 finished with a checkout error - please check that your SSH keys setup in Buildasaur are correct! If you need to fix them, please do so and then you need to recreate the bot - e.g. by closing the Pull Request, waiting for a sync (bot will disappear) and then reopening the Pull Request - should do the job!
    

    Workaround:

    • Stop and start Buildasaur.
    • Close the PR.
    • Wait for bot to be deleted, and then reopen PR.

    I have logs of this (6 KB) if needed.

    bug waiting-for-input 
    opened by ioveracker 14
  • Blueprint file fails to validate

    Blueprint file fails to validate

    Similar to #140, I'm running into an issue where Buildasaur 0.6 fails to validate the blueprint file. I've confirmed that a blueprint file exists in the .xcworkspace/xcshareddata directory. I've also added the old xccheckout file as well.

    The only thing that's different in this project that I can tell from the other projects I have is that there are two repos listed in the blueprint and the checkout file. I don't know why, and I don't know how to tell Xcode to ignore the irrelevant one. (if you have any tips, that would be great).

    bug investigate 
    opened by grantjk 13
  • How to resolve Syncing error: Project must be checked out by supported schemes: SSH

    How to resolve Syncing error: Project must be checked out by supported schemes: SSH

    Still new to setting up a syncer: I believe this error means the syncer is running, but cannot create bots or something else is not quite right.

    Known working:

    • Can talk to server, shows bots we have setup
    • Can talk to the repository, shows current list of PRs

    We do use SSH for all of our checkouts, so the error message is confusing as far as the problem.

    And, yes, this is an issue in a fork of your main project, but I do not think the problem lies in that code. (although it might. I will create an issue on the forked project as well.)

    Getting the following error: (msg pasted from xcode debug window, not from screen) Actual msg showed 7 PRs, I trimmed it to just show 2....

    `[INFO]: Sync starting at 2016-05-06 20:08:44 +0000 [VERBOSE]: Resolving prs: PR 276: [F-12] average speed -> current speed, average pace -> current pace [k/F-12-workout -> develop] PR 280: [F-11] Added FileHelper class for all your storage needs [a/F-11-assets -> develop] and branches:

    and bots: Bot F Master Bot F Bot Bot F Distribution e2e Bot F Distribution e2e2 Bot F Develop Bot F Dev [ERROR]: HTTPS or SVN not yet supported, please create an issue on GitHub if you want it added (czechboy0/Buildasaur) [ERROR]: Syncing encountered a problem. Error: Couldn't create a Project for fork with origin at url https://[email protected]/fight/champion.git, error Error Domain=com.honzadvorsky.Buildasaur Code=0 "Disallowed checkout type, the project must be checked out over one of the supported schemes: SSH" UserInfo={NSLocalizedDescription=Disallowed checkout type, the project must be checked out over one of the supported schemes: SSH}. Context: Creating a bot from a PR [VERBOSE]: SyncPair PR (k/12-workout) + No Bot finished sync after 0.001 seconds. [ERROR]: HTTPS or SVN not yet supported, please create an issue on GitHub if you want it added (czechboy0/Buildasaur) [ERROR]: Syncing encountered a problem. Error: Couldn't create a Project for fork with origin at url https://[email protected]/fight/champion.git, error Error Domain=com.honzadvorsky.Buildasaur Code=0 "Disallowed checkout type, the project must be checked out over one of the supported schemes: SSH" UserInfo={NSLocalizedDescription=Disallowed checkout type, the project must be checked out over one of the supported schemes: SSH}. Context: Creating a bot from a PR [VERBOSE]: SyncPair PR (a/F-11-assets) + No Bot finished sync after 0.001 seconds. [INFO]: Rate Limit: NO INFO [INFO]: Sync finished with error at 2016-05-06 20:08:45 +0000, took 0.681 seconds. `

    question 
    opened by reststop 12
  • Device missing on OS X Project

    Device missing on OS X Project

    When running configuring a template for an OS X project, buidasaur doesn't display the device where it needs to run.

    The list of simulator is there, but they are all iPhone simulator. I'd be expecting to see something like: My Mac instead.

    bug investigate 
    opened by valeriomazzeo 12
  • Announcing Xcode-GitHub, a New Buildasaur-like macOS App

    Announcing Xcode-GitHub, a New Buildasaur-like macOS App

    I created a new Buildasaur replacement app.

    I loved Buildasaur, but since it wasn't being updated I coded up a quick light weight replacement.

    It's called Xcode-GitHub: https://github.com/E-B-Smith/xcode-github

    Requirements

    • Xcode 9 and above to run the bots.
    • macOS 10.12 and above to run Xcode.

    Sorry Buildasaur. I just wasn't ready to take on upgrading Buildasaur to Swift 4 and also debug and update it to the new Xcode server api.

    opened by E-B-Smith 0
  • XcodeServerSDK.XcodeServer.PlaceholderError error 0

    XcodeServerSDK.XcodeServer.PlaceholderError error 0

    We're getting the following error:

    XcodeServerSDK.XcodeServer.PlaceholderError error 0.

    While trying to sync after upgrading to Xcode 8.3.2 and from Server 5.2 -> 5.3.

    Anyone?

    opened by jtdavid 1
  • Hanging on `xcodebuild -showBuildSettings` while creating template

    Hanging on `xcodebuild -showBuildSettings` while creating template

    Fixes #294 Workaround suggested in https://forums.developer.apple.com/thread/50372

    After placing a lot of extra logs I found out that the template creating process hangs on xcodebuild shell script written in XcodeDeviceParser.parseTargetTypeFromSchemeAndProjectAtUrl(...) function. Could be non-reproducible on some hosts or under Debug. It wasn't reproduced on my development host with Xcode 8.3.1 but reproduced all the time on remote build server with Xcode 8.2.1.

    opened by krin-san 3
  • "Error Disallowed checkout type, the project must be checked out over one of the supported schemes: SSH" - but project *is* checked out over SSH

    Tried setting up Buildasaur at work today but ran into this issue:

    buildanope

    (This happens despite having an .xcscmblueprint file in the workspace, by the way.)

    So Buildasaur seems to think I've checked out the project over http*. I didn't, though. Excerpt from the project's .git/config:

    [core]
            repositoryformatversion = 0
            filemode = true
            bare = false
            logallrefupdates = true
            ignorecase = true
            precomposeunicode = true
    [remote "origin"]
            url = ssh://git@git.โ–ˆโ–ˆโ–ˆโ–ˆ.com:7999/ios/ios-app.git
            fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
            remote = origin
            merge = refs/heads/master
    

    What am I doing wrong?

    opened by msewell 0
  • Downloading iOS 9.3 Simulator does not proceed ahead from Xcode 8.1

    Downloading iOS 9.3 Simulator does not proceed ahead from Xcode 8.1

    I am trying to download iOS 9.3 Simulator from Xcode 8.1 But some times downloading fails due to time out but after using 4G Network I got authorization e error. I have iPhone 4S with iOS 9.3.5 version, so I want to test my app on my iPhone. As Xcode 8+ does not support iPhone 4S because it has lower deployment target so I have changed my Xcode's deployment target to iOS 9.3 from 10.1. That's why I am trying to download and install the iOS Simulator. Kindly share your ideas in this regard.

    opened by jawaidsolangi 1
Releases(v1.0.3)
  • v1.0.3(Sep 2, 2016)

  • v1.0.2(Aug 12, 2016)

  • v1.0.1(Jun 17, 2016)

    Fixed bugs:

    • Force unwrap crash in Bot.init (JSON contains an error) #274

    Closed issues:

    • Question: Preference for adding a service #279
    • Failed to access server, error: 404: for GitHub #278
    • Wrong project after cancel when creating new syncer #277
    • Private Bitbucket Repo #276
    • Error: Failed to post a status ... on commit #273
    • Repository maintenance not recognized #271
    • Support for cleaning up older integrations? #269
    • Create a Cask update fastlane action #229

    Merged pull requests:

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(11.33 MB)
  • v1.0.0-b3(Mar 29, 2016)

    Fixed bugs:

    • Crash when syncing Github PR from a deleted repo #247
    • Buildasaur doesn't extract repo name from GitHub url that does not end in ".git" #244

    Closed issues:

    • Analyzer warning counts in commits and email text #253
    • Prebuild trigger cannot find project folder #252
    • Internal Server Error (xcssecurity): could not read password from keychain #245
    • Send heartbeat event when app gets sparkle-updated #236
    • Investigate viability of integration with Swift Package Manager/Build System #197

    Merged pull requests:

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(11.31 MB)
  • v1.0.0-b2(Feb 4, 2016)

    Full Changelog

    Fixed bugs:

    • Clean install prints errors on startup (migration related) #227
    • Bugfix in migration #234 (czechboy0)

    Closed issues:

    • Add types of used services to Heartbeat (to better allocate time for features) #219
    • Update README #213
    • Show on dashboard when a bot is erroring out #206

    Merged pull requests:

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(11.36 MB)
  • v1.0.0-b1(Feb 3, 2016)

    This is the first beta version of Buildasaur 1.0, codenamed Iris.

    This release brings many major new features like

    • BitBucket support, with work done enabling adding more supported servers easily
    • Keychain storage for all credentials
    • Automatic updates with Sparkle and many more improvements under the hood.

    Please give this version a try and let me know if you spot any issues. The codebase was largely refactored so even my extensive logic tests might still let some bugs through.

    Anyway, spread the word that we're not GitHub-exclusive anymore, so let you BitBucket-centric friends know about Buildasaur! :)

    Closed issues:

    • Create a Sparkle xml feed update fastlane action #228
    • Add pushing to Cask into the Fastfile release lane #191
    • Investigate opening a socket to the GitHub server #170
    • Bitbucket Support #65
    • Automatic updates #44
    • Password Storage #137

    Merged pull requests:

    Fixed bugs:

    • Fix signing releases with Developer ID #211
    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(11.35 MB)
  • v0.8.0(Jan 28, 2016)

    Fixed bugs:

    • Fix signing releases with Developer ID #211

    Closed issues:

    • Put logs into a separate folder #202
    • Add Crashlytics #198
    • Split logs into multiple files #142
    • Request/response caching #62

    Merged pull requests:

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(9.83 MB)
  • v0.6.5(Jan 14, 2016)

  • v0.6.4(Nov 4, 2015)

  • v0.6.3(Oct 21, 2015)

    Closed issues:

    • Add PR Title to Bot Name #187
    • Migrate away from needing checkout/blueprint files #186
    • Create xcscmblueprint file from an existing bot #173
    • Find a way to force Xcode to generate xcscmblueprint file when not present #165
    • The importance of keeping source control files #154
    • Stash Support #105

    Merged pull requests:

    • Parsing metadata information directly from git repo (in the absence of checkout files) #188 (czechboy0)
    • Refactored comment creation (+ added tests) #184 (czechboy0)
    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(17.52 MB)
  • v0.6.2(Oct 15, 2015)

    Fixed bugs:

    • Blueprint file fails to validate #172
    • SSH error occurs when pushing a commit to a branch with an active PR while first build is running #112

    Closed issues:

    • Option to add Buildasaur to login items #177
    • Ensure we're not re-posting the same comment #163
    • Gray out PR branches in "watched branches" #161
    • Add deep links to Xcode in posted GitHub comments #160
    • Allow Builda to be ran as a CLI tool (no UI) #100

    Merged pull requests:

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(16.85 MB)
  • v0.6.1(Oct 14, 2015)

  • v0.6.0(Oct 13, 2015)

    I'm happy to introduce Buildasaur 0.6.0 with support of syncing multiple projects at the same time! The whole UI was rebuilt with ReactiveCocoa 4 and was designed to accomodate for many more improvements coming in the next weeks and months. Please try out 0.6 on your projects and give me feedback!

    Even though the persistent layer has changed, Buildasaur automatically migrates to the new file organization, so all your existing data should get automatically migrated. IF you see any problem with that, please let me know so that I can fix it.

    More improvements are coming soon, but in the meantime, don't hold back and add all your GitHub + Xcode projects to really stress-test this thing! :)

    Changelog:

    Fixed bugs:

    • GitHub API request rate seems wrong #156

    Closed issues:

    • nothing happens when clicking save button on Build Template Settings sheet #157
    • Add autostart option (starts syncers on launch) #155
    • Improve position of new windows on screen #153
    • Write a migrator to the new data structure in multi-repo changes #152
    • Xcode 7: Investigate how xcscmblueprint relates to xccheckout #89
    • Support multiple repositories #12
    • Save triggers independently of build templates (for easy reuse) #1

    Merged pull requests:

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(8.94 MB)
  • v0.5.1(Oct 6, 2015)

    Full Changelog

    Fixed bugs:

    • Buildasaur post multiple comments for the same integration #147
    • Schemes not detected when owned by workspace #144

    Closed issues:

    • Parse workspace as proper XML #148
    • Can you put bots or at least triggers under source control? #145
    • Can't add Xcode Project/Workspace #140
    • Generate Settings UI Dynamically from a JSON #111
    • Adaptive sync interval #57

    Merged pull requests:

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(7.99 MB)
  • v0.5.0(Sep 29, 2015)

    Fixed bugs:

    • Bots Initial Integrations Are Not Triggered #129
    • Can't setup using a project that was checked out via SSH #127

    Closed issues:

    • Change the lttm barrier default from enabled to disabled #130
    • Analyzer Warnings are Not considered Errors #128
    • Alamofire issue when creating a .app (crashes on startup) #126
    • Improve logs #121
    • Investigate simplifying networking code with Alamofire #120
    • Give more detailed test result comments #87
    • Handle timing-out Simulator/Devices #84
    • Hook into the websocket published by xcs to update GitHub status better #7

    Merged pull requests:

    • Refactored loading of checkout file, added support for xcscmblueprint file #141 (czechboy0)
    • Disable App Transport Security to connect to self-signed XCS #134 (Brett-Best)
    • lttm barrier default changed to disabled #131 (czechboy0)
    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(3.51 MB)
  • v0.4.0(Sep 17, 2015)

  • v0.3.1(Sep 17, 2015)

  • v0.3(Sep 10, 2015)

  • v0.3-beta5(Aug 25, 2015)

  • v0.3-beta4(Aug 10, 2015)

  • v0.3-beta3(Jul 22, 2015)

  • v0.3-beta2(Jul 15, 2015)

  • v0.3-beta1(Jul 2, 2015)

    :fireworks: After weeks of work and creating a whole new project in the process, I'm proud to give you the first sneak peek of Foxglove, the next version of Buildasaur. As you might guess, the headline feature is the support of the new, first time public Xcode Server API, which ships with Xcode 7. And it's also written in Swift 2. Such forward thinking! :dog:

    :warning: A couple of things you need to keep in mind

    • only deploy this version of Buildasaur if you already are using Xcode Server with Xcode 7
    • this is the first beta, there might be bugs, please report all issues
    • this is not compatible with Xcode 6's API any more. Unfortunately it's too costly to build in a backwards-compatible fashion.
    • your saved preferences should mostly be fine, but please go and open all your Build Templates and re-save them (this will refresh them for the new format)

    :love_letter: Again, I am relying on your feedback, so please drop me a line about your experience with this new beta.

    Source code(tar.gz)
    Source code(zip)
  • v0.2.9(May 14, 2015)

  • v0.2.8(May 14, 2015)

    Fixed

    #47 Fix for canceled integrations during Checkout

    News

    From this version (0.2.8), every new release will be code signed with my Developer ID, so when downloading Buildasaur as an app, you shouldn't encounter a popup like this one anymore. This way, if you only download the app directly, you can be certain that it's an official release.

    Obviously Buildasaur is staying open source, so you can still fork it and make your own modifications - and hopefully contribute :) But the signed version is for people that just want to run the .app without seeing any scary security popups (like myself for production environment).

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(1.77 MB)
  • v0.2.7(May 13, 2015)

    New

    #43 Option to disable posting status comments #42 SSH Passphrase Support + Better SSH Validation #40 SSH Key Validation in onboarding #35 Integration duration in status comments Also added a class called Script for running quick scripts from Swift -> Terminal -> Swift (used for blueprint validation with xcsbridge).

    Thanks for the feedback everyone and please add yourselves to the list of Buildasaur users, if you'd like!

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(2.31 MB)
  • v0.2.6(May 4, 2015)

  • v0.2.5(May 3, 2015)

    New:

    #3 Show current step's string in the commit status (building/testing/archiving,...) #11 Allow automatic start of builds after pull request has been opened #17 Add GitHub rate limit monitoring and smart interval estimation

    Fixed:

    #15 Check if supplied GitHub account has read and write access to the repository

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(2.25 MB)
  • v0.2.4(Apr 26, 2015)

    Disabled URL cache to allow for sync intervals shorter than 1 minute (GitHub's response has a TTL of 1 minute, so we would be out of sync if sync interval was shorter). The new default sync interval is 15 seconds, which feels much more responsive without getting too close to the 5000/hour rate limit (if authenticated).

    Source code(tar.gz)
    Source code(zip)
    Buildasaur.app.zip(1.66 MB)
  • v0.2.3(Apr 12, 2015)

Owner
Buildasaurs
Everything for Buildasaur
Buildasaurs
Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users.

Switchboard - easy A/B testing for your mobile app What it does Switchboard is a simple way to remote control your mobile application even after you'v

Keepsafe 287 Nov 19, 2022
SwiftCheck is a testing library that automatically generates random data for testing of program properties

SwiftCheck QuickCheck for Swift. For those already familiar with the Haskell library, check out the source. For everybody else, see the Tutorial Playg

TypeLift 1.4k Dec 21, 2022
Testing the UI without UI Testing, a Swift experiment.

UI tests without UI Testing experiment This repo is a small experiment to see if there's an "in-between" for testing iOS applications. More feature-le

Joe Masilotti 20 Sep 26, 2022
A flexible mock server for automated and regression testing of iOS, Android and other apps.

Note: This document is intended as a quick introduction to Voodoo. As Voodoo has a large number of features, please refer to Voodoo's Github Wiki for

Derek Clarkson 7 Nov 23, 2022
Control your iPhone from inside Xcode for end-to-end testing.

Remote - Control your iPhone from Xcode "Remote" is a plugin for Xcode that allows you to control an iPhone from a window on your Mac during developme

John Holdsworth 791 Dec 26, 2022
Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers!

OHHTTPStubs OHHTTPStubs is a library designed to stub your network requests very easily. It can help you: test your apps with fake network data (stubb

Olivier Halligon 4.9k Dec 29, 2022
Implementing and testing In-App Purchases with StoreKit2 in Xcode 13, Swift 5.5 and iOS 15.

StoreHelper Demo Implementing and testing In-App Purchases with StoreKit2 in Xcode 13, Swift 5.5, iOS 15. See also In-App Purchases with Xcode 12 and

Russell Archer 192 Dec 17, 2022
Mock Alamofire and URLSession requests without touching your code implementation

Mocker is a library written in Swift which makes it possible to mock data requests using a custom URLProtocol. Features Requirements Usage Activating

WeTransfer 898 Dec 26, 2022
An elegant library for stubbing HTTP requests with ease in Swift

Mockingjay An elegant library for stubbing HTTP requests in Swift, allowing you to stub any HTTP/HTTPS using NSURLConnection or NSURLSession. That inc

Kyle Fuller 1.5k Dec 3, 2022
T - A simple testing framework using closures and errors

t Quickly test expectations What is t? t is a simple testing framework using clo

OpenBytes 6 Nov 7, 2022
Mockingbird was designed to simplify software testing, by easily mocking any system using HTTP/HTTPS

Mockingbird Mockingbird was designed to simplify software testing, by easily mocking any system using HTTP/HTTPS, allowing a team to test and develop

FARFETCH 183 Dec 24, 2022
Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine

Bluepill is a tool to run iOS tests in parallel using multiple simulators. Motivation LinkedIn created Bluepill to run its large iOS test suite in a r

Mobile Native Foundation 3.1k Jan 3, 2023
I built this application with unit testing and test-driven development to understand TDD theory and practice

TestDrivenDevelopment Description I built this application with unit testing and test-driven development to understand TDD theory and practice, to wri

null 1 Dec 21, 2021
The Swift (and Objective-C) testing framework.

Quick is a behavior-driven development framework for Swift and Objective-C. Inspired by RSpec, Specta, and Ginkgo. // Swift import Quick import Nimbl

Quick 9.6k Dec 31, 2022
Snapshot testing tool for iOS and tvOS

SnapshotTest is a simple view testing tool written completely in Swift to aid with development for Apple platforms. It's like unit testing for views.

Pรคr Strindevall 44 Sep 29, 2022
UI Testing Cheat Sheet and Examples.

UI Testing Cheat Sheet This repository is complementary code for my post, UI Testing Cheat Sheet and Examples. The post goes into more detail with exa

Joe Masilotti 2.1k Dec 25, 2022
A Mac and iOS Playgrounds Unit Testing library based on Nimble.

Spry Spry is a Swift Playgrounds Unit Testing library based on Nimble. The best thing about Spry is that the API matches Nimble perfectly. Which means

Quick 327 Jul 24, 2022
Multivariate & A/B Testing for iOS and Mac

This library is no longer being maintained. You can continue to use SkyLab in your projects, but we recommend switching another solution whenever you

Mattt 792 Dec 15, 2022
Remote configuration and A/B Testing framework for iOS

MSActiveConfig v1.0.1 Remote configuration and A/B Testing framework for iOS. Documentation available online. MSActiveConfig at a glance One of the bi

Elevate 78 Jan 13, 2021