Skip to content

Conversation

@mustard-mh
Copy link
Contributor

@mustard-mh mustard-mh commented Sep 24, 2024

Description

Related Issue(s)

Fixes ENT-787

How to test

  • Open workspace with current PR
  • Exec commands (it should have cached already)
    cd /workspace/gitpod/components/ide/code
    leeway build \
      -Dversion=test \
      -DimageRepoBase=eu.gcr.io/gitpod-dev-artifact/build \
      -DcodeCommit=<latest_commit_of_openvscode_pr>\
      -DcodeVersion=1.94.0 \
      -DcodeQuality=insider \
      .:docker-nightly
    
  • Exec commands, and wait 20 more seconds
    cd /workspace/gitpod/components/ide/gha-update-image
    leeway run .:code-use-dev-latest
    
  • Open preview env, and use latest editors
  • Open a workspace with latest VS Code Browser

Test with Lates VS Code Browser

  • It can open workspace with -> you can see UI of VS Code Browser
  • It shows proper commit sha in VS Code's About window (last commit of openvscode server PR) and version should be 1.94.0
  • Has Gitpod: prefixed commands (F1)
  • ❌ Webview is not working (i.e. curl lama.sh | sh and gp preview $(gp url 8080) ENT-836

Documentation

Preview status

Gitpod was successfully deployed to your preview environment.

Build Options

Build
  • /werft with-werft
    Run the build with werft instead of GHA
  • leeway-no-cache
  • /werft no-test
    Run Leeway with --dont-test
Publish
  • /werft publish-to-npm
  • /werft publish-to-jb-marketplace
Installer
  • analytics=segment
  • with-dedicated-emulation
  • workspace-feature-flags
    Add desired feature flags to the end of the line above, space separated
Preview Environment / Integration Tests
  • /werft with-local-preview
    If enabled this will build install/preview
  • /werft with-preview
  • /werft with-large-vm
  • /werft with-gce-vm
    If enabled this will create the environment on GCE infra
  • /werft preemptible
    Saves cost. Untick this only if you're really sure you need a non-preemtible machine.
  • with-integration-tests=all
    Valid options are all, workspace, webapp, ide, jetbrains, vscode, ssh. If enabled, with-preview and with-large-vm will be enabled.
  • with-monitoring

/hold

@roboquat roboquat added size/L and removed size/M labels Sep 25, 2024
@mustard-mh mustard-mh changed the title WIP [GHA] fix code nightly job Sep 25, 2024
Copy link
Member

@filiptronicek filiptronicek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general looks great, left a couple of comments.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Next Wednesday we get rid of the old Dockerfile and only have this one, correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought we should pause release of 1.94 because WebView is broken

ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
ENV ELECTRON_SKIP_BINARY_DOWNLOAD=1
ENV VSCODE_ARCH=x64
ENV NPM_REGISTRY=https://registry.npmjs.org
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When we use NPM exclusively, is this still necessary?

# See License.AGPL.txt in the project root for license information.
FROM gitpod/openvscode-server-linux-build-agent:focal-x64 as code_builder

ENV TRIGGER_REBUILD 1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this syntax also works, just struck me when reading

Suggested change
ENV TRIGGER_REBUILD 1
ENV TRIGGER_REBUILD=1

Comment on lines +20 to +25
RUN if dpkg --compare-versions "$CODE_VERSION" "ge" "1.90"; then \
NODE_VERSION=20; \
else \
NODE_VERSION=18; \
fi && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we still need VS Code 1.90 logic?

Comment on lines +44 to +45
# Disable v8 cache used by yarn v1.x, refs https://github.com/nodejs/node/issues/51555
ENV DISABLE_V8_COMPILE_CACHE=1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since it's yarn-specific, we don't need it anymore?

@mustard-mh
Copy link
Contributor Author

mustard-mh commented Sep 26, 2024

@filiptronicek most of the comments are nit fixing (not harmful), I would like to merge this first because verify will take us another 1 hour. (like the yarn env one)

Thanks you for your review 🚀 !

@filiptronicek
Copy link
Member

@filiptronicek most of the comments are nit fixing (not harmful), I would like to merge this first because verify will take us another 1 hour. (like the yarn env one)

Totally, I don't want to keep these long-term, but we can change when we eventually move this nightly workflow to stable.

@roboquat roboquat merged commit 547aba4 into main Sep 26, 2024
84 of 85 checks passed
@roboquat roboquat deleted the hw/fix-code-nightly branch September 26, 2024 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants