Skip to content

Commit 522dfd0

Browse files
Merge branch 'gitpod-io:main' into hide-editor-warning
2 parents 611cfea + 75a8fb3 commit 522dfd0

File tree

723 files changed

+17565
-24609
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

723 files changed

+17565
-24609
lines changed

.github/CODEOWNERS

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
/components/dashboard @gitpod-io/engineering-webapp @gtsiolis
1212
/components/docker-up @gitpod-io/engineering-workspace
1313
/components/ee/agent-smith @gitpod-io/engineering-workspace
14-
/components/ee/payment-endpoint @gitpod-io/engineering-webapp
1514
/components/gitpod-cli @gitpod-io/engineering-ide
1615
/components/gitpod-db @gitpod-io/engineering-webapp
1716
/components/gitpod-messagebus @gitpod-io/engineering-webapp
@@ -129,3 +128,18 @@
129128
/CHANGELOG.md
130129
/components/ide/jetbrains/backend-plugin/gradle-latest.properties
131130
/components/ide/jetbrains/gateway-plugin/gradle-latest.properties
131+
132+
#
133+
# Add so that teams assert we're not breaking each other's integration tests
134+
/test/pkg/agent @gitpod-io/engineering-workspace
135+
/test/pkg/integration @gitpod-io/engineering-ide @gitpod-io/engineering-workspace
136+
/test/pkg/report @gitpod-io/engineering-workspace
137+
/test/tests/workspace @gitpod-io/engineering-workspace
138+
/test/tests/smoke-test @gitpod-io/engineering-ide @gitpod-io/engineering-workspace
139+
/test/tests/ide @gitpod-io/engineering-ide
140+
/test/tests/components/content-service @gitpod-io/engineering-workspace
141+
/test/tests/components/database @gitpod-io/engineering-webapp
142+
/test/tests/components/image-builder @gitpod-io/engineering-workspace
143+
/test/tests/components/server @gitpod-io/engineering-webapp
144+
/test/tests/components/ws-daemon @gitpod-io/engineering-workspace
145+
/test/tests/components/ws-manager @gitpod-io/engineering-workspace

.github/actions/deploy-gitpod/metadata.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ inputs:
1717
description: "Use WS Manager MK2"
1818
required: false
1919
with_dedicated_emu:
20-
description: "Dedicated Auth"
20+
description: "Dedicated Config"
2121
required: false
2222
with_ee_licencse:
2323
description: "Use EE license"

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ gitpod:summary
4242

4343
- [ ] analytics=segment
4444
- [ ] with-dedicated-emulation
45-
- [ ] with-ws-manager-mk2
45+
- [x] with-ws-manager-mk2
4646
- [ ] workspace-feature-flags
4747
Add desired feature flags to the end of the line above, space separated
4848
</details>

