Uploads failing iOS snapshot test images to S3 for visual debugging in continuous integration environments.
Second Curtain is a Ruby-based command-line tool that uploads failing iOS snapshot test images to Amazon S3 during continuous integration builds. It solves the problem of not being able to visually inspect snapshot test failures when they occur on CI servers like Travis CI or CircleCI, providing developers with immediate access to what went wrong.
iOS developers using FBSnapshotTestCase for visual regression testing who run their tests on continuous integration servers and need to debug failing snapshot tests remotely.
Developers choose Second Curtain because it provides the missing visual feedback layer for iOS snapshot testing in CI environments, eliminating the guesswork from test failures by automatically uploading and organizing failure images with an accessible HTML report.
Upload failing iOS snapshot tests cases to S3
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Parses xcodebuild output to detect and upload failing snapshot test images automatically, eliminating manual intervention for each failure.
Generates an HTML page with links to reference and failure images, enabling easy side-by-side comparison directly from the CI output.
Designed specifically for Travis CI and CircleCI with environment variable support, seamlessly fitting into existing build pipelines.
Supports custom bucket prefixes, folder names, and AWS regions, allowing teams to organize uploaded images according to their needs.
Requires configuring an S3 bucket with specific public-read policies and AWS credentials, adding security and operational overhead to the CI setup.
Primarily optimized for Travis CI and CircleCI; other CI services like GitHub Actions or Jenkins may require manual adaptation and lack out-of-the-box support.
As a Ruby gem, it necessitates a Ruby environment in the CI pipeline, which might not be standard for iOS projects and adds another layer of maintenance.