This is an automated email from the ASF dual-hosted git repository. gk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/turbine-build.git
commit 96dbb5771cee16498e6d7a305c532a554f2b98a4 Author: Georg Kallidis <[email protected]> AuthorDate: Tue Dec 14 11:41:28 2021 +0100 Add READMEs for git modules and asf site mapping. Update site build instructions. --- Jenkinsfile | 13 ++++++- README.md | 7 ++-- README_TECHNICAL_GITMODULES.md | 43 +++++++++++++++++++++ README_TECHNICAL_SITE_STRUCTURE.md | 76 ++++++++++++++++++++++++++++++++++++++ archetypes | 2 +- core | 2 +- parent | 2 +- site | 2 +- 8 files changed, 139 insertions(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5ed8a06..bfbd624 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -28,6 +28,8 @@ // git-websites: // "Nodes that are reserved for ANY project that wants to build their website docs and // publish directly live (requires asf-site and pypubsub" +// https://cwiki.apache.org/confluence/display/INFRA/Multibranch+Pipeline+recipes: +// only Jenkins nodes tagged with "git-websites" are able to push to an ASF Git repositories "asf-site" branch // no git-websites label her using ubuntu // Jenkins build server used: https://builds.apache.org/ / ci-builds.apache.org @@ -36,6 +38,8 @@ // This is the default (do NOT provide git clone --recurse-submodules flag) and this is because // only the current submodule is initialized downstrema with git submodule update --init +// This is a simplified version of turbine-fulcrum-build/Jenkinsfile. + def AGENT_LABEL = env.AGENT_LABEL ?: 'ubuntu' def JDK_NAME = env.JDK_NAME ?: 'jdk_1.8_latest' @@ -120,7 +124,7 @@ pipeline } } } - stage('Deploy') + stage('Deploy Site') { when { @@ -140,8 +144,15 @@ pipeline } } } + // Only the nodes labeled 'git-websites' have the credentials to commit to the. + agent { + node { + label 'git-websites' + } + } steps { + echo 'Deploying ${params.TURBINE_COMPONENT} Site' dir("${params.TURBINE_COMPONENT}") { script diff --git a/README.md b/README.md index 6d57315..5d3b5bb 100644 --- a/README.md +++ b/README.md @@ -231,8 +231,9 @@ and update master repo and delete the tag manually. This will trigger (with .asf.yaml configuration) an update to the distribution site. - SVN checkout target distribution from https://dist.apache.org/repos/dist/release/turbine/<...>/<...> - - SVN checkout released source from https://svn.apache.org/repos/asf/turbine/<..>/tags/<..> - - Generate artifacts (check local repo and target for artifacts) from released version: + - GIT checkout GIT_REPO <foo>-<version>-candidate + Find more onformation in [Wiki](https://cwiki.apache.org/confluence/display/TURBINE/Publishing+a+Release) + - Generate artifacts (check local repo and target for artifacts) from released version Checkout the tagged released release and run: @@ -240,7 +241,7 @@ Checkout the tagged released release and run: Generate checksums with UNIX tool shasum (2022 at least sha512), Windows certutil or other tools and -copy artifacts and sha-files to dist source/binaries folder. +copy artifacts and sha-files to the distribution folder dist source/binaries folder. If not all jars are included (assembly plugin _SHOULD_ run after jar generation), run a second time without clean. If no sha512 files are in the target folder, check local repo. diff --git a/README_TECHNICAL_GITMODULES.md b/README_TECHNICAL_GITMODULES.md new file mode 100644 index 0000000..580c2eb --- /dev/null +++ b/README_TECHNICAL_GITMODULES.md @@ -0,0 +1,43 @@ +# [Apache T U R B I N E](https://turbine.apache.org/) + +Turbine Build is a collection of the main components provided as modules to build and deploy. + +Find the similar Git modules for Fulcrum Turbine Fulcrum Build on GitHub [here][https://github.com/apache/turbine-fulcrum-build). + +- Find the [Git Submodule Doc](https://git-scm.com/docs/git-submodule). + +## G I T S U B M O D U L E S + +Show all changes for submodules + + git submodule foreach "git checkout master || :" + + git submodule foreach "git diff" > all.diff.patch + +Commit all changes for submodules with default message + + git submodule foreach "git commit -am 'xxxxxx' || :" + +Check and commit with message all files matching */site.xml + + git submodule foreach "git diff */site.xml" > site.diff.patch + git submodule foreach "git commit -m 'xxxxxx' */site.xml || :" + +Adapt Commit Message for each submodule: + + git submodule foreach "git commit --amend || :" + + git submodule foreach "git push || :" + +Check, that all is committed (no diffs anymore): + + git submodule foreach "git diff" + Entering 'archetypes' + Entering 'core' + Entering 'parent' + Entering 'site' + + +## License + +Apache Turbine Components are distributed under the [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). diff --git a/README_TECHNICAL_SITE_STRUCTURE.md b/README_TECHNICAL_SITE_STRUCTURE.md new file mode 100644 index 0000000..fe0a816 --- /dev/null +++ b/README_TECHNICAL_SITE_STRUCTURE.md @@ -0,0 +1,76 @@ +# [Apache T U R B I N E](https://turbine.apache.org/) + + +## T U R B I N E S I T E S T R U C T U R E AND P U B L I S H I N G + +Assumptions: +- asf-site branch exists for each GIT repo. +- Base Git-Repo: https://gitbox.apache.org/repos/asf/ + +The table shows the subfolder assignments (in .asf.yaml) from subdir to the web site: + +turbine.apache.org + +| URL context | GIT REPO | .asf.yaml subdir | Explanation | +| ------------- |:-------------:| -----:|----:| +| / | turbine--site.git | .asf.yaml has no subdir set | the site content is published to the root | +| /turbine/development/turbine-5-1 | turbine-core.git | subdir: turbine/development/turbine-5-1 | development, usually a SNAPSHOT version | +| /turbine/turbine-2-3-3 | turbine-core.git | subdir: turbine/turbine-2-3-3 | previous release 2.3.3, (no dots allowed in subdir!) | +| /turbine/turbine-5-0 | turbine-core.git | subdir: turbine/turbine-5.0 | previous release 5.0, (no dots allowed in subdir!) | +| /fulcrum/ | turbine-fulcrum-site.git | subdir: fulcrum | wrapper for context path fulcrum/ | +| /fulcrum/fulcrum-intake/ | turbine-fulcrum-intake.git | subdir: fulcrum/fulcrum-intake | Fulcrum component intake | +| /fulcrum/fulcrum-json/ | turbine-fulcrum-site.git | subdir: fulcrum/fulcrum-json | Fulcrum component json* | +| /fulcrum/fulcrum-<COMPONENT>/ | turbine-fulcrum-<COMPONENT>.git | subdir: fulcrum/fulcrum-<COMPONENT> | Fulcrum component | + +This mechanism is possible, because once a subdir (including the root) is published, publishing this and any nested subdir is performed as an git update, not as a clean clone. + +TODO: Save previous versions of Fulcrums in the Turbine /turbine/turbine->VERSION>? + +* A multi modules component requires building the site with mvn site:stage. + +The only turbine component with variable subdir/contexts is *turbine-core*. + +### Details about Turbine Core Subdir / Release Mapping + +You have to edit .asf.yaml in branch .asf-site after a release. + +Change in the tagged release + + git checkout turbine-5.1 + +and generate the site. Save it into an external tmp-folder. + + git checkout asf-site + +Cleanup + + git ls-files | grep -v "^\\." | xargs rm -f + +and copy the content from the tmp-folder to the root. + + and change + + subdir: turbine/development/turbine-5-1 + +to + subdir: turbine/turbine-5-1 + +Prepare commit and push + + git add -A + git commit "New site " + git push + +This will put the content into a new node turbine/turbine-5-1. + +After the new site is deployed, change subdir to the next version + + subdir: turbine/development/turbine-5-2 + +After this Jenkinsfile could be used to publish the site in [Apache Build](https://builds.apache.org/). +(WORK IN PROGRESS this has to tested yet). + + +## License + +Apache Turbine Components are distributed under the [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). diff --git a/archetypes b/archetypes index bb7336f..b2afb56 160000 --- a/archetypes +++ b/archetypes @@ -1 +1 @@ -Subproject commit bb7336f6848a5db063a6b87dffa872ebf5604c61 +Subproject commit b2afb5673569a1aa8bac692b5baea4a7303a5a81 diff --git a/core b/core index 48176a6..b295f2b 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 48176a65cfa544bc9003f4ac727fe46934bcb7ca +Subproject commit b295f2bb661dc18e5e8899be7dd60122a44a0d86 diff --git a/parent b/parent index abccb58..6ff3eaf 160000 --- a/parent +++ b/parent @@ -1 +1 @@ -Subproject commit abccb58d832cf10ba7977714ff66319050d91616 +Subproject commit 6ff3eaff7796e17ada95bd0618d2ea0076ef3bf1 diff --git a/site b/site index 28ede6f..8f43b49 160000 --- a/site +++ b/site @@ -1 +1 @@ -Subproject commit 28ede6fe6380e29dcabc24ce89a61b52f098a442 +Subproject commit 8f43b499481ac5b60402fc312fcc9f39d7bae4bb
