totalcross icon indicating copy to clipboard operation
totalcross copied to clipboard

Template for a Travis CI smoke-test build

Open jeffque opened this issue 5 years ago • 4 comments

Template for a Travis CI smoke-test build

Travis CI is a widely used CI platform for open source projects that has tight integartion with GitHub. I would appreciate if there was a template build to check if the project is compiling

Other CIs available

There is also CircleCI available, but it has a limitation for FOSS build time, the TotalCross dependencies take time to download and I have no idea of how to control the cache of it for FOSS projects. For example, it took 31s to download and compile a project with basically TotalCross 4.4.2 and Retrolambda dependency and 5 Java files in JitPack.

So, yes, I have no interest in a CircleCI template for now

JitPack I use solely for distributing FOSS libraries, and it works building the source code when a tag is pushed AND some project requires that Maven dependency, so it is not suitable for this task.

GitLab-CI allows me to compile with any Docker Image, and it also let me configure cache for warming-up build stages. But it is solely to GitLab projects, not suitable for GitHub projects.

Describe the bug

I would like to check, for every and each push, if the code is compiling correctly with TotalCross, in a way that any accidental code incompatibility is detected and thus solved quickly. Like, for the CoronaChartApp.

Additional context

I would easily create a smoke test with tc-compiler-help adding the .setDryRun(true) option to the build, as I have done here for the TotalCross ResultSet Extractor library.

As TotalCross ResultSet Extractor is a GitLab project, I used there the "native" GitLab-CI for this task:

tc-build:
  stage: tc-build
  dependencies:
    - build
  script:
    - ./mvnw $MAVEN_CLI_OPTS clean install -P retrolambda
    - ln -vs $PWD/.m2 performance/.m2
    - ln -vs $PWD/mvnw performance/mvnw
    - cd performance
    - ./mvnw $MAVEN_CLI_OPTS clean package -P retrolambda,dev exec:java -Dexec.mainClass=br.com.softsite.rsextractor.PerformanceTest -Dexec.args=-n

But I get lost in Travis CI way of declaring "os", "language", etc. I find it way easier to work with GitLab-CI as I can rely on any docker image, so I have no problem with it.

jeffque avatar Jul 06 '20 13:07 jeffque

Hello @jeffque ,

For now we have person to implement our CI. Our choice is github actions which seems to have potential to become the state of art CI solution. As we are redoing the build system #71, we must finish this to start the ci with new build system. But we are going to make some ci stuff related to commit pattern and code style in this month!

ItaloYeltsin avatar Aug 04 '20 13:08 ItaloYeltsin

Hello, @ItaloYeltsin . What I was asking was not for Travis CI for building TotalCross via github, but to have a smoke test for a TotalCross powered solution.

jeffque avatar Aug 04 '20 17:08 jeffque

Hey @jeffque, we created a card in our project board about our issue keep feeding us about it :wink:

soon we will work on it

acmlira avatar Aug 05 '20 16:08 acmlira

Danke shön, @acmlira

I have a full article written for gitlab-ci build, the example is there for anyone who wishes to use it (lang ptBR, https://medium.com/@jeffque/trabalhando-com-totalcross-e-gitlab-ci-4e2f7e376c18).

jeffque avatar Aug 05 '20 19:08 jeffque