.github/workflows/build.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ jobs:
2323
is_main_branch: ${{ (github.head_ref || github.ref) == 'refs/heads/main' }}
2424
version: ${{ steps.branches.outputs.sanitized-branch-name }}-gha.${{github.run_number}}
2525
preview_enable: ${{ contains( steps.pr-details.outputs.pr_body, '[x] /werft with-preview') }}
26-
preview_infra_provider: ${{ contains( steps.pr-details.outputs.pr_body, '[X] /werft with-gce-vm') && 'gce' || 'harvester' }}
26+
preview_infra_provider: ${{ contains( steps.pr-details.outputs.pr_body, '[x] /werft with-gce-vm') && 'gce' || 'harvester' }}
2727
build_no_cache: ${{ contains( steps.pr-details.outputs.pr_body, '[x] leeway-no-cache') }}
2828
build_no_test: ${{ contains( steps.pr-details.outputs.pr_body, '[x] /werft no-test') }}
29-
with_large_vm: ${{ contains( steps.pr-details.outputs.pr_body, '[X] /werft with-large-vm') }}
30-
publish_to_npm: ${{ contains( steps.pr-details.outputs.pr_body, '[X] /werft publish-to-npm') }}
31-
publish_to_jbmp: ${{ contains( steps.pr-details.outputs.pr_body, '[X] /werft publish-to-jb-marketplace') }}
32-
with_ws_manager_mk2: ${{ contains( steps.pr-details.outputs.pr_body, '[X] with-ws-manager-mk2') }}
33-
with_dedicated_emulation: ${{ contains( steps.pr-details.outputs.pr_body, '[X] with-dedicated-emulation') }}
29+
with_large_vm: ${{ contains( steps.pr-details.outputs.pr_body, '[x] /werft with-large-vm') }}
30+
publish_to_npm: ${{ contains( steps.pr-details.outputs.pr_body, '[x] /werft publish-to-npm') }}
31+
publish_to_jbmp: ${{ contains( steps.pr-details.outputs.pr_body, '[x] /werft publish-to-jb-marketplace') }}
32+
with_ws_manager_mk2: ${{ contains( steps.pr-details.outputs.pr_body, '[x] with-ws-manager-mk2') }}
33+
with_dedicated_emulation: ${{ contains( steps.pr-details.outputs.pr_body, '[x] with-dedicated-emulation') }}
3434
analytics: ${{ steps.output.outputs.analytics }}
3535
workspace_feature_flags: ${{ steps.output.outputs.workspace_feature_flags }}
3636
pr_no_diff_skip: ${{ steps.pr-diff.outputs.pr_no_diff_skip }}
@@ -158,7 +158,7 @@ jobs:
158158
container:
159159
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-prebuild-jam-gha.5832
160160
volumes:
161-
- /var/tmp:/var/tmp
161+
- /var/tmp/${{ needs.configuration.outputs.leeway_cache_bucket }}:/var/tmp
162162
- /tmp:/tmp
163163
env:
164164
DB_HOST: "mysql"
@@ -343,7 +343,7 @@ jobs:
343343
sa_key: ${{ secrets.GCP_CREDENTIALS }}
344344
previewctl_hash: ${{ needs.build-previewctl.outputs.previewctl_hash }}
345345
wsmanager_mk2: ${{needs.configuration.outputs.with_ws_manager_mk2}}
346-
with_dedicated_emulation: ${{needs.configuration.outputs.with_dedicated_emulation}}
346+
with_dedicated_emu: ${{needs.configuration.outputs.with_dedicated_emulation}}
347347
analytics: ${{needs.configuration.outputs.analytics}}
348348
workspace_feature_flags: ${{needs.configuration.outputs.workspace_feature_flags}}
349349
- uses: actions/github-script@v6
@@ -414,6 +414,7 @@ jobs:
414414
TEST_BUILD_ID: ${{ github.run_id }}
415415
TEST_BUILD_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
416416
TEST_BUILD_REF: ${{ github.head_ref || github.ref }}
417+
WS_MANAGER_MK2: ${{ needs.configuration.outputs.with_ws_manager_mk2 != 'false' }}
417418
run: |
418419
set -euo pipefail
419420

