BirmacherAkos / bitrise-init

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bitrise Init Tool

Initialize bitrise config, step template or plugin template

How to build this project

Project is written in Go language and uses dep as dependency management tool.

You can build this project using sequence of go commands or refer to bitrise.yml file, which contains workflows for this project.

You can run bitrise workflows on your local machine using bitrise CLI.

Before you start, make sure

  • $HOME/go/bin (or $GOPATH/bin in case of custom go workspace) is added to $PATH
  • Ruby >= 2.2.2 version is installed
  • bundler gem installed

How to build the project using bitrise workflows

Please check available workflows in bitrise.yml. bitrise --ci run ci will execute ci workflow which consists of prepare/build/run tests stages.

How to build the project using Go commands

  • go build command builds the project and generates bitrise-init binary at $HOME/go/bin/bitrise-init (or $GOPATH/bin/bitrise-init in case of custom go workspace).
  • go test ./... command runs unit tests in every project folder/subfolder.
  • go test -v ./_tests/integration/... command runs integration tests. This command requires INTEGRATION_TEST_BINARY_PATH=$HOME/go/bin/bitrise-init (or INTEGRATION_TEST_BINARY_PATH=$GOPATH/bin/bitrise-init in case of custom go workspace) environment variable.

How to release new bitrise-init version

  • update the step versions in steps/const.go
  • bump RELEASE_VERSION in bitrise.yml
  • commit these changes
  • call bitrise run create-release
  • check and update the generated CHANGELOG.md
  • test the generated binaries in _bin/ directory
  • push these changes to the master branch
  • once create-release workflow finishes on bitrise.io test the build generated binaries
  • create a github release with the build generated binaries

Update manual config on website

  • use the generated binaries in ./_bin/ directory to generate the manual config by calling: BIN_PATH --ci manual-config this will generate the manual.config.yml at: CURRENT_DIR/_defaults/result.yml
  • throw the generated result.yml to the frontend team, to update the manual-config on the website
  • once they put the new config in the website project, check the git changes to make sure, everything looks great

Update the project-scanner step

  • update bitrise-init dependency
  • share a new version into the steplib (check the README.md)

Update the bitrise init plugin

  • update bitrise-init dependency
  • release a new version (check the README.md)

About


Languages

Language:Go 99.9%Language:Shell 0.1%