Skip to content

Commit a8658be

Browse files
committed
Automatic rollout latest Jetbrains IDE
1 parent 92a9fd5 commit a8658be

File tree

6 files changed

+87
-7
lines changed

6 files changed

+87
-7
lines changed

.github/workflows/code-nightly.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- name: downlaod leeway
1515
run: cd /usr/bin && curl -fsSL https://github.com/gitpod-io/leeway/releases/download/v0.2.8/leeway_0.2.8_Linux_x86_64.tar.gz | sudo tar xz
1616
- name: Set up Cloud SDK
17-
uses: google-github-actions/setup-gcloud@master
17+
uses: google-github-actions/setup-gcloud@v0
1818
with:
1919
project_id: ${{ secrets.GCP_PROJECT_ID }}
2020
service_account_key: ${{ secrets.GCP_SA_KEY }}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
on:
2+
workflow_call:
3+
inputs:
4+
productId:
5+
type: string
6+
required: true
7+
productCode:
8+
type: string
9+
required: true
10+
projectId:
11+
type: string
12+
required: true
13+
serviceAccountKey:
14+
type: string
15+
required: true
16+
17+
jobs:
18+
update-jetbrains:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v2
22+
- name: downlaod leeway
23+
run: cd /usr/bin && curl -fsSL https://github.com/gitpod-io/leeway/releases/download/v0.2.16/leeway_0.2.16_Linux_x86_64.tar.gz | sudo tar xz
24+
- name: Set up Cloud SDK
25+
uses: google-github-actions/setup-gcloud@v0
26+
with:
27+
project_id: ${{ inputs.projectId }}
28+
credentials_json: ${{ inputs.serviceAccountKey }}
29+
- run: |
30+
gcloud auth configure-docker --quiet
31+
export LEEWAY_WORKSPACE_ROOT=$(pwd)
32+
data=$(curl -sSL "https://data.services.jetbrains.com/products?code=${{ inputs.productCode }}&fields=distributions%2Clink%2Cname%2Creleases&_=$(date +%s)000")
33+
link=$(echo "$data" | jq -r '.[0].releases[0].downloads.linux.link')
34+
cd components/ide/jetbrains/image
35+
leeway build -Dversion=latest -DimageRepoBase=eu.gcr.io/gitpod-core-dev/build -D${{ inputs.productId }}DownloadUrl=$link .:${{ inputs.productId }}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: rollout for new JetBrains IDE releases
2+
on:
3+
push:
4+
workflow_dispatch:
5+
schedule:
6+
# At 11:00 on every day.
7+
- cron: "0 11 * * *"
8+
9+
jobs:
10+
intellij:
11+
uses: gitpod-io/gitpod/.github/workflows/jetbrains-auto-update-template.yml@pd/improve-rollout-7023
12+
with:
13+
productId: intellij
14+
productCode: IIU
15+
projectId: '${{ secrets.GCP_PROJECT_ID }}'
16+
serviceAccountKey: '${{ secrets.GCP_SA_KEY }}'
17+
goland:
18+
uses: gitpod-io/gitpod/.github/workflows/jetbrains-auto-update-template.yml@pd/improve-rollout-7023
19+
with:
20+
productId: goland
21+
productCode: GO
22+
projectId: '${{ secrets.GCP_PROJECT_ID }}'
23+
serviceAccountKey: '${{ secrets.GCP_SA_KEY }}'
24+
pycharm:
25+
uses: gitpod-io/gitpod/.github/workflows/jetbrains-auto-update-template.yml@pd/improve-rollout-7023
26+
with:
27+
productId: pycharm
28+
productCode: PCP
29+
projectId: '${{ secrets.GCP_PROJECT_ID }}'
30+
serviceAccountKey: '${{ secrets.GCP_SA_KEY }}'
31+
phpstorm:
32+
uses: gitpod-io/gitpod/.github/workflows/jetbrains-auto-update-template.yml@pd/improve-rollout-7023
33+
with:
34+
productId: phpstorm
35+
productCode: PS
36+
projectId: '${{ secrets.GCP_PROJECT_ID }}'
37+
serviceAccountKey: '${{ secrets.GCP_SA_KEY }}'

