Skip to content

github-ci: add reusable testing workflow #112

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 8, 2021

Conversation

ylobankov
Copy link

@ylobankov ylobankov commented Nov 16, 2021

The idea of this workflow is to be a part of the 'integration.yml'
workflow from the tarantool repo to verify the integration of the
go-tarantool connector with an arbitrary tarantool version.

This workflow is not triggered on a push to the repo and cannot be run
manually since it has only the 'workflow_call' trigger. This workflow
will be included in the tarantool development cycle and called by the
'integration.yml' workflow from the tarantool project on a push to the
master and release branches for verifying integration of tarantool with
go-tarantool.

Part of tarantool/tarantool#6607
Part of tarantool/tarantool#5265
Part of tarantool/tarantool#6056

Related to tarantool/tarantool#6615

Copy link
Member

@DifferentialOrange DifferentialOrange left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be honest, it's hard to run CI pipeline in head to test its ability to work, and I don't see any actions in Actions history. But it seems adequate. I have a couple of questions.

First of all, test runs only main folder tests. There are also submodules (not git sumbodules, go packages inside a package): queue and multi (and uuid after #104 merge) which have their own tests. I think it is worth to run them in CI too. It may be troublesome since current test environment setup is manual -- you need to start a different tarantool for each module, and there are no prepare (like mkdir snap xlog) or cleanup scripts. Moreover, some modules tests may be outdated or broken (I ensured that uuid tests work fine, but it seems there may be some troubles with user grants in queue test). I think it is worth to build a working test environment first and then run it with required artifacts. But it seems like a separate task and I'm not sure that any team have it in their plans.

The second question is related to the first one. If we are setting up CI for Tarantool integration, why not set up CI with classic on-push test run? Again, it looks like it is not the part of your task. But it seems weird for me that we will have integration pipeline and not have most simple and useful pipeline with test run per-push.

@ylobankov ylobankov force-pushed the ylobankov/add-reusable-testing-workflow branch 6 times, most recently from 1262c4f to b1876ed Compare December 2, 2021 10:20
@ylobankov
Copy link
Author

To be honest, it's hard to run CI pipeline in head to test its ability to work, and I don't see any actions in Actions history. But it seems adequate. I have a couple of questions.

First of all, test runs only main folder tests. There are also submodules (not git sumbodules, go packages inside a package): queue and multi (and uuid after #104 merge) which have their own tests. I think it is worth to run them in CI too. It may be troublesome since current test environment setup is manual -- you need to start a different tarantool for each module, and there are no prepare (like mkdir snap xlog) or cleanup scripts. Moreover, some modules tests may be outdated or broken (I ensured that uuid tests work fine, but it seems there may be some troubles with user grants in queue test). I think it is worth to build a working test environment first and then run it with required artifacts. But it seems like a separate task and I'm not sure that any team have it in their plans.

The second question is related to the first one. If we are setting up CI for Tarantool integration, why not set up CI with classic on-push test run? Again, it looks like it is not the part of your task. But it seems weird for me that we will have integration pipeline and not have most simple and useful pipeline with test run per-push.

Ok, let's set up a simple CI first (PR #116). The queue testing is commented out for now due to #115. So we need to fix #115, then merge #116.

@ylobankov ylobankov force-pushed the ylobankov/add-reusable-testing-workflow branch 2 times, most recently from 9566d74 to 7fa1f8f Compare December 7, 2021 20:26
@ylobankov ylobankov force-pushed the ylobankov/add-reusable-testing-workflow branch from 7fa1f8f to f01f90d Compare December 7, 2021 20:36
Copy link
Member

@Totktonada Totktonada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No objections from me.

It would be nice to see a testing job.

@ylobankov
Copy link
Author

ylobankov commented Dec 7, 2021

No objections from me.

It would be nice to see a testing job.

Manual test run.

The idea of this workflow is to be a part of the 'integration.yml'
workflow from the tarantool repo to verify the integration of the
go-tarantool connector with an arbitrary tarantool version.

This workflow is not triggered on a push to the repo and cannot be run
manually since it has only the 'workflow_call' trigger. This workflow
will be included in the tarantool development cycle and called by the
'integration.yml' workflow from the tarantool project on a push to the
master and release branches for verifying integration of tarantool with
go-tarantool.

Part of tarantool/tarantool#6607
Part of tarantool/tarantool#5265
Part of tarantool/tarantool#6056
@ylobankov ylobankov force-pushed the ylobankov/add-reusable-testing-workflow branch from f01f90d to 66983d1 Compare December 8, 2021 20:00
@ylobankov ylobankov merged commit cbef4af into master Dec 8, 2021
@ylobankov ylobankov deleted the ylobankov/add-reusable-testing-workflow branch December 8, 2021 20:01
oleg-jukovec added a commit that referenced this pull request Jun 1, 2022
Overview

This release adds a number of features and updates documentation.

Breaking changes

	There are no breaking changes in the release.

New features

	Coveralls support (#149).

	Reusable testing workflow (integration testing with latest
	Tarantool) (#112).

	Simple CI based on GitHub actions (#114).

	Support UUID type in msgpack (#90).

	Go modules support (#91).

	queue-utube handling (#85).

	Master discovery (#113).

	SQL support (#62).

	Handle everything with `go test` (#115).

	Update API documentation: comments and examples (#123).

Bugfixes

	Reset buffer if its average use size smaller than quater of
	capacity (#95).

	Fix queue tests (#107).

	Make test case consistent with comments (#105).
@oleg-jukovec oleg-jukovec mentioned this pull request Jun 1, 2022
oleg-jukovec added a commit that referenced this pull request Jun 2, 2022
Overview

This release adds a number of features. Also it significantly improves
testing, CI and documentation.

Breaking changes

    There are no breaking changes in the release.

New features

    Support UUID type in msgpack (#90).

    queue-utube handling (#85).

    Master discovery (#113).

    SQL support (#62).

Bugfixes

    Reset buffer if its average use size smaller than quater of
    capacity (#95).

Testing

    Coveralls support (#149).

    Reusable testing workflow (integration testing with latest
    Tarantool) (#112).

    Simple CI based on GitHub actions (#114).

    Handle everything with `go test` (#115).

    Fix queue tests (#107).

    Make test case consistent with comments (#105).

Other

    Go modules support (#91).

    Update API documentation: comments and examples (#123).
oleg-jukovec added a commit that referenced this pull request Jun 2, 2022
Overview

This release adds a number of features. Also it significantly improves
testing, CI and documentation.

Breaking changes

    There are no breaking changes in the release.

New features

    Support UUID type in msgpack (#90).

    queue-utube handling (#85).

    Master discovery (#113).

    SQL support (#62).

Bugfixes

    Reset buffer if its average use size smaller than quater of
    capacity (#95).

Testing

    Coveralls support (#149).

    Reusable testing workflow (integration testing with latest
    Tarantool) (#112).

    Simple CI based on GitHub actions (#114).

    Handle everything with `go test` (#115).

    Fix queue tests (#107).

    Make test case consistent with comments (#105).

Other

    Go modules support (#91).

    Update API documentation: comments and examples (#123).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants