Skip to content

Compilation of fat jar including frontend components

Summary

The build of the PapyrusWeb project cannot be done, because there are missing components in the Eclipse CI runner image, and we cannot set up a GitHub Access token.

The PapyrusWeb project (https://gitlab.eclipse.org/eclipse/papyrus/org.eclipse.papyrus-web) build produces both frontend application and backend server. It relies on node and npm for frontend build and mvn for backend build, and it needs to access the GitHub repository of Sirius components to fetch required packages.

Steps to reproduce

The building steps are described in the project README file (https://gitlab.eclipse.org/eclipse/papyrus/org.eclipse.papyrus-web/-/blob/master/README.adoc?ref_type=heads#build).

However, we cannot set up the building process for the PapyrusWeb project in the Eclipse CI. The latest build execution log is available here: https://ci.eclipse.org/papyrus/view/PapyrusWeb/job/Papyrus-Web-Master/lastBuild/console.

Problems:

The execution flow from the build is incomplete, for two reasons:

  • It is necessary to have a GitHub access token to configure the settings.xml (for mvn) and .npmrc (for npm) files. The token is used to fetch packages when compiling the frontend using npm and to access the Sirius Components GitHub package repository, when compiling the backend. How is it possible to obtain a GitHub access token ? We don't want to use a personal access token.

  • npm and node are not available in the runner.

    The two commands below cannot be executed.

    npm ci
    npm run build

    Is it possible to install the required components ?

What is the current bug behavior?

The build cannot be done, because npm is not available and there is not a GitHub access token.

What is the expected correct behavior?

Execute the complete build and produce a jar of the PapyrusWeb application.

Relevant logs and/or screenshots

Example of failed build:

https://ci.eclipse.org/papyrus/view/PapyrusWeb/job/Papyrus-Web-Master/lastBuild/console

Note that this build do not call the npm ci command yet.

Priority

  • Urgent
  • High
  • Medium
  • Low

Severity

  • Blocker
  • Major
  • Normal
  • Low

Impact

We cannot compile PapyrusWeb application. It is important to have daily build in the development process.

Edited by Frederic Gurr