Skip to content

Commit

Permalink
build.yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
corneliusludmann committed Dec 22, 2023
1 parent a2839ab commit a30c141
Show file tree
Hide file tree
Showing 37 changed files with 2,742 additions and 280 deletions.
216 changes: 111 additions & 105 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,115 +1,107 @@
#
# For the CODEONWERS file we don't want to have a specific CODEOWNER.
# A single review from anyone who is allowed to review PRs is sufficent.
# Changes to the CODEONWERS file have to get reviewed by Engineering Leadership.
#
/.github/CODEOWNERS
/.github/CODEOWNERS @gitpod-io/engineering-leadership

/components/blobserve @gitpod-io/engineering-ide
/components/common-go @gitpod-io/engineering-workspace @gitpod-io/engineering-webapp
/components/content-service-api @gitpod-io/engineering-workspace
/components/content-service @gitpod-io/engineering-workspace
/components/dashboard @gitpod-io/engineering-webapp
/components/docker-up @gitpod-io/engineering-workspace
/components/ee/agent-smith @gitpod-io/engineering-workspace
/components/ee/db-sync @gitpod-io/engineering-webapp
/components/ee/payment-endpoint @gitpod-io/engineering-webapp
/components/gitpod-cli @gitpod-io/engineering-ide
/components/gitpod-db @gitpod-io/engineering-webapp
/components/gitpod-messagebus @gitpod-io/engineering-webapp
/components/gitpod-protocol @gitpod-io/engineering-webapp
/components/gitpod-protocol/java @gitpod-io/engineering-ide
/components/ide @gitpod-io/engineering-ide
/components/ide-metrics @gitpod-io/engineering-ide
/components/ide-metrics-api @gitpod-io/engineering-ide
/components/ide-service @gitpod-io/engineering-ide
/components/ide-service-api @gitpod-io/engineering-ide
/components/ide-proxy @gitpod-io/engineering-ide
/components/image-builder-api @csweichel @geropl
/components/image-builder-bob @gitpod-io/engineering-workspace
/components/image-builder-mk3 @gitpod-io/engineering-workspace
/components/installation-telemetry @gitpod-io/engineering-delivery-operations-experience
/components/kots-config-check @gitpod-io/engineering-delivery-operations-experience
/components/toxic-config @gitpod-io/engineering-webapp
/install @gitpod-io/engineering-delivery-operations-experience
/install/installer @gitpod-io/engineering-delivery-operations-experience
# For testdata a single review from anyone who is allowed to review PRs is sufficent.
/install/installer/cmd/testdata
/install/installer/pkg/components/agent-smith @gitpod-io/engineering-workspace
/install/installer/pkg/components/blobserve @gitpod-io/engineering-ide
/install/installer/pkg/components/components-ide @gitpod-io/engineering-ide
/install/installer/pkg/components/components-webapp @gitpod-io/engineering-webapp
/install/installer/pkg/components/components-workspace @gitpod-io/engineering-workspace
/install/installer/pkg/components/content-service @gitpod-io/engineering-workspace
/install/installer/pkg/components/dashboard @gitpod-io/engineering-webapp
/install/installer/pkg/components/ide-metrics @gitpod-io/engineering-ide
/install/installer/pkg/components/ide-service @gitpod-io/engineering-ide
/install/installer/pkg/components/ide-proxy @gitpod-io/engineering-ide
/install/installer/pkg/components/image-builder-mk3 @gitpod-io/engineering-workspace
/install/installer/pkg/components/openvsx-proxy @gitpod-io/engineering-ide
/install/installer/pkg/components/proxy @gitpod-io/engineering-webapp
/install/installer/pkg/components/registry-facade @gitpod-io/engineering-workspace
/install/installer/pkg/components/public-api-server @gitpod-io/engineering-webapp
/install/installer/pkg/components/server @gitpod-io/engineering-webapp
/install/installer/pkg/components/server/ide @gitpod-io/engineering-ide
/install/installer/pkg/components/usage @gitpod-io/engineering-webapp
/install/installer/pkg/components/toxiproxy @gitpod-io/engineering-webapp
/install/installer/pkg/components/slowserver @gitpod-io/engineering-webapp
/install/installer/pkg/components/usage-api @gitpod-io/engineering-webapp
/install/installer/pkg/components/workspace @gitpod-io/engineering-workspace
/install/installer/pkg/components/workspace/ide @gitpod-io/engineering-ide
/install/installer/pkg/components/ws-daemon @gitpod-io/engineering-workspace
/install/installer/pkg/components/ws-manager @gitpod-io/engineering-workspace
/install/installer/pkg/components/ws-manager-bridge @gitpod-io/engineering-webapp
/install/installer/pkg/components/ws-proxy @gitpod-io/engineering-workspace
/install/installer/pkg/config/versions @gitpod-io/engineering-ide
/components/licensor @gitpod-io/engineering-webapp
/components/local-app-api @csweichel @akosyakov
/components/local-app @gitpod-io/engineering-ide
/components/openvsx-proxy @gitpod-io/engineering-ide
/components/proxy @gitpod-io/engineering-webapp
/components/public-api @csweichel @akosyakov @easyCZ @gitpod-io/engineering-webapp
/components/blobserve @gitpod-io/team-experience
/components/common-go @gitpod-io/engineering-staff-engineers
/components/components/scrubber @gitpod-io/engineering-staff-engineers
/components/content-service-api @gitpod-io/team-engine
/components/content-service @gitpod-io/team-engine
/components/dashboard @gitpod-io/team-experience
/components/docker-up @gitpod-io/team-engine
/components/ee/agent-smith @gitpod-io/team-engine
/components/gitpod-cli @gitpod-io/team-experience
/components/gitpod-db @gitpod-io/team-experience
/components/gitpod-protocol @gitpod-io/team-experience
/components/gitpod-protocol/java @gitpod-io/team-experience
/components/gitpod-protocol/src/typings/globals.ts @gitpod-io/team-experience
/components/ide @gitpod-io/team-experience
/components/ide-metrics @gitpod-io/team-experience
/components/ide-metrics-api @gitpod-io/team-experience
/components/ide-service @gitpod-io/team-experience
/components/ide-service-api @gitpod-io/team-experience
/components/ide-proxy @gitpod-io/team-experience
/components/image-builder-api @gitpod-io/team-engine
/components/image-builder-bob @gitpod-io/team-engine
/components/image-builder-mk3 @gitpod-io/team-engine
/install @gitpod-io/team-engine
# By default anything in in /install/installer is shared.
/install/installer
/install/installer/pkg/components/agent-smith @gitpod-io/team-engine
/install/installer/pkg/components/blobserve @gitpod-io/team-experience
/install/installer/pkg/components/components-ide @gitpod-io/team-experience
/install/installer/pkg/components/components-webapp @gitpod-io/team-experience
/install/installer/pkg/components/components-workspace @gitpod-io/team-engine
/install/installer/pkg/components/content-service @gitpod-io/team-engine
/install/installer/pkg/components/dashboard @gitpod-io/team-experience
/install/installer/pkg/components/ide-metrics @gitpod-io/team-experience
/install/installer/pkg/components/ide-service @gitpod-io/team-experience
/install/installer/pkg/components/ide-proxy @gitpod-io/team-experience
/install/installer/pkg/components/image-builder-mk3 @gitpod-io/team-engine
/install/installer/pkg/components/image-builder-mk3-wsman @gitpod-io/team-engine
/install/installer/pkg/components/openvsx-proxy @gitpod-io/team-experience
/install/installer/pkg/components/proxy @gitpod-io/team-experience
/install/installer/pkg/components/registry-facade @gitpod-io/team-engine
/install/installer/pkg/components/spicedb @gitpod-io/team-experience
/install/installer/pkg/components/public-api-server @gitpod-io/team-experience
/install/installer/pkg/components/server @gitpod-io/team-experience
/install/installer/pkg/components/server/ide @gitpod-io/team-experience
/install/installer/pkg/components/usage @gitpod-io/team-experience
/install/installer/pkg/components/usage-api @gitpod-io/team-experience
/install/installer/pkg/components/workspace @gitpod-io/team-engine
/install/installer/pkg/components/workspace/ide @gitpod-io/team-experience
/install/installer/pkg/components/ws-daemon @gitpod-io/team-engine
/install/installer/pkg/components/ws-manager-mk2 @gitpod-io/team-engine
/install/installer/pkg/components/ws-manager-bridge @gitpod-io/team-experience
/install/installer/pkg/components/ws-proxy @gitpod-io/team-engine
/install/installer/pkg/config/versions @gitpod-io/team-experience
/components/local-app-api @gitpod-io/team-experience
/components/local-app @gitpod-io/team-experience
/components/openvsx-proxy @gitpod-io/team-experience
/components/proxy @gitpod-io/team-experience
/components/public-api @gitpod-io/team-experience
# Any team can make changes to the experimental package
/components/public-api/gitpod/experimental @gitpod-io/engineering-workspace @gitpod-io/engineering-webapp @gitpod-io/engineering-delivery-operations-experience @gitpod-io/engineering-ide
/components/public-api-server @gitpod-io/engineering-webapp
/components/registry-facade-api @csweichel @aledbf
/components/registry-facade @gitpod-io/engineering-workspace
/components/server @gitpod-io/engineering-webapp
/components/service-waiter @gitpod-io/engineering-webapp
/components/supervisor-api/*.proto @csweichel @akosyakov
/components/supervisor @gitpod-io/engineering-ide
/components/usage @gitpod-io/engineering-webapp
/components/usage-api @gitpod-io/engineering-webapp
/components/workspacekit @gitpod-io/engineering-workspace
/components/ws-daemon-api @aledbf @Furisto
/components/ws-daemon @gitpod-io/engineering-workspace
/components/ws-manager-api @aledbf @sagor999
/components/ws-manager-bridge-api @gitpod-io/engineering-webapp
/components/ws-manager-bridge @gitpod-io/engineering-webapp
/components/ws-manager @gitpod-io/engineering-workspace
/components/ws-proxy @gitpod-io/engineering-workspace
/dev/gpctl @gitpod-io/engineering-workspace
/dev/gpctl/api/ @gitpod-io/engineering-webapp
/dev/loadgen @gitpod-io/engineering-workspace
/dev/preview @gitpod-io/devx
/operations/observability/mixins @gitpod-io/engineering-delivery-operations-experience
/operations/observability/mixins/platform @gitpod-io/devx
/operations/observability/mixins/IDE @gitpod-io/engineering-ide
/operations/observability/mixins/meta @gitpod-io/engineering-webapp
/operations/observability/mixins/workspace @gitpod-io/engineering-workspace
/operations/observability/mixins/cross-teams @gitpod-io/engineering-workspace @gitpod-io/engineering-webapp @gitpod-io/engineering-ide @gitpod-io/devx @gitpod-io/engineering-delivery-operations-experience
/components/public-api/gitpod/experimental @gitpod-io/team-experience
/components/public-api-server @gitpod-io/team-experience
/components/registry-facade-api @gitpod-io/team-engine
/components/registry-facade @gitpod-io/team-engine
/components/server @gitpod-io/team-experience
/components/server/src/ide-service.* @gitpod-io/team-experience
/components/service-waiter @gitpod-io/team-experience
/components/supervisor-api/*.proto @gitpod-io/team-experience
/components/supervisor @gitpod-io/team-experience
/components/usage @gitpod-io/team-experience
/components/usage-api @gitpod-io/team-experience
/components/workspacekit @gitpod-io/team-engine
/components/ws-daemon-api @gitpod-io/team-engine
/components/ws-daemon @gitpod-io/team-engine
/components/ws-manager-api @gitpod-io/team-engine
/components/ws-manager-bridge-api @gitpod-io/team-experience
/components/ws-manager-bridge @gitpod-io/team-experience
/components/ws-manager-mk2 @gitpod-io/team-engine
/components/ws-proxy @gitpod-io/team-engine
/components/node-labeler @gitpod-io/team-engine
/install/installer/pkg/components/node-labeler @gitpod-io/team-engine
/dev/gpctl @gitpod-io/team-engine
/dev/gpctl/api/ @gitpod-io/team-experience
/dev/loadgen @gitpod-io/team-engine

/.werft/observability @gitpod-io/engineering-delivery-operations-experience
# Preview is shared between all teams.
/dev/preview

/.werft/ide-* @gitpod-io/engineering-ide
/.werft/platform-* @gitpod-io/devx
/.werft/webapp-* @gitpod-io/engineering-webapp
/.werft/workspace-* @gitpod-io/engineering-workspace
/.werft/self-hosted-* @gitpod-io/engineering-delivery-operations-experience
/.werft/*installer-tests* @gitpod-io/engineering-delivery-operations-experience
/.werft/jobs/build/self-hosted-* @gitpod-io/engineering-delivery-operations-experience
# Operations is shared between all teams
/operations
/operations/observability/mixins/IDE @gitpod-io/team-experience
/operations/observability/mixins/meta @gitpod-io/team-experience
/operations/observability/mixins/workspace @gitpod-io/team-engine
# a single review should be enough
/operations/observability/mixins/cross-teams

/dev/preview/infrastructure/harvester @gitpod-io/devx
/dev/preview/workflow @gitpod-io/devx
.github/workflows/ide-*.yml @gitpod-io/team-experience
.github/workflows/jetbrains-*.yml @gitpod-io/team-experience
.github/workflows/code-nightly.yml @gitpod-io/team-experience
.github/workflows/workspace-*.yml @gitpod-io/team-engine

#
# Automation
Expand All @@ -120,3 +112,17 @@
/CHANGELOG.md
/components/ide/jetbrains/backend-plugin/gradle-latest.properties
/components/ide/jetbrains/gateway-plugin/gradle-latest.properties

#
# Add so that teams assert we're not breaking each other's integration tests
/test/pkg/agent @gitpod-io/team-engine
/test/pkg/integration @gitpod-io/team-experience @gitpod-io/team-engine
/test/pkg/report @gitpod-io/team-engine
/test/tests/workspace @gitpod-io/team-engine
/test/tests/smoke-test @gitpod-io/team-experience @gitpod-io/team-engine
/test/tests/ide @gitpod-io/team-experience
/test/tests/components/content-service @gitpod-io/team-engine
/test/tests/components/database @gitpod-io/team-experience
/test/tests/components/image-builder @gitpod-io/team-engine
/test/tests/components/server @gitpod-io/team-experience
/test/tests/components/ws-daemon @gitpod-io/team-engine
69 changes: 17 additions & 52 deletions .github/ISSUE_TEMPLATE/epic.yml
Original file line number Diff line number Diff line change
@@ -1,104 +1,69 @@
name: Epic
description: Create an epic
name: Epic (User Impacting)
description: A group of related issues which MUST be delivered together, as small in scope as possible and finite (e.g not a grouping). This template is not designed for investigations, spikes, or tech-debt.
title: "Epic: "
labels: ["type: epic"]
body:
- type: markdown
attributes:
value: Before raising an epic, please search for existing epics[[1](https://github.com/gitpod-io/gitpod/issues?q=is%3Aopen+is%3Aissue+label%3A%22type%3A+epic%22)][[2](https://github.com/gitpod-io/gitpod/issues?q=is%3Aopen+is%3Aissue+%22Epic%3A+%22)] to avoid creating duplicates. Read more about [Epics](https://www.notion.so/gitpod/Development-Process-2-0-6681854173ab4d2f92880f9f3d85cab5#321619f5a4bd4391be83c66feb2cdb49) (internal) in **Development Process**.
- type: textarea
id: summary
id: press-release
attributes:
label: Summary
description: TLDR description of the epic. Give a succinct and plain overview of what the epic is about.
placeholder: Give a succinct and plain overview of what the epic is about.
label: Press release (and FAQ's)
description: What would the future feature announcement look like from a customer/user point of view? Think about questions both Gitpodders, and users/customers might ask about this feature.
validations:
required: true
required: false
- type: textarea
id: context
attributes:
label: Context
description: What thinking led to this? Provide any necessary historical context required to understand this epic.
placeholder: Provide any necessary historical context required to understand this epic.
description: What thinking led to this issue? Provide any necessary historical context required to understand this epic.
validations:
required: true
required: false
- type: textarea
id: value
attributes:
label: Value
description: Why should we do it? How do we know this is a real problem and worth solving?
placeholder: Explicitly describe the value to Gitpod and/or our users. I.e. why answer should we undertake this epic?
description: Why should we do this work? How do we know this is a real problem and worth solving?
validations:
required: true
required: false
- type: textarea
id: acceptance-criteria
attributes:
label: Acceptance Criteria
description: What needs to be done before the work is considered complete? The checks which must be complete for this epic to be considered done.
placeholder: Defines clearly when the work is complete. Acts as a litmus test for "done" and avoids "done" being ambiguous. Useful for implicit assumptions, e.g. ensuring docs updates are not forgotten.
validations:
required: true
required: false
- type: textarea
id: measurement
attributes:
label: Measurement
description: How will we know whether we've been successful / solved the problem? How will you measure the success of the epic? Ideally this metric is one of our key product metrics.
placeholder: Important as it's how we track the outcomes (not just output) of the work and prove a change was worth it. Or it should be removed or iterated.
validations:
required: true
- type: textarea
id: growth-area
attributes:
label: Growth Area
description: Which aspect of Gitpod do we expect improvements in? Acquisition/Onboarding/Exploration/Expansion as defined in [Funnel Proposal](https://www.notion.so/gitpod/Funnel-Proposal-d7d0dba8aced4184b660092a74f8dd3a) (internal)
placeholder: Growth is key. This allows us to frame epics from a growth context. Which areas are we expecting this epic to help us with our growth initiatives?
description: What will we measure to know whether we've been successful?
validations:
required: false
- type: textarea
id: personas
attributes:
label: Persona(s)
description: Who will be impacted by this change? Which of our personas will be impacted by this change?
placeholder: Why? To bring persona's into our work. Persona's can help us prioritise our markets. Currently, we are not focusing on the education/training persona currently. We should avoid epics which target this persona.
validations:
required: false
- type: textarea
id: hypothesis
attributes:
label: Hypothesis
description: If we do X, we expect Y
placeholder: Can be useful if the work is explicitly experimental.
description: Optionally specifiy which user will be impacted by this change?
placeholder: Developer/Installer/Project Configurer/Customer/Security Reviewer - optionally the ecosystem persona e.g. Python Developers
validations:
required: false
- type: textarea
id: in-scope
attributes:
label: In scope
description: Explicitly define the items in scope.
placeholder: Optional, sometimes is useful for explicitness.
description: Optionally define items explicitly in scope.
validations:
required: false
- type: textarea
id: out-of-scope
attributes:
label: Out of scope
description: Explicitly define the items out of scope.
placeholder: Optional, sometimes is useful for explicitness.
description: Optionally define items explicitly out of scope, to avoid side-quests and rabbitholes.
validations:
required: false
- type: textarea
id: complexities
attributes:
label: Complexities
description: Discuss any known complexities
placeholder: Optional, sometimes is useful for explicitness.
validations:
required: false
- type: textarea
id: press-release
attributes:
label: Press release
description: Create excitement about the idea
placeholder: Useful if you want to spend the extra time to get stakeholders, the team, or customers excited.
description: Optionally make explicit any complexities, e.g. dependencies on other teams, technical challenges, unknowns.
validations:
required: false
4 changes: 4 additions & 0 deletions .github/actions/delete-preview/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:at-user-getauthenticated-dashboard-gha.20954

COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
Loading

0 comments on commit a30c141

Please sign in to comment.