.github/workflows/jetbrains-updates-template.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
- uses: actions/checkout@v2
3232
- name: Used Release
3333
id: used-release
34-
run: echo "::set-output name=result::$(yq e '.packages[] | select(.name == "${{ inputs.productId }}") | .config.buildArgs.JETBRAINS_BACKEND_URL' components/ide/jetbrains/image/BUILD.yaml)"
34+
run: echo "::set-output name=result::$(yq e '.defaultArgs.${{ inputs.productId }}DownloadUrl' WORKSPACE.yaml)"
3535
- name: No Update Available
3636
if: steps.latest-release.outputs.result == steps.used-release.outputs.result
3737
run: |
@@ -44,7 +44,7 @@ jobs:
4444
echo "There is an update available!"
4545
echo "Latest release: ${{ steps.latest-release.outputs.result }}"
4646
echo "Used release: ${{ steps.used-release.outputs.result }}"
47-
yq -i e '(.packages[] | select(.name == "${{ inputs.productId }}") | .config.buildArgs.JETBRAINS_BACKEND_URL) = "${{ steps.latest-release.outputs.result }}"' components/ide/jetbrains/image/BUILD.yaml
47+
yq -i e '.defaultArgs.${{ inputs.productId }}DownloadUrl = "${{ steps.latest-release.outputs.result }}"' WORKSPACE.yaml
4848
git diff
4949
- name: Create Pull Request
5050
if: steps.latest-release.outputs.result != steps.used-release.outputs.result

WORKSPACE.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ defaultArgs:
66
publishToNPM: true
77
localAppVersion: unknown
88
codeCommit: 4591e0158896bfd22d70bbc0f37c379d5bae4265
9+
intellijDownloadUrl: "https://download.jetbrains.com/idea/ideaIU-2021.3.1.tar.gz"
10+
golandDownloadUrl: "https://download.jetbrains.com/go/goland-2021.3.2.tar.gz"
11+
pycharmDownloadUrl: "https://download.jetbrains.com/python/pycharm-professional-2021.3.1.tar.gz"
12+
phpstormDownloadUrl: "https://download.jetbrains.com/webide/PhpStorm-2021.3.1.tar.gz"
913

1014
provenance:
1115
enabled: true

components/ide/jetbrains/image/BUILD.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@ packages:
1919
- components/ide/jetbrains/backend-plugin:plugin
2020
argdeps:
2121
- imageRepoBase
22+
- intellijDownloadUrl
2223
config:
2324
dockerfile: leeway.Dockerfile
2425
metadata:
2526
helm-component: workspace.desktopIdeImages.intellij
2627
buildArgs:
27-
JETBRAINS_BACKEND_URL: "https://download.jetbrains.com/idea/ideaIU-2021.3.1.tar.gz"
28+
JETBRAINS_BACKEND_URL: ${intellijDownloadUrl}
2829
SUPERVISOR_IDE_CONFIG: supervisor-ide-config_intellij.json
2930
image:
3031
- ${imageRepoBase}/ide/intellij:${version}
@@ -40,12 +41,13 @@ packages:
4041
- components/ide/jetbrains/backend-plugin:plugin
4142
argdeps:
4243
- imageRepoBase
44+
- golandDownloadUrl
4345
config:
4446
dockerfile: leeway.Dockerfile
4547
metadata:
4648
helm-component: workspace.desktopIdeImages.goland
4749
buildArgs:
48-
JETBRAINS_BACKEND_URL: "https://download.jetbrains.com/go/goland-2021.3.2.tar.gz"
50+
JETBRAINS_BACKEND_URL: ${golandDownloadUrl}
4951
SUPERVISOR_IDE_CONFIG: supervisor-ide-config_goland.json
5052
image:
5153
- ${imageRepoBase}/ide/goland:${version}
@@ -61,12 +63,13 @@ packages:
6163
- components/ide/jetbrains/backend-plugin:plugin
6264
argdeps:
6365
- imageRepoBase
66+
- pycharmDownloadUrl
6467
config:
6568
dockerfile: leeway.Dockerfile
6669
metadata:
6770
helm-component: workspace.desktopIdeImages.pycharm
6871
buildArgs:
69-
JETBRAINS_BACKEND_URL: "https://download.jetbrains.com/python/pycharm-professional-2021.3.1.tar.gz"
72+
JETBRAINS_BACKEND_URL: ${pycharmDownloadUrl}
7073
SUPERVISOR_IDE_CONFIG: supervisor-ide-config_pycharm.json
7174
image:
7275
- ${imageRepoBase}/ide/pycharm:${version}
@@ -82,12 +85,13 @@ packages:
8285
- components/ide/jetbrains/backend-plugin:plugin
8386
argdeps:
8487
- imageRepoBase
88+
- phpstormDownloadUrl
8589
config:
8690
dockerfile: leeway.Dockerfile
8791
metadata:
8892
helm-component: workspace.desktopIdeImages.phpstorm
8993
buildArgs:
90-
JETBRAINS_BACKEND_URL: "https://download.jetbrains.com/webide/PhpStorm-2021.3.1.tar.gz"
94+
JETBRAINS_BACKEND_URL: ${phpstormDownloadUrl}
9195
SUPERVISOR_IDE_CONFIG: supervisor-ide-config_phpstorm.json
9296
image:
9397
- ${imageRepoBase}/ide/phpstorm:${version}

0 commit comments

Comments
 (0)