CI and Releases

Currently, a single CI service is being used: travis-ci.com/filebrowser and we use our wizard script to manage our builds and releases.

Release Procedure

We use semantic versioning. For more info check semver.org.

  1. Execute ./wizard.sh -r $semver in filebrowser/filebrowser.

  2. When the tag is pushed, Circle will detect it and execute the following procedures:

    1. Run through the linters to check if the code is alright.

    2. Build the frontend and the backend, generating rice-box.go.

    3. If the commit is tagged, then:

      1. Build the release artifacts for all supported platforms and a new docker image (see .goreleaser.yml for more information).

      2. The artifacts are published to GitHub Releases.

      3. The tagged docker image is published to hub.docker.com/r/filebrowser/filebrowser.

‚Äč