libelektra icon indicating copy to clipboard operation
libelektra copied to clipboard

Execute go tests in main build pipeline

Open markus2330 opened this issue 5 years ago • 15 comments

It looks like on every incompatible change in Elektra, both CIs (go-elektra and libelektra) will fail.

Was disabling the build stages necessary or would 2f29a657b1d9b0dc6d5c9582df48338a15a1f3e3 have been enough?

Any other ways to improve the situation except of integrating the repo into the main one?

@raphi011 what do you think?

markus2330 avatar Jul 01 '20 06:07 markus2330

It is possible that bumping the version of go-elektra in elektrad would have been enough, but I did not know that this needs to be done.

Edit: integrating the repos might not work well because of the way that go packaging works, but maybe Raphi knows how this could be done.

mpranj avatar Jul 01 '20 06:07 mpranj

Or we can simply use latest master from elektra-go from now on?

Maybe we could have made libelektra's CI happy if the branch of libelektra would have used the branch of elektra-go.

markus2330 avatar Jul 02 '20 06:07 markus2330

The go-elektra builds are broken, seems like nobody notices it: https://travis-ci.org/github/ElektraInitiative/go-elektra

markus2330 avatar Oct 23 '20 15:10 markus2330

I don't have access or notifications for that repo. Can't trigger a rebuild or anything. Not that I have the capacity to maintain the go bindings.

mpranj avatar Oct 25 '20 12:10 mpranj

I gave the "core" team admin access to the repo. Is there any other repo the "core" team doesn't have access to?

markus2330 avatar Oct 25 '20 13:10 markus2330

The repo was broken with some old packages that 404'd.

Err:1 https://ubuntu-bionic-repo.libelektra.org bionic/main amd64 libelektra4 amd64 0.9.2-1.2041
  404  Not Found [IP: 95.217.75.163 443]

I fixed it manually now, but we really need to automate this.

It seems that the builds are now fixed.

mpranj avatar Oct 25 '20 16:10 mpranj

I just rerun the tests of the go repo and it succeeded. This obviously means that it still tests against an old version of Elektra, as there are many old-style key names in the tests of the go binding (e.g. kdb/keyset_test.go kdb/key_test.go)

Somehow, we need to take care of the go repo in the release management. So either:

  • we integrate the repo into the main repo (quite some go+cmake knowledge needed)
  • we remove the support for go (especially if we are unable to make WebUI work again this is an option, so we should check if it works first)
  • we add manual steps for every release to check if the go-bindings still work
  • we add automatic steps in continuous integration to check go-bindings with master of Elektra

@mpranj @robaerd what you do you think?

markus2330 avatar Nov 25 '20 08:11 markus2330

The ubuntu repo needs to be updated by hand, which explains why there is no (new) CI failure there. I will update the repo now.

Regarding release management: Sorted options in order of personal preference: {4,1,2,3}

mpranj avatar Nov 25 '20 09:11 mpranj

Sorted options in order of personal preference: {4,1,2,3}

I agree.

Just to be sure, with the 4th option you mean adding the automatic steps to the release pipeline and not to the "main" pipeline?

robaerd avatar Nov 25 '20 10:11 robaerd

In general we should put as much as possible to the main pipeline (maybe with some extra nightly build that does not build on every push if we produce overload on the build server), as the release manager wants to avoid a painful release: and every error detected so late is quite problematic.

So also these go tests: ideally they are executed on every push. And they are very fast compared to other tests, so there should be no problem. They are only quite different in their nature, as they work from a different repository. They are not high-prior though, I added them to the backlog.

markus2330 avatar Nov 26 '20 09:11 markus2330

Now the Ubuntu and Debian packages are finally being built again, thanks to @sanssecours.

I've triggered a re-build for the go-elektra tests and now it is finally failing (as expected due to Keyname overhaul). The bindings need to be updated now.

mpranj avatar Nov 28 '20 19:11 mpranj

Thank you very much! I just got the update from 0.9.3-1.2841 to 0.9.3-1.2961.

The bindings need to be updated now.

Yes, this is tracked in #3570

markus2330 avatar Nov 29 '20 07:11 markus2330

I mark this issue stale as it did not have any activity for one year. I'll close it in two weeks if no further activity occurs. If you want it to be alive again, ping the issue by writing a message here or create a new issue with the remainder of this issue. Thank you for your contributions :sparkling_heart:

stale[bot] avatar Jul 10 '22 02:07 stale[bot]

I closed this issue now because it has been inactive for more than one year. If I closed it by mistake, please do not hesitate to reopen it or create a new issue with the remainder of this issue. Thank you for your contributions :sparkling_heart:

stale[bot] avatar Jul 31 '22 11:07 stale[bot]

@lukashartl did you look at this already? Maybe you can describe more precisely what should be done?

markus2330 avatar Aug 01 '22 08:08 markus2330

To be fixed by #4895

markus2330 avatar May 13 '23 07:05 markus2330