Skip to content

Conversation

@victorusu
Copy link
Contributor

@victorusu victorusu commented Nov 4, 2020

Fixes #1523.

@victorusu victorusu added this to the ReFrame sprint 20.16 milestone Nov 4, 2020
@victorusu victorusu requested review from ekouts and vkarak November 4, 2020 10:44
@victorusu victorusu self-assigned this Nov 4, 2020
@pep8speaks
Copy link

Hello @victorusu, Thank you for submitting the Pull Request!

Line 170:1: E302 expected 2 blank lines, found 1
Line 170:80: E501 line too long (105 > 79 characters)
Line 184:80: E501 line too long (85 > 79 characters)
Line 189:80: E501 line too long (84 > 79 characters)
Line 214:22: E225 missing whitespace around operator
Line 214:80: E501 line too long (80 > 79 characters)
Line 215:20: E225 missing whitespace around operator
Line 215:80: E501 line too long (87 > 79 characters)
Line 216:29: E225 missing whitespace around operator
Line 216:80: E501 line too long (118 > 79 characters)
Line 218:24: E203 whitespace before ':'
Line 219:25: E203 whitespace before ':'
Line 220:80: E501 line too long (176 > 79 characters)
Line 222:28: E203 whitespace before ':'
Line 223:28: E203 whitespace before ':'
Line 717:12: E225 missing whitespace around operator
Line 722:25: E127 continuation line over-indented for visual indent
Line 738:80: E501 line too long (93 > 79 characters)
Line 740:80: E501 line too long (112 > 79 characters)
Line 750:41: E127 continuation line over-indented for visual indent
Line 751:41: E127 continuation line over-indented for visual indent
Line 752:41: E127 continuation line over-indented for visual indent

Do see the ReFrame Coding Style Guide

@victorusu victorusu marked this pull request as draft November 4, 2020 10:46
@vkarak vkarak changed the title [WIP] Ci generate tags [feat] CI generate tags Nov 4, 2020
@victorusu victorusu changed the title [feat] CI generate tags [feat] Add support to generate dynamic pipelines from tags Nov 6, 2020
Copy link
Contributor

@vkarak vkarak left a comment

Choose a reason for hiding this comment

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

I see two parts of this PR: (a) selecting the tests for which to generate a pipeline and (b) the generation of the pipeline. Currently these parts are mixed up and they should be separated. Part (a) must be reconsidered completely, since it will be obsolete as soon as #1594 is merged. The second one should be independent: generate a pipeline file given a set of test cases. This would be also testable, whereas it's not as it is written now.

Finally, I don't understand how we plan the --ci-tags and --ci-generate to interoperate with the rest of the test selection options.

return filepatt.format(sessionid=new_id)


def filter_checks(checks_found, options, rt, loader, ci_tag=None):
Copy link
Contributor

Choose a reason for hiding this comment

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

This will need to immense conflicts when #1594 is merged. I would suggest to revert its original location.

# An alternative design would be to have environment variables exported
# during the trigger phase of reframe that would influence the tests
# individually
def generate_ci_pipeline_file(ci_pipeline_file, ci_tags, checks_found, options, rt, loader, site_config):
Copy link
Contributor

Choose a reason for hiding this comment

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

All the CI integration functionality must go into a separate module.

Copy link
Contributor

Choose a reason for hiding this comment

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

And the interface seems a bit hacky, too.

Copy link
Contributor

Choose a reason for hiding this comment

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

The reason is because this function mixes everything: selection of tests and the generation of the pipeline. These must be separated and, especially, the selection of the tests must be viewed in the light of the work done in #1594.

# + --module-mappings
# + --failure-stats
# + --performance-report
for test in checks_matched:
Copy link
Contributor

Choose a reason for hiding this comment

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

Everything must happen at the test case level. Now the test cases are generated immediately and everything in the frontend operates on them.

# - about the configuration file to use: reframe's -C option
# - about the artifacts artifacts: {paths: [jobs_scratch_dir], when: always}

# TODO there are some missing options:
Copy link
Contributor

Choose a reason for hiding this comment

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

It's not clear to me how you want to treat the different flags. Can you explain?

@vkarak vkarak removed the request for review from ekouts November 12, 2020 17:13
@vkarak vkarak removed this from the ReFrame sprint 20.17 milestone Nov 19, 2020
@vkarak vkarak changed the title [feat] Add support to generate dynamic pipelines from tags [feat] Add support to generate dynamic Gitlab pipelines Nov 26, 2020
@victorusu
Copy link
Contributor Author

I am closing this PR, because another one (#1641) replaces it.

@victorusu victorusu closed this Dec 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create dynamic Gitlab pipelines from ReFrame tests

3 participants