* bump nodejs to 22.21.1
* remove swagger-ui from the package.json and import the bundled version
of it which is `swagger-ui-dist`. This removes the dependencies to the
react redux which is bought by the swagger-ui and also reduces the build
assets and build warnings. we really don't need the whole swagger-ui
package to be present here. Also importing the swagger-ui.css inside the
api-docs component lazily.
since our project is now under nx, upgraded using the nx migrate
command. It took care of the changes where it added the `standalone:
false` to all our files since we are still on modular architecture.
Other changes include
- adding `flush()` to fakeAsync mock test
- fixing some complaints raised by tsc linter as per the new typescript
type checks
- removed `this` from html components
- fixed jest config for newer presets
Signed-off-by: Nizamudeen A <nia@redhat.com>
Otherwise, a version like 'vX.Y.Z-foo-bar-baz' would end up as an rpm
release of 'foo.bar-baz' in the spec file, and rpm will not like that
very much because of that extra '-'.
Signed-off-by: Joao Eduardo Luis <joao@clyso.com>
1.Set the default value of DASHBOARD_FRONTEND_LANGS to 'ALL'.
2.Fix bug about receive the `"ALL"` or `'ALL'`from process.env.DASHBOARD_FRONTEND_LANGS that is not equal 'ALL' in cd.js.
3.When we use the make-dist script to build the front-end UI to release the ceph, we should add DASHBOARD_FRONTEND_LANGS="ALL" to support multiple languages.
Signed-off-by: TomNewChao <chaotomzhu@gmail.com>
this allows us to use newer liburing features. Seastar is using
some of them which are not provided by liburing 0.7.
in this change, `--use-libc` is passed to configure. otherwise
it does not link against libc, and the symbles like memset()
won't be available when compiling liburing.so with -fPIC using
clang, which does not pull libc in that case.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
the boost jfrog mirror is broken and returns an HTML error page instead
of the archive. the file size of this page is 11534 bytes
when download_from() retries the download from download.ceph.com, the -c
option tells it to resume the download of the existing file. the
resulting boost_1_82_0.tar.bz2 ends up with the correct total file size
of 121325129 bytes, but the first 11534 bytes still correspond to the
HTML from jfrog. that causes the sha256sum mismatch
remove the -c option so that wget fetches the archive in its entirety
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Ceph has lots of submodules that needs to be cloned before building
binaries from the repository. Seeing the progress when these submodules
are being cloned is useful, especially when developers/users have a
network issue or a slow network.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
the latest npm doesn't support setting python as a config like `npm
config set python3` instead it needs to be either set in the node-gyp
explicitly using the node-gyp command or through an environment
variable.
Since we are calling the node-gyp through npm, we need to set the
environment variable which is documented here: https://github.com/nodejs/node-gyp?tab=readme-ov-file#configuring-python-dependency
Accordingly the CMakeLists.txt for dashboard is adapted
Fixes: https://tracker.ceph.com/issues/62844
Signed-off-by: Nizamudeen A <nia@redhat.com>
With node 14, the angular 13 is going into some issues with node-gyp.
```
prebuild-install || node-gyp rebuild
prebuild-install WARN install No prebuilt binaries found (target=14.20.0 runtime=node arch=x64 libc= platform=linux)
make: Entering directory '/home/jenkins-build/build/workspace/ceph-dashboard-cephadm-e2e/src/pybind/mgr/dashboard/frontend/node_modules/tree-sitter/build'
CC(target) Release/obj.target/tree_sitter/vendor/tree-sitter/lib/src/lib.o
AR(target) Release/obj.target/tree_sitter.a
COPY Release/tree_sitter.a
CXX(target) Release/obj.target/tree_sitter_runtime_binding/src/binding.o
```
and in some other environments its like `cb() never called` and stops
the whole `npm ci` process.
After some research, looks like updating node is the way to stop this.
Also, ` npm 7 will block installations if an upstream dependency
conflict is present that cannot be automatically resolved.` https://github.blog/2021-02-02-npm-7-is-now-generally-available/#peer-dependencies
Fixes: https://tracker.ceph.com/issues/62107
Signed-off-by: Nizamudeen A <nia@redhat.com>
SUSE's Open Build Service overwrites the Release tag with checkin
and build counters, so we can't use it to record the number of
commits since the last tag, and the last commit hash. This commit
appends that extra information to the Version tag instead for
SUSE builds.
Fixes: https://tracker.ceph.com/issues/57893
Signed-off-by: Tim Serong <tserong@suse.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
to update the angular to 13, we need a node version of either 12.20.x or
14.15.x or 16.10.x. But inorder to not break the angular 12 run for now
we need to choose the node which works for both 12 and 13. which is
14.15.x. So I went with that node version here.
Signed-off-by: Nizamudeen A <nia@redhat.com>
to silence the warning from Angular 12.0 and up, which complains like:
Option "--prod" is deprecated: Use "--configuration production" instead
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
make-dist: refuse to run if script path contains a colon
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Colons are not permissible in POSIX paths and their presence is known to break
the script.
Fixes: https://tracker.ceph.com/issues/39556
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Update the version of NodeJS that we use to build the dashboard.
RHEL 8 and CentOS 8 ship NodeJS 12.18.2, so I've picked this version to
make it easier to build outside of nodeenv.
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
alpine build recipe is stale and does not work with the latest Ceph,
also the APKBUILD for Ceph can be found at alphine's aports repo, see
https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/ceph.
so instead keeping a stale version, let's drop it.
Signed-off-by: Kefu Chai <kchai@redhat.com>
This file should be used to agregate all external scripts we need.
Multiple flags can be used in the same call.
Available flags:
--env: Generates angular environment files.
--pre: Modifies 'angular.json' to enable the build of custom locales using
angular --localize.
Languages can be defined using the environment variable LANGS,
if no value is provided all languages will be build.
Default language is always build, even if not provided.
p.e.: 'LANGS="pt" node cd --pre', will build EN and PT.
For backward compatibility we accept both long and short version of
languages, p.e.: 'pt' and 'pt-BR'
--post: Restores 'angular.json' to its original.
Signed-off-by: Tiago Melo <tmelo@suse.com>
This will fix an error caused by the usage of the latest version of Angular CLI
and Node.js v10.16.0.
Fixes: https://tracker.ceph.com/issues/43961
Signed-off-by: Tiago Melo <tmelo@suse.com>
Work around a race condition in the dashboard frontend parallel build code.
References: https://tracker.ceph.com/issues/43152
Signed-off-by: Nathan Cutler <ncutler@suse.com>