Skip to content

Consider having multiple projects for testing #3310

Closed

Description

@tmatsuo

For some tests, we ultimately need to have multiple projects for testing.

  • "409 Too many concurrent edits to the project configuration. Please try again"
  • Maximum number of custom roles (300) reached

I created a label needs-multiple-projects which indicates that the issue needs multiple projects for the fundamental fix.

Activity

  1. added
    type: processA process-related concern. May include testing, release, or the like.
    needs-multiple-projectsissues needs multiple projects for fundamental fix
    on Apr 8, 2020
  2. tmatsuo commented on Apr 8, 2020

    @tmatsuo
    ContributorAuthor

    @kurtisvg @crwilcox @leahecole If you know any issues which needs multiple projects for the fundamental fix, please add the label needs-multiple-projects. Once you go through your knowledge and your memory, feel free to unassign yourself.

  3. tmatsuo commented on Apr 9, 2020

    @tmatsuo
    ContributorAuthor

    For implementation, I think we should use gimmeproj. Example uses in ruby and go

    To use gimmeproj, I think we'll probably need to

    1. create a new project for meta project
    2. try to run all the tests on the meta project, figure out what configs/operations/resource files are needed besides enabling APIs, and write them down (for example, TEST-REQUIREMENTS.md in each directory).
    3. maybe standardize on the resource files (or even, write a shell script for setup)
    4. then we can finally create pool projects with all the needed stuff
  4. tmatsuo commented on May 6, 2020

    @tmatsuo
    ContributorAuthor

    An easier option.

    Maybe we can have few more cloud projects with suffixes like -py36, -py37, etc.

    We can have a common library in this repo, probably in the lib folder or somewhere. We can add that directory to sys.path in the noxfile.py so that you can just do something like:

    import test_helper
    
    
    project_id = test_helper.get_project_id_from_kokoro_job_name()
    # you'll get `xxx-py36` for the py-36 build and `xxxx-py37` for the py-37 build, etc.

    This way, it is very easy for us to only opt in some of the tests.

  5. tmatsuo commented on May 6, 2020

    @tmatsuo
    ContributorAuthor

    Came up with an easier option.

    Rather than having a library, we can just override the envvar GOOGLE_CLOUD_PROJECT in noxfile.py.

  6. tmatsuo commented on May 15, 2020

    @tmatsuo
    ContributorAuthor

    Created 3 new projects.

    • python-docs-samples-tests-py36
    • python-docs-samples-tests-py37
    • python-docs-samples-tests-py38

    I'll start using those projects with monitoring tests.

  7. added a commit that references this issue on May 16, 2020
  8. tmatsuo commented on May 16, 2020

    @tmatsuo
    ContributorAuthor

    It's live now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

needs-multiple-projectsissues needs multiple projects for fundamental fixtestingtype: processA process-related concern. May include testing, release, or the like.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions