rmaqueda / GrapeCI

Serverless continuous integration util.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GRAPECI

Platform

Metrics Sonar Cloud

Quality Gate Status

What is GrapeCI?

It's a work in progress, serverless, continuous integration software written in Swift.

Connect your Bitbucket or GitHub accounts and set up a build script for yours repository. GrapeCI launch the build script when these changes are detected:

  • New commit on the default branch
  • New commit on a pull request

When the build script finish, a build status is created for this commit. Like this one:

How to install?

Easy way:

  • Download, unzip and run.
  • If you see this security alert. Go to: Preferences -> Security and allow run GrapeCI. This is because GrapeCI needs run without sandbox in order to run the pipelines.

Build by yourself:

  • Update dependencies with Carthage
  • Open Xcode project
  • Edit the GrapeCI scheme and write the oauth secrets enviroment varialbes (You will need to setup the aouth configuration firstly on Github or Bitbucket)
  • Run or Archive the project

How to use it?

Take a look to this guide

Build script

To create a custom builds for different scenarios, the build script receives these environment variables:

  • REPOSITORY: Repository Name
  • MAIN_BRANCH: The repository default branch
  • PROVIDER: GitHub or BitBucket
  • PR_BRANCH: Destination branch name for pull request
  • PR_BASE: Origin branch name for pull request
  • PR_ID: Pull request identifier

The documentation folder contains examples of build scripts for direcrent types of projects and tools:

Why am I building this?

  • Learn Apple Combine, SwiftUI and how create a Mac App.
  • Have a free and easy to setup continuous integration tool
  • Have fun :)

Do you want to contribute?

This would be great!

The project is an early state, if you think is useful for you or you want to contribute, do it 💪

Some shell dependencies

sudo gem install cocoapods

sudo gem install slather

sudo gem install xcpretty

brew install sonar-scanner

brew install carthage

brew install sourcery

About

Serverless continuous integration util.

License:MIT License


Languages

Language:Swift 99.7%Language:Ruby 0.3%