JB Stable IDEs Update #860
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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>" |