.github/workflows/code-nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
- run: |
3232
gcloud auth configure-docker --quiet
3333
export LEEWAY_WORKSPACE_ROOT=$(pwd)
34-
codeHeadCommit=$(curl -H 'Accept: application/vnd.github.VERSION.sha' https://api.github.com/repos/gitpod-io/openvscode-server/commits/gp-code/release/1.77)
34+
codeHeadCommit=$(curl -H 'Accept: application/vnd.github.VERSION.sha' https://api.github.com/repos/gitpod-io/openvscode-server/commits/gp-code/main)
3535
codeVersion=$(curl https://raw.githubusercontent.com/gitpod-io/openvscode-server/$codeHeadCommit/package.json | jq .version)
3636
cd components/ide/code
3737
leeway build -Dversion=nightly -DimageRepoBase=eu.gcr.io/gitpod-core-dev/build -DcodeCommit=$codeHeadCommit -DcodeVersion=$codeVersion -DcodeQuality=insider .:docker

.github/workflows/ide-integration-tests.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ on:
88
version:
99
required: true
1010
description: "The version of Gitpod to install"
11+
wsman_mk2:
12+
required: false
13+
type: boolean
14+
default: true
15+
description: "Run tests against ws-manager-mk2"
1116
skip_deploy:
1217
required: false
1318
description: "Skip deploy preview environment (debug only)"
@@ -73,7 +78,7 @@ jobs:
7378
with:
7479
name: ${{ needs.configuration.outputs.name }}
7580
sa_key: ${{ secrets.GCP_CREDENTIALS }}
76-
infrastructure_provider: harvester
81+
infrastructure_provider: gce
7782
large_vm: true
7883
- name: Deploy Gitpod to the preview environment
7984
id: deploy-gitpod
@@ -83,6 +88,7 @@ jobs:
8388
name: ${{ needs.configuration.outputs.name }}
8489
sa_key: ${{ secrets.GCP_CREDENTIALS }}
8590
version: ${{ needs.configuration.outputs.version}}
91+
wsmanager_mk2: ${{ github.event.inputs.wsman_mk2 != 'false' }}
8692

8793
check:
8894
name: Check for regressions
@@ -103,6 +109,9 @@ jobs:
103109
USER_TOKEN: ${{ secrets.IDE_INTEGRATION_TEST_USER_TOKEN }}
104110
PREVIEW_ENV_DEV_SA_KEY: ${{ secrets.GCP_CREDENTIALS }}
105111
PREVIEW_NAME: ${{ needs.configuration.outputs.name }}
112+
TEST_BUILD_ID: ${{ github.run_id }}
113+
TEST_BUILD_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
114+
TEST_BUILD_REF: ${{ github.head_ref || github.ref }}
106115
run: |
107116
set -euo pipefail
108117
@@ -132,6 +141,8 @@ jobs:
132141
VSCODE_TESTS="$IDE_TESTS_DIR/vscode"
133142
SSH_TESTS="$IDE_TESTS_DIR/ssh"
134143
144+
export WS_MANAGER_MK2="${{ github.event.inputs.wsman_mk2 != 'false' }}"
145+
135146
go install github.com/jstemmer/go-junit-report/v2@latest
136147
137148
FAILURE_COUNT=0

.github/workflows/jetbrains-update-plugin-platform-template.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ jobs:
106106
- [x] /werft with-gce-vm
107107
- [x] with-integration-tests=jetbrains
108108
- [x] latest-ide-version=${{ contains(inputs.pluginId, 'latest') }}
109+
- [x] with-ws-manager-mk2
109110
110111
_This PR was created automatically with GitHub Actions using [this](https://github.com/gitpod-io/gitpod/blob/main/.github/workflows/jetbrains-update-plugin-platform-template.yml) template._
111112
commit-message: "Update Platform Version of ${{ inputs.pluginName }} to ${{ steps.latest-version.outputs.result }}"

.github/workflows/jetbrains-updates.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ jobs:
6767
- [x] /werft with-gce-vm
6868
- [x] with-integration-tests=jetbrains
6969
- [x] latest-ide-version=false
70+
- [x] with-ws-manager-mk2
7071
7172
_This PR was created automatically with GitHub Actions using [this](https://github.com/gitpod-io/gitpod/blob/main/.github/workflows/jetbrains-updates.yml) GHA_
7273
commit-message: "[JetBrains] Update IDE images to new build version"

.github/workflows/preview-env-check-regressions.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,12 @@ on:
1515
infrastructure_provider:
1616
description: "The infrastructure provider to use. Valid options: harvester, gcp"
1717
required: false
18-
default: harvester
18+
default: gcp
19+
wsman_mk2:
20+
required: false
21+
type: boolean
22+
default: true
23+
description: "Run tests against ws-manager-mk2"
1924

2025
jobs:
2126
configuration:
@@ -71,6 +76,7 @@ jobs:
7176
name: ${{ needs.configuration.outputs.name }}
7277
sa_key: ${{ secrets.GCP_CREDENTIALS }}
7378
version: ${{ needs.configuration.outputs.version}}
79+
wsmanager_mk2: ${{ github.event.inputs.wsman_mk2 != 'false' }}
7480

7581
check:
7682
name: Check for regressions
@@ -118,6 +124,8 @@ jobs:
118124
119125
TESTS_DIR="$GITHUB_WORKSPACE/test/tests/smoke-test"
120126
127+
export WS_MANAGER_MK2="${{ github.event.inputs.wsman_mk2 != 'false' }}"
128+
121129
go install github.com/jstemmer/go-junit-report/v2@latest
122130
123131
echo "running integration for smoke test"
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
name: Update container images digest
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
# At the start of every day
7+
- cron: "0 0 * * *"
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-20.04
12+
permissions:
13+
contents: write
14+
pull-requests: write
15+
16+
steps:
17+
- uses: actions/checkout@v3
18+
19+
- name: Set git identity
20+
run: |
21+
git config --global user.name $GITHUB_USER
22+
git config --global user.email $GITHUB_EMAIL
23+
env:
24+
GITHUB_USER: roboquat
25+
GITHUB_EMAIL: [email protected]
26+
27+
- uses: imjasonh/[email protected]
28+
29+
- name: Check if an update is available
30+
shell: bash
31+
run: |
32+
while IFS= read -r -d '' file; do
33+
if [[ "$file" == *testdata* ]]; then
34+
echo "Skipping testdata ${file}"
35+
continue
36+
fi
37+
images=$(grep -i -E '[a-z0-9]+([._-][a-z0-9]+)*(/[a-z0-9]+([._-][a-z0-9]+)*)*@sha256:[a-z0-9]+' "$file" | cut -d @ -f1 | rev | cut -d ' ' -f1 | cut -d '"' -f1 | rev | sed -e "s/^docker:\/\///" | tr '\n' ',' || true)
38+
digests=$(grep -i -E '[a-z0-9]+([._-][a-z0-9]+)*(/[a-z0-9]+([._-][a-z0-9]+)*)*@sha256:[a-z0-9]+' "$file" | cut -d @ -f2 | cut -d ' ' -f1 | cut -d '"' -f1 | tr '\n' ',' || true)
39+
IFS=',' read -r -a images2 <<< "$images"
40+
IFS=',' read -r -a digests2 <<< "$digests"
41+
42+
if [ -n "$images" ]; then
43+
for i in "${!images2[@]}"; do
44+
if [[ ${images2[i]} != *":"* ]]; then
45+
echo "Image ${images2[i]} in file $file does not have a tag, ignoring..."
46+
continue
47+
fi
48+
if [[ ${images2[i]} == *\.local:* ]]; then
49+
echo "Skipping local registry image ${images2[i]}"
50+
continue
51+
fi
52+
echo "Processing ${images2[i]} in file $file"
53+
updated_digest=$(crane digest "${images2[i]}")
54+
if [ "$updated_digest" != "${digests2[i]}" ] && [ -n "$updated_digest" ]; then
55+
echo "Digest ${digests2[i]} for image ${images2[i]} is different, new digest is $updated_digest, updating..."
56+
sed -i -e "s/${digests2[i]}/$updated_digest/g" "$file"
57+
fi
58+
done
59+
fi
60+
done < <(find "$(pwd)" -type f \( -name "*.yaml" -o -name "*.yml" -o -name "Dockerfile*" -o -name "leeway.Dockerfile" \) -print0)
61+
62+
- name: Check workspace
63+
id: create_pr
64+
shell: bash
65+
run: |
66+
if [[ $(git diff --stat) != '' ]]; then
67+
echo "create_pr=true" >> $GITHUB_OUTPUT
68+
fi
69+
70+
- name: Create Pull Request
71+
uses: peter-evans/create-pull-request@923ad837f191474af6b1721408744feb989a4c27 # v4
72+
if: ${{ steps.create_pr.outputs.create_pr == 'true' }}
73+
with:
74+
token: ${{ secrets.ROBOQUAT_AUTOMATIC_CHANGELOG }}
75+
commit-message: update index
76+
title: "Update images digests"
77+
body: |
78+
Update images digests using the latest version available for image/s
79+
80+
```release-note
81+
NONE
82+
```
83+
labels: automated pr, kind/cleanup, release-note-none
84+
branch: update-digests
85+
delete-branch: true

0 commit comments

Comments
 (0)