Description
When a repo is transferred out of a GitHub organization managed by GCSS, but the YAML configuration for that repo remains in GCSS, GCSS PRs fail
Context
This issue arose during a repository transfer where:
- A project was developed internally
- An OSDR was approved and the project transferred to a GCSS managed org
- An open source community agreed to take ownership of the project (and repo) while we remain as maintainers
- The repository was transferred out of our GCSS managed org
- The YAML config remained in GCSS, causing TFE to fail
Impact
- Immediate: All new/upcoming PRs cannot go through successfully after the repository transfer
- Scope: This is a use case we expect to see again as we contribute projects to upstream communities
Expected Use Case
This represents a legitimate and repeating workflow:
- Company develops something internally
- Project is a good fit for an existing upstream project or community
- Upstream project agrees to take ownership
- Original developers remain as maintainers
- Repository ownership is transferred
Current Behavior
When a repo is transferred out but its YAML config remains in GCSS:
- TFE fails to execute
- PRs cannot be processed
- System enters a broken state
Questions
What is the correct procedure when transferring a repository out of the organization?
What is the correct procedure when deleting or archiving a repository out of the organization?
Should the YAML config be deleted before or after the transfer?
What happens if we simply delete the config file from GCSS? Will Terraform fail due to how it tracks state?
Description
When a repo is transferred out of a GitHub organization managed by GCSS, but the YAML configuration for that repo remains in GCSS, GCSS PRs fail
Context
This issue arose during a repository transfer where:
Impact
Expected Use Case
This represents a legitimate and repeating workflow:
Current Behavior
When a repo is transferred out but its YAML config remains in GCSS:
Questions
What is the correct procedure when transferring a repository out of the organization?
What is the correct procedure when deleting or archiving a repository out of the organization?
Should the YAML config be deleted before or after the transfer?
What happens if we simply delete the config file from GCSS? Will Terraform fail due to how it tracks state?