Skip to content
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

Gitea support #8131

Draft
wants to merge 23 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Prev Previous commit
Merge remote-tracking branch 'upstream/main' into gitea
  • Loading branch information
anbraten committed Jan 27, 2024
commit 27da032a117d2c4937cf13e52d50e8292fd6e356
The diff you're trying to view is too large. We only load the first 3000 changed files.
13 changes: 13 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# installer test output
install/installer/cmd/testdata/render/**/*.golden linguist-generated=true

# gRPC and Protobuf
components/**/*.pb.go linguist-generated=true
components/**/*_grpc.pb.go linguist-generated=true
components/**/*_pb.js linguist-generated=true
components/**/*_pb.ts linguist-generated=true
components/**/*_pb.d.ts linguist-generated=true
components/**/*_connectweb.ts linguist-generated=true
components/**/*.pb.ts linguist-generated=true

**/go.sum linguist-generated=true
198 changes: 115 additions & 83 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,91 +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-workspace
/components/common-go @gitpod-io/engineering-workspace @gitpod-io/engineering-webapp
/components/content-service-api @csweichel @geropl
/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/kedge @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-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-self-hosted
/install @gitpod-io/engineering-self-hosted
/install/installer @gitpod-io/engineering-self-hosted
/install/installer/pkg/components/agent-smith @gitpod-io/engineering-workspace
/install/installer/pkg/components/blobserve @gitpod-io/engineering-workspace
/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-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/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 @gitpod-io/engineering-webapp
/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 @csweichel @akosyakov
/components/supervisor @gitpod-io/engineering-ide
/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 @csweichel @geropl
/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/platform
/operations/observability/mixins @gitpod-io/platform
/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/platform
/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/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/platform
# Preview is shared between all teams.
/dev/preview

/.werft/ide-* @gitpod-io/engineering-ide
/.werft/platform-* @gitpod-io/platform
/.werft/webapp-* @gitpod-io/engineering-webapp
/.werft/workspace-* @gitpod-io/engineering-workspace
/.werft/self-hosted-* @gitpod-io/engineering-self-hosted
# 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

.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
@@ -94,3 +110,19 @@
# that user as an owner in case we need to manually approve changes
#
/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"]
25 changes: 25 additions & 0 deletions .github/actions/delete-preview/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env bash

set -euo pipefail

export HOME=/home/gitpod
export PREVIEW_ENV_DEV_SA_KEY_PATH="$HOME/.config/gcloud/preview-environment-dev-sa.json"
# shellcheck disable=SC2155
export LEEWAY_WORKSPACE_ROOT="$(pwd)"
export PATH="$PATH:$HOME/bin"

mkdir $HOME/bin

echo "${INPUT_SA_KEY}" > "${PREVIEW_ENV_DEV_SA_KEY_PATH}"
gcloud auth activate-service-account --key-file "${PREVIEW_ENV_DEV_SA_KEY_PATH}"

leeway run dev/preview/previewctl:download

previewctl get-credentials --gcp-service-account "${PREVIEW_ENV_DEV_SA_KEY_PATH}"

export TF_INPUT=0
export TF_IN_AUTOMATION=true
TF_VAR_preview_name="$(previewctl get-name --branch "${INPUT_NAME}")"
export TF_VAR_preview_name

leeway run dev/preview:delete-preview
15 changes: 15 additions & 0 deletions .github/actions/delete-preview/metadata.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: "Delete preview environment"
description: "Deletes a preview environment"
inputs:
sa_key:
description: "The service account key to use when authenticating with GCP"
required: true
name:
description: "The name of the preview environment"
required: true
previewctl_hash:
description: "The Leeway hash of the dev/preview/previewctl:docker package to be used when downloading previewclt"
required: false
runs:
using: "docker"
image: "Dockerfile"
4 changes: 4 additions & 0 deletions .github/actions/deploy-gitpod/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
You are viewing a condensed version of this merge commit. You can view the full changes here.