Skip to content

Commit 72833a2

Browse files
Merge branch 'main' into ft/add-xterm-ide
2 parents dc5ef83 + 1fdf43a commit 72833a2

File tree

191 files changed

+4010
-1586
lines changed

Some content is hidden

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

191 files changed

+4010
-1586
lines changed

.github/actions/delete-preview/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-jam-dev-image.2
1+
FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-prebuild-jam-gha.5832
22

33
USER root
44
ENV OCI_TOOL_VERSION="0.2.0"

.github/actions/deploy-gitpod/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-jam-dev-image.2
1+
FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-prebuild-jam-gha.5832
22

33
USER root
44
ENV OCI_TOOL_VERSION="0.2.0"

.github/actions/deploy-monitoring-satellite/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-jam-dev-image.2
1+
FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-prebuild-jam-gha.5832
22

33
USER root
44
ENV OCI_TOOL_VERSION="0.2.0"

.github/actions/preview-create/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-jam-dev-image.2
1+
FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-prebuild-jam-gha.5832
22

33
USER root
44
ENV OCI_TOOL_VERSION="0.2.0"

.github/workflows/build.yml

Lines changed: 48 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ jobs:
3636
pr_no_diff_skip: ${{ steps.pr-diff.outputs.pr_no_diff_skip }}
3737
with_werft: ${{ steps.output.outputs.with-werft }}
3838
with_integration_tests: ${{ steps.output.outputs.with_integration_tests }}
39+
latest_ide_version: ${{ contains( steps.pr-details.outputs.pr_body, '[x] latest-ide-version=true') }}
3940
steps:
4041
- name: "Determine Branch"
4142
id: branches
@@ -81,7 +82,7 @@ jobs:
8182
cancel-in-progress: ${{ needs.configuration.outputs.is_main_branch == 'false' }}
8283
runs-on: [ self-hosted ]
8384
container:
84-
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-jam-dev-image.2
85+
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-prebuild-jam-gha.5832
8586
volumes:
8687
- /var/tmp:/var/tmp
8788
- /tmp:/tmp
@@ -149,7 +150,7 @@ jobs:
149150
ports:
150151
- 23306:23306
151152
container:
152-
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-jam-dev-image.2
153+
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-prebuild-jam-gha.5832
153154
volumes:
154155
- /var/tmp:/var/tmp
155156
- /tmp:/tmp
@@ -219,13 +220,26 @@ jobs:
219220
shell: bash
220221
working-directory: /workspace/gitpod
221222
run: |
223+
RESULT=0
224+
set -x
222225
leeway build dev:all \
223226
--docker-build-options network=host \
224227
--cache remote \
225228
-Dversion=$VERSION \
226229
-DlocalAppVersion=$VERSION \
227-
-DimageRepoBase=eu.gcr.io/gitpod-core-dev/dev
230+
-DimageRepoBase=eu.gcr.io/gitpod-core-dev/dev \
231+
--report large-report.html || RESULT=$?
232+
233+
set +x
228234
235+
# capture logs for the dev/image build, they're too big for GITHUB_STEP_SUMMARY
236+
pup -p -f large-report.html '[id="dev/image:docker"] + details + details' > remove.txt
237+
238+
# remove logs for the dev/image build output from the report file
239+
grep -vxFf remove.txt large-report.html > report.html
240+
241+
cat report.html >> $GITHUB_STEP_SUMMARY
242+
exit $RESULT
229243
- name: Leeway Build
230244
id: leeway
231245
shell: bash
@@ -278,6 +292,32 @@ jobs:
278292
path: |
279293
test-coverage-report
280294
295+
install-app:
296+
runs-on: ubuntu-latest
297+
needs: [ configuration, build-gitpod ]
298+
if: ${{ needs.configuration.outputs.is_main_branch == 'true' }}
299+
steps:
300+
- uses: gitpod-io/[email protected]
301+
id: auth
302+
with:
303+
private-key: ${{ secrets.ACTIONS_APP_PKEY }}
304+
app-id: 308947
305+
installation-id: 35574470
306+
- name: trigger installation
307+
uses: actions/github-script@v6
308+
with:
309+
github-token: ${{ steps.auth.outputs.token }}
310+
script: |
311+
const result = await github.rest.actions.createWorkflowDispatch({
312+
owner: context.repo.owner,
313+
repo: 'gitpod-dedicated',
314+
workflow_id: 'install-app.yaml',
315+
ref: 'main',
316+
inputs: {
317+
"version": '${{ needs.configuration.outputs.version }}'
318+
}
319+
})
320+
281321
install:
282322
name: "Install Gitpod"
283323
needs: [ configuration, build-previewctl, build-gitpod, infrastructure ]
@@ -321,7 +361,7 @@ jobs:
321361
needs: [ configuration, build-previewctl, build-gitpod, infrastructure, install ]
322362
runs-on: [ self-hosted ]
323363
container:
324-
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-jam-dev-image.2
364+
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-prebuild-jam-gha.5832
325365
volumes:
326366
- /var/tmp:/var/tmp
327367
- /tmp:/tmp
@@ -340,6 +380,10 @@ jobs:
340380
PREVIEW_ENV_DEV_SA_KEY: ${{ secrets.GCP_CREDENTIALS }}
341381
PREVIEW_NAME: ${{ github.head_ref || github.ref_name }}
342382
TEST_SUITS: ${{ needs.configuration.outputs.with_integration_tests }}
383+
TEST_USE_LATEST_VERSION: ${{ needs.configuration.outputs.latest_ide_version }}
384+
TEST_BUILD_ID: ${{ github.run_id }}
385+
TEST_BUILD_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
386+
TEST_BUILD_REF: ${{ github.head_ref || github.ref }}
343387
run: |
344388
set -euo pipefail
345389
@@ -358,4 +402,3 @@ jobs:
358402
previewctl install-context --branch "${PREVIEW_NAME}" --log-level debug --timeout 1m --gcp-service-account "${PREVIEW_ENV_DEV_SA_KEY_PATH}"
359403
360404
$GITHUB_WORKSPACE/test/run.sh -s ${TEST_SUITS}
361-

