Code::Blocks Forums

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: oBFusCATed on January 16, 2016, 11:12:17 pm

Title: Using a build service to setup a continuous integration
Post by: oBFusCATed on January 16, 2016, 11:12:17 pm
I'm experimenting with appveyor. I'm trying to setup an automated build of codeblocks on Windows, but I'm failing.
It seems that it is showing some dialog and it gets stuck waiting for the user.

This is the link to the project https://ci.appveyor.com/project/obfuscated/codeblocks-sf and you can check the logs.
I'm using a self build CB. This build is special, because I've modified the src target to be a console application, but it still doesn't work.

Any idea how to prevent this problem or what is going on?
I'll probably try to contact support next week, but I don't have high hopes...

Title: Re: Using a build service to setup a continuous integration
Post by: stahta01 on January 17, 2016, 02:46:03 am
If you post a Git link to the CB console code; I can try and see if it works on my PC.
The main thing is I would remove all places where it tries to auto-detect compiler locations because that causes me the most problems with the GUI Code::Blocks locking up.

Edit: It will likely lockup on the command "git svn info" called as a pre-step to SDK.
Edit2: Steps I use to get svn info to work in MSys2 Git.
https://github.com/stahta01/cb_misc/blob/master/Notes/Fix%20Git%20SVN%20information%20steps.txt (https://github.com/stahta01/cb_misc/blob/master/Notes/Fix%20Git%20SVN%20information%20steps.txt)

Tim S.

Title: Re: Using a build service to setup a continuous integration
Post by: ollydbg on January 17, 2016, 04:26:40 am
Hi, OBF, is the build service free? I'm interested in this kind of buildbot, because my PC is too old and too slow. :)
Title: Re: Using a build service to setup a continuous integration
Post by: oBFusCATed on January 17, 2016, 10:52:34 am
Yes, for opensource projects, but it cannot replace a local machine. It is not fast and also there is a 1 hour job limit.
Title: Re: Using a build service to setup a continuous integration
Post by: MortenMacFly on January 17, 2016, 10:57:43 am
Yes, for opensource projects, but it cannot replace a local machine. It is not fast and also there is a 1 hour job limit.
I have no idea with appveyor directly, but I am using Travis (https://travis-ci.org/) which is based on it alongside a project that uses CMAKE for the build. This is quite simple to setup and working good so far. unfortunately I never tried C::B with it.
Title: Re: Using a build service to setup a continuous integration
Post by: oBFusCATed on January 17, 2016, 11:06:07 am
Yep, Travis is the next thing I'll try to setup.
Title: Re: Using a build service to setup a continuous integration
Post by: BlueHazzard on January 17, 2016, 11:11:32 am
Edit: It will likely lockup on the command "git svn info" called as a pre-step to SDK.

I also think that is the block here... On my windows machine this command takes up to 45min... I posted in one thread a patch to fix this command (don't use git svn info in a git repository, but use the hash as a revision string) in AutoRevision, but probably this is lost in the void...
For a quick test you can remove this command from the prebuild steps..

greetings

PS.: there should be a command line switch that forwards all from the build log to the stdout... (Isn't this standard in linux)
Title: Re: Using a build service to setup a continuous integration
Post by: oBFusCATed on January 17, 2016, 05:42:54 pm
Edit: It will likely lockup on the command "git svn info" called as a pre-step to SDK.

I also think that is the block here... On my windows machine this command takes up to 45min... I posted in one thread a patch to fix this command (don't use git svn info in a git repository, but use the hash as a revision string) in AutoRevision, but probably this is lost in the void...
For a quick test you can remove this command from the prebuild steps..
This is no longer the case. See some of the commits in trunk. :)

PS.: there should be a command line switch that forwards all from the build log to the stdout... (Isn't this standard in linux)
This is not possible on windows. An app is a console or gui, but not both. This is also fix by using my custom build.

Also I'm using a premade config, so no compiler detection should happen. I've found they provide rdp access, so I'll try it...