fwalch / bot-ci

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Marvim Bot CI

Build Status

This is the part of Marvim's planet sized brain that runs on TravisCI. However, you won't find the "Genuine People Personalities" technology here.

Generated Content

Building Locally

To build locally, execute ./ci/<build script>, where build script is any executable shell script. Override environment variables as necessary. For example, to rebuild 64-bit dependencies and push to a neovim/deps fork, execute the following:

NEOVIM_REPO=<username>/neovim \
NEOVIM_BRANCH=my-neovim-branch \
DEPS_REPO=<username>/neovim-deps \
DEPS_BRANCH=my-deps-branch \
./ci/deps64.sh

Testing PRs

Building of PRs is disabled for this repository; builds would always fail because of Travis's security restrictions. You can test your changes in a different way, though. Here's an example on how to test neovim/doc-related changes using Travis CI:

  • Fork the neovim/doc repository to <username>/doc.
  • Using your neovim/bot-ci fork:
    • Enable Travis CI.
    • Create a new testing branch based on your PR branch (e.g. git checkout pr-branch && git checkout -b pr-branch-test).
    • Obtain a Github personal access token and encrypt it for Travis using travis encrypt 'GH_TOKEN=<token>' -r <username>/bot-ci.
    • Modify .travis.yml and override environment variables as necessary, e.g.:
# ...
env:
  global:
    - DOC_REPO=<username>/doc
    - NEOVIM_REPO=<username>/neovim
    - NEOVIM_BRANCH=my-branch
    - secure: <output of travis encrypt>
# ...

After committing and pushing these changes to your PR testing branch, Travis will perform the build and push the results to <username>/doc. If you make changes to your PR, don't forget to rebase and push your PR testing branch so that <username>/doc will always be up-to-date.

The above steps can be performed analogously for other repositories a bot-ci script pushes to, e.g. neovim/deps for ci/deps64.sh.

Nightly builds

Nightly builds of Neovim are generated by a script in this repository and published at https://github.com/neovim/neovim/releases/nightly. Currently, they are only useful to run integration tests against an up-to-date version of Neovim on Travis CI.

Setting up integration builds

Neovim provides a script to download and set up a 64-bit Linux nightly on Travis CI. In the future, it will be extended to support different versions and operating systems.

To use the script in a Travis build, download and evaluate it in .travis.yml:

# ...
before_install:
  - eval "$(curl -Ss https://raw.githubusercontent.com/neovim/bot-ci/master/scripts/travis-setup.sh) nightly-x64"
# ...
script:
  # `nvim` has been added to `$PATH` by the setup script.
  - nvim ...

Evaluating the script will print information about exported environment variables and the output of nvim --version to aid debugging failing builds.

See the Travis config of the Neovim Python client for a full example.

About

License:Apache License 2.0


Languages

Language:Shell 76.6%Language:HTML 13.4%Language:Python 10.0%