Skip to content

JB Stable IDEs Update #846

JB Stable IDEs Update

JB Stable IDEs Update #846

name: JB Stable IDEs Update
on:
workflow_call:
workflow_dispatch:
schedule:
# At 11:00 on every day-of-week from Monday through Friday.
- cron: "0 11 * * 1-5"
jobs:
update-jetbrains:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
curl -fsSL https://github.com/csweichel/oci-tool/releases/download/v0.2.1/oci-tool_0.2.1_linux_amd64.tar.gz | tar xz -C /usr/local/bin
chmod +x /usr/local/bin/oci-tool
cd ./components/ide/gha-update-image
yarn
npm i -g bun
- name: Check for updates
run: |
cd ./components/ide/gha-update-image
bun run index-jb.ts
git diff
- name: Detect file changes
id: changes
run: |
if [ $(git status --porcelain | wc -l) -gt 0 ]; then
echo "dirty=true" >> $GITHUB_OUTPUT
else
echo "dirty=false" >> $GITHUB_OUTPUT
fi
- name: Create Pull Request
if: ${{steps.changes.outputs.dirty}}
uses: peter-evans/create-pull-request@v6
with:
title: "[JetBrains] Update IDE images to new build version"
body: |
## Description
This PR updates the JetBrains IDE images to the most recent `stable` version.
## How to test
Merge if:
- [ ] Tests are green, if something breaks then add tests for regressions.
<details>
<summary>if you want to test manually for some reasons</summary>
1. For each IDE changed on this PR, follow these steps:
2. Open the preview environment generated for this branch
3. Choose the stable version of the IDE that you're testing as your default editor
4. Start a workspace using any repository (e.g: `https://github.com/gitpod-io/empty`)
5. Verify that the workspace starts successfully
6. Verify that the IDE opens successfully
7. Verify that the version of the IDE corresponds to the one being updated in this PR
8. Warmup is working properly using IntelliJ and spring-petclinic project sample
The following resources should help, in case something goes wrong (e.g. workspaces don't start):
- https://www.gitpod.io/docs/troubleshooting#gitpod-logs-in-jetbrains-gateway
- https://docs.google.com/document/d/1K9PSB0G6NwX2Ns_SX_HEgMYTKYsgMJMY2wbh0p6t3lQ
</details>
## Release Notes
```release-note
Update JetBrains IDE images to most recent stable version.
```
## Werft options:
<!--
Optional annotations to add to the werft job.
* with-preview - whether to create a preview environment for this PR
-->
- [x] /werft with-preview
- [x] /werft with-large-vm
- [x] /werft with-gce-vm
- [x] with-integration-tests=jetbrains
- [x] latest-ide-version=false
_This PR was created automatically with GitHub Actions using [this](https://github.com/gitpod-io/gitpod/blob/main/.github/workflows/jetbrains-updates.yml) GHA_
commit-message: "[JetBrains] Update IDE images to new build version"
branch: "jetbrains/update-stable-ides"
labels: "team: IDE,editor: jetbrains"
token: ${{ secrets.ROBOQUAT_REPO_PAT }}
committer: Robo Quat <[email protected]>
author: Robo Quat <[email protected]>
team-reviewers: |
team-experience
- name: Get previous job's status
id: lastrun
uses: filiptronicek/get-last-job-status@main
- name: Slack Notification
if: ${{ (success() && steps.lastrun.outputs.status == 'failed') || failure() }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.IDE_SLACK_WEBHOOK }}
SLACK_COLOR: ${{ job.status }}
SLACK_TITLE: ${{ inputs.productName }}
SLACK_FOOTER: "<https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|Workflow logs>"