Files
Jungfraujoch/update_version.sh
T
leonarski_f d6389e12da
Build Packages / Unit tests (push) Skipped
Build Packages / build:windows:nocuda (push) Successful in 15m31s
Build Packages / build:viewer-tgz:cpu (push) Successful in 5m46s
Build Packages / build:viewer-tgz:cuda (push) Successful in 6m9s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m25s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 10m21s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 9m41s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 9m18s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m26s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 11m33s
Build Packages / build:rpm (rocky8) (push) Successful in 10m32s
Build Packages / build:rpm (rocky9) (push) Successful in 12m23s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m50s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m12s
Build Packages / DIALS test (push) Successful in 12m6s
Build Packages / XDS test (durin plugin) (push) Successful in 8m15s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 7m12s
Build Packages / XDS test (neggia plugin) (push) Successful in 5m35s
Build Packages / Generate python client (push) Successful in 27s
Build Packages / Build documentation (push) Successful in 54s
Build Packages / Create release (push) Skipped
Build Packages / build:windows:cuda (push) Successful in 12m37s
v1.0.0-rc.156 (#66)
This is an UNSTABLE release. It includes many experimental features, as well as many AI generated fixes. We recommend using rc.152 for production use.

* jfjoch_process: Major rotation (rot3d) data processing overhaul - robust profile-fit integration, Cauchy-loss scaling with optional absorption surface, de-novo indexing and space-group/centering determination fixes, and merging statistics + ISa in the mmCIF output.
* jfjoch_process: Add EXPERIMENTAL ice-ring detection (--detect-ice-rings) that excludes ice reflections from scaling.
* Compression: Add BSHUF_ZSTD_RLE_HUFF, make compression size-aware (drop frames that don't fit rather than aborting), and add the jfjoch_recompress tool.
* jfjoch_viewer: Report "Multiple lattices detected" and grey out "Analyze dataset" on a live connection.
* jfjoch_broker: Write smargon chi/phi goniometer positions to NXmx; read sensor thickness/material from HDF5 metadata.
* CI: Build Windows (CUDA and non-CUDA) installers.Reviewed-on: #66

Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
2026-07-03 19:18:56 +02:00

110 lines
3.9 KiB
Bash

#!/bin/bash
#
# Copyright (2019-2024) Paul Scherrer Institute
#
VERSION=$(<VERSION)
# Regular expression for semantic versioning with optional pre-release and build metadata
regex="^([0-9]+)\.([0-9]+)\.([0-9]+)(-[A-Za-z0-9.\-]+)?(\+[A-Za-z0-9.\-]+)?$"
if [[ $VERSION =~ $regex ]]; then
major="${BASH_REMATCH[1]}"
minor="${BASH_REMATCH[2]}"
patch="${BASH_REMATCH[3]}"
prerelease="${BASH_REMATCH[4]}"
build="${BASH_REMATCH[5]}"
echo "Major version: $major"
echo "Minor version: $minor"
echo "Patch version: $patch"
[ -n "$prerelease" ] && echo "Pre-release version: ${prerelease:1}" # Remove the leading '-'
[ -n "$build" ] && echo "Build metadata: ${build:1}" # Remove the leading '+'
else
echo "Invalid semantic version: $semver"
exit
fi
OPENAPI_VERSION=7.20.0
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/${OPENAPI_VERSION}/openapi-generator-cli-${OPENAPI_VERSION}.jar -O openapi-generator-cli.jar
SRC=' version:.*'
DST=" version: $VERSION"
sed -i -e "s/$SRC/$DST/" broker/jfjoch_api.yaml
git rm broker/gen/model/*.cpp broker/gen/model/*.h frontend/src/openapi/models/*.ts docs/python_client/* docs/python_client/docs/*
java -jar openapi-generator-cli.jar generate -i broker/jfjoch_api.yaml -o python-client/ -g python --git-host=git.psi.ch --git-repo-id jungfraujoch --git-user-id jungfraujoch --additional-properties=packageName=jfjoch_client,packageVersion=$VERSION
java -jar openapi-generator-cli.jar generate -i broker/jfjoch_api.yaml -o broker/gen -g cpp-pistache-server
cd frontend
sed -i s/\".*\"/\"$VERSION\"/g src/version.ts
npm install
npm run openapi
npm run redocly4broker
cd ..
mkdir -p docs/python_client/docs
cp python-client/README.md docs/python_client
cp python-client/docs/*.md docs/python_client/docs
# Mirror the root third-party notices into the docs tree so they are published with
# the documentation. The verbatim license texts (licenses/*.txt) are not part of the
# docs source tree, so point those links at the repository; the project-license links
# point at the in-docs LICENSE / FPGA_LICENSE pages.
REPOBASE=https://gitea.psi.ch/mx/jungfraujoch/src/branch/main
{
echo "<!--"
echo " Auto-generated from THIRD_PARTY_NOTICES.md by update_version.sh — do not hand-edit."
echo " Edit the canonical THIRD_PARTY_NOTICES.md at the repository root instead."
echo "-->"
echo
sed -e "s,](licenses/,]($REPOBASE/licenses/,g" \
-e "s,](LICENSE)),](LICENSE.md)),g" \
-e "s,](fpga/LICENSE),](FPGA_LICENSE.md),g" \
THIRD_PARTY_NOTICES.md
} > docs/THIRD_PARTY_NOTICES.md
git add broker/gen/model/*.cpp broker/gen/model/*.h frontend/src/openapi/models/*.ts docs/python_client/*.md docs/python_client/docs/*.md docs/THIRD_PARTY_NOTICES.md
sed -i "s,release =.*,release = \'$VERSION\'," docs/conf.py
sed -i "s,\"version\":.*,\"version\": \"$VERSION\"\,," frontend/package.json
cd fpga
SRC="define JFJOCH_FPGA_MAJOR_VERSION 8'd.*"
DST="define JFJOCH_FPGA_MAJOR_VERSION 8'd${major}"
sed -i "s/$SRC/$DST/" hdl/action_config.v
SRC="define JFJOCH_FPGA_MINOR_VERSION 8'd.*"
DST="define JFJOCH_FPGA_MINOR_VERSION 8'd${minor}"
sed -i "s/$SRC/$DST/" hdl/action_config.v
SRC="define JFJOCH_FPGA_PATCH_VERSION 8'd.*"
DST="define JFJOCH_FPGA_PATCH_VERSION 8'd${patch}"
sed -i "s/$SRC/$DST/" hdl/action_config.v
SRC="define JFJOCH_FPGA_PRERELEASE 64'h.*"
if [ -n "$prerelease" ]; then
result=$(printf '%.7s' "${prerelease:1}" | rev | xxd -p -u)
DST="define JFJOCH_FPGA_PRERELEASE 64'h$result"
else
DST="define JFJOCH_FPGA_PRERELEASE 64'h0"
fi
sed -i "s/$SRC/$DST/" hdl/action_config.v
cd pcie_driver
sed -i s,MODULE_VERSION\(\".*,MODULE_VERSION\(\"$VERSION\"\)\;, jfjoch_drv.c
sed -i s,VERSION=.*,VERSION=$VERSION, postinstall.sh
sed -i s,VERSION=.*,VERSION=$VERSION, preuninstall.sh
sed -i s,PACKAGE_VERSION=.*,PACKAGE_VERSION=$VERSION, dkms.conf
sed -i s,VERSION=.*,VERSION=$VERSION, install_dkms.sh