[keycloak-dev] need feedback on integrating golang with testsuite and distro

Stian Thorgersen sthorger at redhat.com
Wed Mar 21 09:52:55 EDT 2018


On 20 March 2018 at 22:29, Bill Burke <bburke at redhat.com> wrote:

> I have a golang client utility (kcinit) that I need to integrate with
> tests in our testsuite.  Its possible to integrate golang with maven
> using this maven plugin:
>
> https://github.com/raydac/mvn-golang
>
> To integrate my tool into the arquillian testsuite, I've pulled in
> this plugin to pull down and build my golang tool so that it can be
> executed within a test.  The way it works is that the maven plugin
> will first download the Golang SDK and store it within ~/.mvnGolang.
> It will also store any source code it pulls down and builds there.  It
> will build a binary that is specific to the platform it is running on
> so this is perfect for our testsuite.
>
> Sound ok?
>

That works. Would it be best to have a profile for it though? Rather than
having it run every time developers build and test we can add a CI job for
it that would be ran on PRs. That way it's always tested on PRs, but you
don't have to pay the price locally if you haven't touched kinit at all.


>
> Next question is distribution.  "kcinit" is a command line utility.
> Should I add this to our current client tools directory in the disto
> or create a separate dis zipt?  Ok to include binaries for linux, osx,
> and windows?  This will require the maven plugin to individually
> cross-compile for each platform.  Its not superfast and our distro
> build will be slower, but we will have one place to pull this stuff
> together.  I will need to eventually create an RPM for this tool so
> that it can be automatically installed in Fedora/RHEL.
>

I'd go with a separate dist. It's a client tool and having to download and
extract it from the large server zip would be annoying.

Maybe it would be best to have a separate profile here as well? Something
like distribution-cli. It can be disabled by default, but enabled when we
do releases. I know quite a lot of folks regularly builds the server dist
while doing development, myself included.

For Keycloak we can definitively include binaries for all. Can the Maven
plugin build all binaries on Linux? Or do you need to build it on the
individual platforms? If the latter then we have a biggish problem to
figure out when releasing Keycloak.

Can you start a thread on keycloak-team about how we do it for RH-SSO? I'd
rather not discuss that on this list.


>
>
>
>
> --
> Bill Burke
> Red Hat
> _______________________________________________
> keycloak-dev mailing list
> keycloak-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-dev
>


More information about the keycloak-dev mailing list