diff --git a/.bazelrc b/.bazelrc index fd22d465ac..1b19025099 100644 --- a/.bazelrc +++ b/.bazelrc @@ -54,5 +54,11 @@ test:bl-x86_64-linux --test_output=errors test --sandbox_tmpfs_path=/dev/shm test --sandbox_tmpfs_path=/tmp +# Java +build --java_language_version=17 +build --tool_java_language_version=17 +build --java_runtime_version=remotejdk_17 +build --tool_java_runtime_version=remotejdk_17 + # user specific overrides (like proxy settings) try-import %workspace%/user.bazelrc diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000000..fa0420bcac --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,42 @@ +# ******************************************************************************* +# Copyright (c) 2025 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +name: Documentation + +permissions: + contents: write + pages: write + pull-requests: write + id-token: write + +on: + pull_request_target: # Allows forks to trigger the docs build + types: [opened, reopened, synchronize] + push: + branches: + - main + merge_group: + types: [checks_requested] + +jobs: + build-docs: + uses: eclipse-score/cicd-workflows/.github/workflows/docs.yml@main + permissions: + contents: write + pages: write + pull-requests: write + id-token: write + + with: + bazel-target: "//:docs_combo_experimental -- --github_user=${{ github.repository_owner }} --github_repo=${{ github.event.repository.name }}" + retention-days: 3 diff --git a/.gitignore b/.gitignore index db54c5cd2d..26b5e28ab0 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,8 @@ rust-project.json __pycache__/ .pytest_cache/ /.coverage -**/*.egg-info/* \ No newline at end of file +**/*.egg-info/* + +# Docs +/_build +/docs/ubproject.toml diff --git a/BUILD b/BUILD index 83cf914f6b..8ef451a21e 100644 --- a/BUILD +++ b/BUILD @@ -11,14 +11,18 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -# load("@score_docs_as_code//:docs.bzl", "docs") +load("@score_docs_as_code//:docs.bzl", "docs") -# docs( -# data = [ -# # TODO: add all modules that have docs -# ], -# source_dir = "docs", -# ) +docs( + data = [ + "@score_platform//:needs_json", + "@score_process//:needs_json", + # Persistency cannot be included, as it does not contain any needs. + # -> sphinx-needs bug? + # "@score_persistency//:needs_json", + ], + source_dir = "docs", +) # Simple filegroup target to demonstrate the build system works filegroup( diff --git a/MODULE.bazel b/MODULE.bazel index a3e396b541..a09fca0c1a 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -13,7 +13,7 @@ module( name = "score_reference_integration", - version = "0.0.0", + version = "0.5.0-alpha.1", compatibility_level = 0, ) diff --git a/README.md b/README.md index d13ec9851b..ca07fd6ef2 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,12 @@ The reference integration workspace serves as a single Bazel build environment t - Test toolchain and platform support (Linux, QNX, LLVM/GCC) - Prepare for release validation workflows +## Docs + +To generate a full documentation of all integrated modules, run: +```bash +bazel run //:docs_combo_experimental +``` ## Working Builds ✅ The following modules build successfully with the `bl-x86_64-linux` configuration: diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000000..f4e526ffc1 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,26 @@ +# ******************************************************************************* +# Copyright (c) 2025 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +# Configuration file for the Sphinx documentation builder. + +project = "REF_INT" +project_url = "https://eclipse-score.github.io/reference_integration" +version = "0.1" + +extensions = [ + # TODO: remove plantuml here once + # https://github.com/useblocks/sphinx-needs/pull/1508 is merged and docs-as-code + # is updated with new sphinx-needs version + "sphinxcontrib.plantuml", + "score_sphinx_bundle", +] diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000000..9cafe3cde2 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,27 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +Reference Integration Documentation +=================================== + +.. if-collection:: score_platform + + Included S-CORE Modules: + + .. toctree:: + :maxdepth: 1 + :titlesonly: + + S-CORE Platform <_collections/score_platform/docs/index> + _collections/score_process/process/index diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index fdffa2a0fd..0000000000 --- a/docs/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -# placeholder diff --git a/score_modules.MODULE.bazel b/score_modules.MODULE.bazel index 4c9714ca2d..62cb9f493a 100644 --- a/score_modules.MODULE.bazel +++ b/score_modules.MODULE.bazel @@ -24,10 +24,9 @@ single_version_override( ) bazel_dep(name = "score_persistency") -git_override( +single_version_override( module_name = "score_persistency", - remote = "https://github.com/eclipse-score/persistency.git", - commit = "393c1c30e6959ff5befe85751baee8a8cd8024e9", # Nov 7, 2025, 7:37 AM GMT+1 + version = "0.2.1", ) bazel_dep(name = "score_orchestrator") @@ -43,9 +42,15 @@ single_version_override( ) bazel_dep(name = "score_platform") -single_version_override( +# TODO: switch to 0.4.2 once released +# single_version_override( +# module_name = "score_platform", +# version = "0.4.2", +# ) +git_override( module_name = "score_platform", - version = "0.3.0", + remote = "https://github.com/eclipse-score/score.git", + commit = "a9cf44be1342f3c62111de2249eb3132f5ab88da" # version 0.4.1 + fixes *from main branch* ) bazel_dep(name = "score_bazel_platforms") @@ -59,3 +64,16 @@ single_version_override( module_name = "score_test_scenarios", version = "0.3.0", ) + +bazel_dep(name = "score_docs_as_code", version = "2.0.1") +single_version_override( + module_name = "score_docs_as_code", + version = "2.0.1", +) + + +bazel_dep(name = "score_process", version = "1.3.1") +single_version_override( + module_name = "score_process", + version = "1.3.1", +)