Possible travis wiki build error?


#1

I have ran across a what I think is an error in the Wiki configuration but wanted to run the possible changes by more knowledgeable people first.

I discovered we are getting gh-page build failures after every successful build with this build error,
Build config file is required via repository settings, but config is empty.
https://travis-ci.org/jMonkeyEngine/wiki/requests

The wiki travis file shows the config is set like so on line 4-7,

Its reported at travis github page here,

The docs say,
https://docs.travis-ci.com/user/customizing-the-build/#Building-Specific-Branches

To build all branches:

.travis.yml
branches:
  only:
  - gh-pages
  - /.*/

Note that for historical reasons .travis.yml needs to be present on all active branches 
of your project.

So this is saying I need to add a .travis.yml file to the gh-branch correct?


#2

Yeah, I guess its required. There are other ways of preventing Travis from building the branch. One is by changing the Travis settings so a build file is not required. Another way is to ensure the commit contains the message [ci skip] which causes Travis to ignore it and not build


#3

Never done this so is this correct?
Should there be other commands?

language: java
jdk:
  - oraclejdk8
branches:
  only:
  - gh-pages
  - /.*/

#4

I think only the repository owner can do this correct?
https://docs.travis-ci.com/user/deployment/pages/


#5

I think you want to ignore gh-pages and not build it at all.
i.e., only build the master branch. In that case you want to use except instead of only. Same as the current .travis.yml:

branches:
  except:
  - gh-pages

#6

Having trouble setting this. You have to have a Language parameter set or it fails build.

Setting a language then requires you to add even more config files.

Shouldn’t this parameter in the master branch .travis.yml

Be changed to this?

branches:
  only:
  - master

A quote from another web site on building the pages,

  1. Run only on the master branch

We don’t want any development branches to be built and pushed to our production site automatically. And moreover, if the Travis workflow is build, commit, and push to gh-pages, each build would kick off another build if we didn’t restrict it. So this goes in the .travis.yml:

branches:
  only:
  - master

What you suggest seems to mean the same thing but Im not sure if theres some subtle difference that travis recognizes between the two.


#7

I just found a duplicate of what I see happening at stack overflow,

The answer seems to mirror exactly what I am saying but the poster didn’t respond if it worked or if they found a solution elsewhere.

I am asking rather than experimenting because I don’t want to fry the wiki by doing something stupid as I have never messed with the config before. I understand how its setup, just not the consequences of changes I may make.

Edit: From the travis docs,
https://docs.travis-ci.com/user/customizing-the-build/#Building-Specific-Branches

# blocklist
branches:
  except:
  - legacy
  - experimental

# safelist
branches:
  only:
  - master
  - stable

Note that safelisting also prevents tagged commits from being built. If you consistently tag your builds in the format v1.3 you can safelist them all with regular expressions, for example /^v\d+.\d+(.\d+)?(-\S*)?$/.

If you use both a safelist and a blocklist, the safelist takes precedence. By default, the gh-pages branch is not built unless you add it to the safelist.

This is why I am thinking there may be a difference.


#8

You can’t mess up the wiki because if we have to remove the config file we can just remove it and then we are back to where we started. It seems like maybe just having an identical .travis.yml file might do it. I mean, Travis isn’t going to build the other branch so it doesn’t matter anyway what you put it there since its just going to be ignored anyway.