.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/main)
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)
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: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
name: Configuration
2222
runs-on: [self-hosted]
2323
container:
24-
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-jam-dev-image.2
24+
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-prebuild-jam-gha.5832
2525
outputs:
2626
name: ${{ steps.configuration.outputs.name }}
2727
version: ${{ steps.configuration.outputs.version }}
@@ -89,7 +89,7 @@ jobs:
8989
needs: [configuration, infrastructure]
9090
runs-on: [self-hosted]
9191
container:
92-
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-jam-dev-image.2
92+
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:kylos101-prebuild-jam-gha.5832
9393
volumes:
9494
- /var/tmp:/var/tmp
9595
- /tmp:/tmp

.github/workflows/jetbrains-integration-test.yml

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: JetBrains Test
2+
run-name: Test ${{ inputs.jb_product }} (latest=${{ inputs.use_latest }}, build_id=${{ inputs.build_id }})
23
on:
34
workflow_dispatch:
45
inputs:
@@ -14,10 +15,32 @@ on:
1415
type: string
1516
description: IDE Endpoint
1617
required: true
18+
jb_product:
19+
type: string
20+
description: JB product
21+
required: true
22+
use_latest:
23+
type: string
24+
description: Use latest IDE version
25+
required: true
26+
build_id:
27+
type: string
28+
description: Build ID
29+
required: true
30+
build_url:
31+
type: string
32+
description: Build URL
33+
required: true
1734
jobs:
1835
jetbrains-smoke-test-linux:
1936
runs-on: ubuntu-latest
2037
steps:
38+
- name: Generate Summary
39+
if: always()
40+
run: |
41+
echo "- Build URL: ${{ inputs.build_url }}" >> $GITHUB_STEP_SUMMARY
42+
echo "- JB Product: ${{ inputs.jb_product }}" >> $GITHUB_STEP_SUMMARY
43+
echo "- Latest Version: ${{ inputs.use_latest }}" >> $GITHUB_STEP_SUMMARY
2144
- uses: actions/checkout@v2
2245
- uses: actions/setup-go@v2
2346
with:
@@ -45,8 +68,14 @@ jobs:
4568
sudo update-rc.d xvfb defaults
4669
sudo service xvfb start
4770
- name: Get leeway cache version
71+
env:
72+
TEST_USE_LATEST: ${{ inputs.use_latest }}
4873
run: |
49-
leeway collect | grep components/ide/jetbrains/gateway-plugin:publish-latest > gateway.version
74+
if [ $TEST_USE_LATEST = "false" ]; then
75+
leeway collect | grep components/ide/jetbrains/gateway-plugin:publish-stable > gateway.version
76+
else
77+
leeway collect | grep components/ide/jetbrains/gateway-plugin:publish-latest > gateway.version
78+
fi
5079
- name: Cache leeway build
5180
id: cache-npm
5281
uses: actions/cache@v3
@@ -59,18 +88,25 @@ jobs:
5988
env:
6089
DISPLAY: ':10'
6190
LEEWAY_MAX_PROVENANCE_BUNDLE_SIZE: '8388608'
91+
TEST_USE_LATEST: ${{ inputs.use_latest }}
6292
run: |
6393
export GATEWAY_LINK=$(jq -r '.inputs.secret_gateway_link' $GITHUB_EVENT_PATH)
6494
export GITPOD_TEST_ACCESSTOKEN=$(jq -r '.inputs.secret_access_token' $GITHUB_EVENT_PATH)
6595
export WS_ENDPOINT=$(jq -r '.inputs.secret_endpoint' $GITHUB_EVENT_PATH)
6696
6797
export LEEWAY_WORKSPACE_ROOT=$(pwd)
6898
69-
sudo mkdir -p /workspace/.gradle-latest
70-
sudo chown -R $(whoami) /workspace
71-
72-
mkdir -p $HOME/.cache/pluginVerifier-latest
73-
leeway run dev/jetbrains-test:test -Dversion=integration-test -DpublishToJBMarketplace=false
99+
if [ $TEST_USE_LATEST = "false" ]; then
100+
sudo mkdir -p /workspace/.gradle-stable
101+
sudo chown -R $(whoami) /workspace
102+
mkdir -p $HOME/.cache/pluginVerifier-stable
103+
leeway run dev/jetbrains-test:test-stable -Dversion=integration-test -DpublishToJBMarketplace=false
104+
else
105+
sudo mkdir -p /workspace/.gradle-latest
106+
sudo chown -R $(whoami) /workspace
107+
mkdir -p $HOME/.cache/pluginVerifier-latest
108+
leeway run dev/jetbrains-test:test-latest -Dversion=integration-test -DpublishToJBMarketplace=false
109+
fi
74110
- name: Move video
75111
if: always()
76112
run: |

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

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,29 @@ jobs:
4444
run: |
4545
URL="https://data.services.jetbrains.com/products/releases?code=${{ inputs.productCode }}&type=${{ inputs.productType }}&platform=linux"
4646
echo "URL: $URL"
47-
BUILD=$(curl -s "$URL" |jq -r ".${{ inputs.productCode }}[0].build")
47+
RELEASE=$(curl -s "$URL" |jq ".${{ inputs.productCode }}[0]")
48+
MAJOR_VERSION=$(echo $RELEASE |jq -r ".majorVersion")
49+
echo "MAJOR_VERSION: $MAJOR_VERSION"
50+
51+
BUILD=$(echo $RELEASE |jq -r ".build")
4852
echo "BUILD: $BUILD"
4953
MAJOR=$(cut -d. -f1 <<< $BUILD)
5054
echo "MAJOR: $MAJOR"
5155
MINOR=$(cut -d. -f2 <<< $BUILD)
5256
echo "MINOR: $MINOR"
5357
LATEST_VERSION="$MAJOR.$MINOR-EAP-CANDIDATE-SNAPSHOT"
5458
echo "Latest platform version: $LATEST_VERSION"
59+
60+
echo "::set-output name=sinceBuild::$MAJOR.$MINOR"
61+
echo "::set-output name=untilBuild::$MAJOR.*"
62+
echo "::set-output name=majorVersion::$MAJOR_VERSION"
5563
echo "::set-output name=result::$LATEST_VERSION"
5664
- name: Update ${{ inputs.gradlePropertiesPath }}
5765
if: ${{ steps.latest-version.outputs.result != steps.current-version.outputs.result }}
5866
run: |
59-
PLUGIN_SINCE_BUILD=$(echo "${{ steps.latest-version.outputs.result }}" | sed 's/-EAP-CANDIDATE-SNAPSHOT//' | sed 's/-CUSTOM-SNAPSHOT//')
60-
sed -i "s/pluginSinceBuild=.*/pluginSinceBuild=$PLUGIN_SINCE_BUILD/" ${{ inputs.gradlePropertiesPath }}
67+
sed -i "s/pluginSinceBuild=.*/pluginSinceBuild=${{ steps.latest-version.outputs.sinceBuild }}/" ${{ inputs.gradlePropertiesPath }}
68+
sed -i "s/pluginUntilBuild=.*/pluginUntilBuild=${{ steps.latest-version.outputs.untilBuild }}/" ${{ inputs.gradlePropertiesPath }}
69+
sed -i "s/pluginVerifierIdeVersions=.*/pluginVerifierIdeVersions=${{ steps.latest-version.outputs.majorVersion }}/" ${{ inputs.gradlePropertiesPath }}
6170
sed -i 's/platformVersion=${{ steps.current-version.outputs.result }}/platformVersion=${{ steps.latest-version.outputs.result }}/' ${{ inputs.gradlePropertiesPath }}
6271
git diff
6372
- name: Create Pull Request for Gateway Plugin
@@ -71,24 +80,32 @@ jobs:
7180
This PR updates the Platform Version from ${{ inputs.pluginName }} to the latest version.
7281
7382
## How to test
83+
84+
Merge if tests are green, if something breaks then add tests for regressions.
85+
86+
<details>
87+
<summary>if you want to test manually for some reasons</summary>
88+
7489
1. Ensure you have the Gateway installed from [JetBrains Toolbox App](https://www.jetbrains.com/toolbox-app/) and have it up-to-date.
7590
- You should use Gateway version corresponding to plugin qualifier, i.e. for stable plugin test with released, for latest test with EAP.
7691
- It could be that a new Gateway is not published for the given SDK yet then wait for it to be published. You can check the build version in the About dialog.
7792
2. Download the plugin build related to this branch in [Dev Versions](https://plugins.jetbrains.com/plugin/18438-gitpod-gateway/versions/dev), and [install it on the Gateway](https://www.jetbrains.com/help/idea/managing-plugins.html#install_plugin_from_disk).
7893
- You can also uninstall current Gitpod plugin, configure dev channel using https://plugins.jetbrains.com/plugins/list?channel=dev&pluginId=18438-gitpod-gateway and restart GW to test that the proper version is detected and installed.
7994
3. Create a new workspace from the Gateway (it's ok to use the pre-selected IDE and Repository) and confirm if JetBrains Client can connect to it.
95+
</details>
8096
8197
## Release Notes
8298
```release-note
8399
NONE
84100
```
85101
86102
## Werft options:
87-
- [ ] /werft with-preview
88-
- [ ] /werft with-large-vm
89-
- [x] /werft with-integration-tests=jetbrains
90103
- [x] /werft publish-to-jb-marketplace
91-
- [x] /werft with-werft
104+
- [x] /werft with-preview
105+
- [x] /werft with-large-vm
106+
- [x] /werft with-gce-vm
107+
- [x] with-integration-tests=jetbrains
108+
- [x] latest-ide-version=${{ contains(inputs.pluginId, 'latest') }}
92109
93110
_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._
94111
commit-message: "Update Platform Version of ${{ inputs.pluginName }} to ${{ steps.latest-version.outputs.result }}"
@@ -114,11 +131,17 @@ jobs:
114131
This PR updates the Platform Version from ${{ inputs.pluginName }} to the latest version.
115132
116133
## How to test
134+
135+
Merge if tests are green, if something breaks then add tests for regressions.
136+
137+
<details>
138+
<summary>if you want to test manually for some reasons</summary>
117139
1. Open the preview environment generated for this branch
118140
2. Choose the _Latest Release (Unstable)_ version of IntelliJ IDEA as your preferred editor
119141
3. Start a workspace using this repository: https://github.com/gitpod-samples/spring-petclinic
120142
4. Verify that the workspace starts successfully
121143
5. Verify that the IDE opens successfully
144+
</details>
122145
123146
## Release Notes
124147
```release-note
@@ -128,8 +151,9 @@ jobs:
128151
## Werft options:
129152
- [x] /werft with-preview
130153
- [x] /werft with-large-vm
131-
- [x] /werft with-integration-tests=jetbrains
132-
- [x] /werft with-werft
154+
- [x] /werft with-gce-vm
155+
- [x] with-integration-tests=jetbrains
156+
- [x] latest-ide-version=${{ contains(inputs.pluginId, 'latest') }}
133157
134158
_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._
135159
commit-message: "Update Platform Version of ${{ inputs.pluginName }} to ${{ steps.latest-version.outputs.result }}"

.github/workflows/jetbrains-updates.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,25 @@ jobs:
3232
This PR updates the JetBrains IDE images to the most recent `stable` version.
3333
3434
## How to test
35+
36+
Merge if tests are green, if something breaks then add tests for regressions.
37+
38+
<details>
39+
<summary>if you want to test manually for some reasons</summary>
40+
3541
1. For each IDE changed on this PR, follow these steps:
36-
1. Open the preview environment generated for this branch
37-
1. Choose the stable version of the IDE that you're testing as your default editor
38-
1. Start a workspace using any repository (e.g: `https://github.com/gitpod-io/empty`)
39-
1. Verify that the workspace starts successfully
40-
1. Verify that the IDE opens successfully
41-
1. Verify that the version of the IDE corresponds to the one being updated in this PR
42+
2. Open the preview environment generated for this branch
43+
3. Choose the stable version of the IDE that you're testing as your default editor
44+
4. Start a workspace using any repository (e.g: `https://github.com/gitpod-io/empty`)
45+
5. Verify that the workspace starts successfully
46+
6. Verify that the IDE opens successfully
47+
7. Verify that the version of the IDE corresponds to the one being updated in this PR
4248
4349
The following resources should help, in case something goes wrong (e.g. workspaces don't start):
4450
4551
- https://www.gitpod.io/docs/troubleshooting#gitpod-logs-in-jetbrains-gateway
4652
- https://docs.google.com/document/d/1K9PSB0G6NwX2Ns_SX_HEgMYTKYsgMJMY2wbh0p6t3lQ
53+
</details>
4754
4855
## Release Notes
4956
```release-note
@@ -57,8 +64,9 @@ jobs:
5764
-->
5865
- [x] /werft with-preview
5966
- [x] /werft with-large-vm
60-
- [x] /werft with-integration-tests=jetbrains
61-
- [x] /werft with-werft
67+
- [x] /werft with-gce-vm
68+
- [x] with-integration-tests=jetbrains
69+
- [x] latest-ide-version=false
6270
6371
_This PR was created automatically with GitHub Actions using [this](https://github.com/gitpod-io/gitpod/blob/main/.github/workflows/jetbrains-updates.yml) GHA_
6472
commit-message: "[JetBrains] Update IDE images to new build version"

0 commit comments

Comments
 (0)