A single master branch is used.
When regular commits are pushed to GitHub:
latest and, if successful, publish it.When tagged commits are pushed to GitHub:
See:
However, it seems that travis-ci.org was used until five months ago: https://travis-ci.org/filebrowser/filebrowser/builds @hacdias, why did you stop using travis-ci as a CI service?
The current approach has the following (minor) caveats:
rice-box.go with the artifacts.Moreover, the current proposal in #399:
So, the build task in CircleCI and the build task in hub.docker.com will be duplicated.
Since all of the steps can be executed in travis-ci.com, I propose to add missing features to #399, and drop CircleCI and hub.docker.com as CI services. These missing features are:
filebrowser/dev.gosec with excluded options (those related to using MD5). See https://github.com/filebrowser/filebrowser/pull/399#issuecomment-410459808.filebrowser/dev.filebrowser/filebrowser:develop.filebrowser/filebrowser:<tag> and filebrowser/filebrowser:latest.publish.sh to tag both the backend repo and the frontend repo.Alternatively, it seems that CircleCI allows to reproduce the builds locally (https://circleci.com/docs/2.0/local-cli/). Therefore, if anyone has enough knowledge to implement an equivalent workflow in CircleCI only, that would be equally acceptable.
@1138-4EB I dropped Travis because it was a lot slower than Circle and in that time it was easier to get the different phases on Circle:

But I see now Travis is moving to GitHub Apps. We could try what you suggest and if it works, go for it. But we have to be careful about Caddy build server.
@1138-4EB I dropped Travis because it was a lot slower than Circle and in that time it was easier to get the different phases on Circle.
I expected that. Indeed, CircleCI should still be much faster than Travis, because the latter needs to spin up a "virtual machine" for each stage and then run docker on top of it, while CircleCI is designed to run docker images directly.
However, I think that Travis is offering a better solution from the integration point of view:
BTW, I am setting goreleaser to build docker images with it: https://goreleaser.com/customization/#Docker It seems that, in the very near future, we will be able to create multiarch images: goreleaser/goreleaser#530 So we might close #440 with #399.
Anyway, should anyone know how to integrate everything in a CircleCI config which is equivalent to the .travis.yml I am writing in #399, please let me know.
It sounds good to me. Thanks for all your work here 馃槂 It's being amazing!
@hacdias just a quick update to let you know that this is almost ready. The only missing part is the Caddy build server issue. I registered, but there is so little info about the build process. So merging #399 will have to wait until we can find a solution.