Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
376 commits
Select commit Hold shift + click to select a range
5c3bcc5
apply wps builder changes from plamade
nicolas-f Apr 15, 2026
e87bbc5
add resources from plamade, html pages and other stuff
nicolas-f Apr 15, 2026
11f80ea
copy tests from plamade
nicolas-f Apr 15, 2026
833b1b7
move files resources
nicolas-f Apr 15, 2026
698d30a
copy test resources from plamade
nicolas-f Apr 15, 2026
16aaf68
fix unit tests with jupiter
nicolas-f Apr 15, 2026
6926dc9
Add JUnit dependency, update test resource paths, and include test re…
nicolas-f Apr 16, 2026
abc8d89
Update CI workflow for Maven-based release process
nicolas-f Apr 16, 2026
e8e3910
Remove deprecated `get_started.py` and fix paths in documentation and…
nicolas-f Apr 16, 2026
38b096e
Update Import_Asc_File help about support `.asc.gz` files
nicolas-f Apr 16, 2026
a13a245
remove package step as it run unit test (was already done earlier)
nicolas-f Apr 16, 2026
9f21a80
more width in script running console output
nicolas-f Apr 16, 2026
a717079
doc update
nicolas-f Apr 16, 2026
4a721f0
fix images resources path in wps scripts (relative not absolute from …
nicolas-f Apr 16, 2026
392f8fa
output result table name for processing link
nicolas-f Apr 16, 2026
f5ef621
Remove dead datasource when canceling a job (if the job did not react…
nicolas-f Apr 16, 2026
dc6f71d
documentation fix
nicolas-f Apr 16, 2026
95dd294
clean files
nicolas-f Apr 17, 2026
ae1bf96
Add Docker files and instructions
nicolas-f Apr 17, 2026
0b1aa6c
documentation and script samples fix
nicolas-f Apr 17, 2026
149f2df
fix path in main.java, doc fix
nicolas-f Apr 17, 2026
4059acd
update test to validate file existence
nicolas-f Apr 17, 2026
ff05731
add option to connect to PostGIS in ScriptRunner and update test
nicolas-f Apr 17, 2026
5589f38
add option to connect to PostGIS in ScriptRunner and update test
nicolas-f Apr 17, 2026
8a124c1
update documentation about postgis database
nicolas-f Apr 17, 2026
b156049
not using default
nicolas-f Apr 17, 2026
f24e854
fix doc
nicolas-f Apr 17, 2026
43ecc96
fix postgis unit test env variables
nicolas-f Apr 20, 2026
55e5539
wrong environment variables location in github actions
nicolas-f Apr 20, 2026
1a1f04b
[skip ci] doc
nicolas-f Apr 20, 2026
7fdfd09
[skip ci] doc 2
nicolas-f Apr 20, 2026
a9c9d4c
[skip ci] doc 3
nicolas-f Apr 20, 2026
e571b0a
[skip ci] doc 4
nicolas-f Apr 20, 2026
d5856eb
[skip ci] doc 5
nicolas-f Apr 20, 2026
f1df3d8
[skip ci] doc 6
nicolas-f Apr 20, 2026
e35d6d7
[skip ci] remove OrbisGIS reference
nicolas-f Apr 20, 2026
55d6e7a
[skip ci] cli version is packaged with web version now
nicolas-f Apr 20, 2026
08a007c
[skip ci] noisecapture major version
nicolas-f Apr 20, 2026
024ab21
[skip ci] generate documentation on package step
nicolas-f Apr 21, 2026
d2ec1a0
Do not fail the build if python is not found on the system
nicolas-f Apr 21, 2026
ec0b119
fix path and javascript
nicolas-f Apr 21, 2026
b5da232
restore progression, parse all exec methods, retain the more complex one
nicolas-f Apr 21, 2026
ab51ddc
asynchronous wps execution was waiting for timeout.. fix that
nicolas-f Apr 21, 2026
dc1c302
Add automatic cleanup of the Job (1h after the completion) in the mem…
nicolas-f Apr 21, 2026
626cab9
Log job cleanup from memory after completion or cancellation; fix pro…
nicolas-f Apr 21, 2026
71ec614
[skip ci] update README.md
nicolas-f Apr 22, 2026
fdbb174
[skip ci] update README.md
nicolas-f Apr 22, 2026
d7c90d8
remove non default workspace directory in default launcher
nicolas-f Apr 22, 2026
056c7a7
when raw result is not requested always create a asynchronous wps exe…
nicolas-f Apr 22, 2026
3478e55
[skip ci] Add a documentation about using OwsLib python library with …
nicolas-f Apr 22, 2026
321ef94
fix groovy script (remove geoserver stuff)
nicolas-f Apr 22, 2026
3db6f46
add unit test for long running asynchronous process
nicolas-f Apr 22, 2026
d1bffbc
- finalize implementation of defaultValue for WPS
nicolas-f Apr 27, 2026
5a0e543
Add unit test for LinkedTable wps
nicolas-f Apr 27, 2026
d3a05f2
If a default value for an input is provided in the WPS metadata, it w…
nicolas-f Apr 27, 2026
4e04a89
[skip ci] Print the default value in the NoiseModelling CLI
nicolas-f Apr 27, 2026
e8f19df
print default value in the wps builder gui
nicolas-f Apr 28, 2026
6378093
formatting
nicolas-f Apr 28, 2026
ab9bab0
add memory information on the server about page
nicolas-f Apr 28, 2026
6704053
center job/library container
nicolas-f Apr 28, 2026
2e63296
[skip ci] rename about page
nicolas-f Apr 28, 2026
fd578fc
table vizualisation data, keep the cells not too big by adding a scro…
nicolas-f Apr 28, 2026
183db31
Put progress information on create iso surface
nicolas-f Apr 28, 2026
50b6cee
Display table data accept sql query now
nicolas-f Apr 29, 2026
1dde3ef
some fix on dynamic
nicolas-f Apr 29, 2026
c67894e
[skip ci] remove code from plamade repository and unused here
nicolas-f Apr 29, 2026
0372ae8
Merge pull request #910 from Universite-Gustave-Eiffel/platform
nicolas-f Apr 29, 2026
50191fb
fix dockerfile
nicolas-f Apr 29, 2026
c46215d
update log4j configuration for tests, display only warning and errors…
nicolas-f Apr 29, 2026
f3ad2e8
Merge pull request #913 from Universite-Gustave-Eiffel/fix_platform
nicolas-f Apr 29, 2026
d025993
Updated Documentation for DataAssimilation tutorial.
MaguetteD Apr 30, 2026
a2a77f4
Update Data_Simulation.groovy
MaguetteD Apr 30, 2026
6b8b48c
Merge pull request #914 from Universite-Gustave-Eiffel/Fix-Doc_DataAs…
MaguetteD Apr 30, 2026
dbb3079
MacOS Bundle, rework script parse when scripts stored in Jar files
nicolas-f Apr 30, 2026
25f95a8
docs: remove "java_home" in windows section of requirements
May 4, 2026
e926e8d
Automate the creation of the .exe file using NSIS.
MaguetteD May 4, 2026
ad2590c
Fix windows run arguments
nicolas-f May 4, 2026
fb2ed7f
docs: update get started gui
May 4, 2026
78f59b7
docs: update get started gui
May 4, 2026
06c2683
Fix unit test for windows
nicolas-f May 4, 2026
06f0bee
Automate the creation of the .exe file using NSIS.
MaguetteD May 5, 2026
d852517
Fix line separator handling in job log assertions for Windows compati…
nicolas-f May 5, 2026
d02aaca
Update CI.yml
MaguetteD May 5, 2026
60ddb4b
Fix file path handling in Data Assimilation tests for Windows compati…
nicolas-f May 5, 2026
e0de399
Update launch4j-config.xml
MaguetteD May 5, 2026
eb45710
Update CI.yml
MaguetteD May 5, 2026
29683ec
Update launch4j-config.xml
MaguetteD May 5, 2026
d980eec
Add cleanup method to release log4j file locks after tests
nicolas-f May 5, 2026
366c38d
docs: update osm tuto
May 5, 2026
430ee52
Improve cleanup method to ensure logging handlers are properly shut d…
nicolas-f May 5, 2026
9f8dc7b
Update CI.yml
MaguetteD May 5, 2026
cf33211
Update launch4j-config.xml
MaguetteD May 5, 2026
a0438fe
Update launch4j-config.xml
MaguetteD May 5, 2026
8a5cceb
Update CI.yml
MaguetteD May 5, 2026
44fc4ed
Do not use the file logger in the unit test
nicolas-f May 5, 2026
c607635
Update CI.yml
MaguetteD May 5, 2026
0dababd
Refactor file logger configuration to return Appender and ensure prop…
nicolas-f May 5, 2026
f483b3e
Fix Windows CI script to correctly handle folder paths and improve co…
nicolas-f May 5, 2026
70406a0
Update launch4j-config.xml
MaguetteD May 5, 2026
fa25565
Update CI.yml
MaguetteD May 5, 2026
d7fa32b
Merge pull request #917 from Universite-Gustave-Eiffel/fix_windows_build
pierromond May 5, 2026
83d0ddd
Update CI.yml
MaguetteD May 5, 2026
52cd0c0
Fix log fetching to use system line separator for improved compatibility
nicolas-f May 5, 2026
b08adc9
docs: update point source tuto
May 5, 2026
abad821
Merge branch 'main' into Fix_Automate_exe
MaguetteD May 5, 2026
98b994f
Update CI.yml
MaguetteD May 5, 2026
f2f145c
Add support for filtering close reflections near receiver walls
sachabaclet May 5, 2026
4756656
docs: update point source tuto
May 5, 2026
05def64
docs: swap tuto osm and point source
May 5, 2026
4ce919b
Update CI.yml
MaguetteD May 5, 2026
7c3850f
Update installer.nsi
MaguetteD May 5, 2026
9ffcfc5
Update launch4j-config.xml
MaguetteD May 5, 2026
fd53569
Update CI.yml
MaguetteD May 5, 2026
3b9dae3
Update CI.yml
MaguetteD May 5, 2026
11dcb84
Merge branch 'main' of https://github.com/Universite-Gustave-Eiffel/N…
sachabaclet May 6, 2026
cdf7d1c
Update installer.nsi
MaguetteD May 6, 2026
754625a
Refactor reflection path filtering to use collect() instead of toList…
sachabaclet May 6, 2026
402952b
Merge pull request #921 from mglesser/doc-r6
pierromond May 6, 2026
6c3fc7e
fix logger windows
nicolas-f May 6, 2026
a309c2e
Update installer.nsi
MaguetteD May 6, 2026
0f46071
fix line return windows
nicolas-f May 6, 2026
75309d2
Update launch4j-config.xml
MaguetteD May 6, 2026
4328a1a
Update installer.nsi
MaguetteD May 6, 2026
b31dd2a
Update CI.yml
MaguetteD May 6, 2026
1a06318
Merge pull request #922 from Universite-Gustave-Eiffel/fixLogFetching…
pierromond May 6, 2026
a8b1f76
Update issue templates
pierromond May 6, 2026
8315867
Merge pull request #925 from Universite-Gustave-Eiffel/pierromond-pat…
pierromond May 6, 2026
5c27db0
docs: update matsim tutorial
May 6, 2026
a14baac
docs: add confMinWallReflDist parameter to Input_acoustics documentation
pierromond May 6, 2026
64d94cb
Update launch4j-config.xml
MaguetteD May 6, 2026
cbbc16f
Update CI.yml
MaguetteD May 6, 2026
0f6d032
Merge pull request #1 from pierromond/delete_last_reflection_doc
sachabaclet May 6, 2026
d1e089f
docs: update maximumdberror.png
May 6, 2026
7865b23
Enhance description for reflection distance parameter
nicolas-f May 6, 2026
34f8c3c
Enhance description for reflection distance parameter
nicolas-f May 6, 2026
0aaadd4
Update launch4j-config.xml
MaguetteD May 6, 2026
3bdf2b2
refactor: simplify distance calculation for last reflection wall
nicolas-f May 6, 2026
5cdbf7d
Update CI.yml
MaguetteD May 6, 2026
4a0bc00
Merge remote-tracking branch 'UGE/main' into fix-automate-exe
pierromond May 6, 2026
3d8acaf
fix: correct Windows installer CI pipeline
pierromond May 6, 2026
cd70ff5
ci: trigger CI on fix-automate-exe branch
pierromond May 6, 2026
3c0f48e
Fixed the error in AttenuationOutputSingleThread where rays were igno…
sachabaclet May 7, 2026
84ea71d
fix: derive EXE version from Maven version, remove ZIP recompression
pierromond May 7, 2026
a77868a
feat: embed NoiseModelling icon in EXE and installer
pierromond May 7, 2026
45b8394
docs: update maximumdberror.png
mglesser May 6, 2026
7c02836
docs: update dynamic tutorial
mglesser May 7, 2026
a039484
Merge remote-tracking branch 'origin/doc-r6-round2' into doc-r6-round2
mglesser May 7, 2026
20aac5b
Merge branch 'Universite-Gustave-Eiffel:main' into doc-r6-round2
mglesser May 7, 2026
f8accaf
docs: cleanup tuto images
mglesser May 7, 2026
f3e3e20
fix: wrong title for tableSourceGeom in Ind_Vehicles_2_Noisy_Vehicles
mglesser May 7, 2026
931109b
Merge pull request #930 from mglesser/fix-wps-input-param-name
pierromond May 7, 2026
5e698ae
fix: exclude venv folder from sphinx build
mglesser May 7, 2026
92359ed
docs: fix Title underline too short
mglesser May 7, 2026
9348a32
docs: cleanup tuto images
mglesser May 7, 2026
ad57810
Merge remote-tracking branch 'origin/doc-r6-round2' into doc-r6-round2
mglesser May 7, 2026
dced2c7
Merge branch 'Universite-Gustave-Eiffel:main' into doc-r6-round2
mglesser May 11, 2026
7c08e91
docs: move tuto point source images
mglesser May 11, 2026
ad304fc
Merge remote-tracking branch 'origin/doc-r6-round2' into doc-r6-round2
mglesser May 11, 2026
4898833
docs: move tuto point source images
mglesser May 11, 2026
cb23bde
docs: fix tuto get started
mglesser May 11, 2026
46cd43d
docs: fix tuto get started
mglesser May 11, 2026
1a75c5a
docs: move tuto osm images
mglesser May 11, 2026
72e7bfc
docs: move tuto matsim images
mglesser May 11, 2026
5f1f52a
move inner class
nicolas-f May 11, 2026
637737d
docs: homogenize tutorial .rst names
mglesser May 11, 2026
e742c08
fix CI for windows, use local compiled version after the integration …
nicolas-f May 11, 2026
630605b
Merge remote-tracking branch 'origin/main' into fix-automate-exe
nicolas-f May 11, 2026
32f4173
docs: update assimilation tutorial
mglesser May 11, 2026
ecfa8dc
fix generate documentation html under windows build
nicolas-f May 11, 2026
d164f1d
Add functions list
gpetit May 11, 2026
78f1624
docs: fix cross-references
mglesser May 11, 2026
985539a
docs: remove sphinx html_static_path since the folder does not exists
mglesser May 11, 2026
c538855
Merge pull request #929 from pierromond/fix-automate-exe
nicolas-f May 11, 2026
ca703c0
Implement concurrency for CI workflow
nicolas-f May 11, 2026
f08ae8e
Merge pull request #932 from Universite-Gustave-Eiffel/cancel-ga
nicolas-f May 11, 2026
bca84f5
Merge pull request #928 from sachabaclet/fix_confMaxError
nicolas-f May 11, 2026
bea7a4c
Merge pull request #920 from sachabaclet/delete_last_reflection
nicolas-f May 11, 2026
0a6fe89
Update CI badge to point to main branch [skip ci]
nicolas-f May 11, 2026
93107f6
docs: auto-generate RST function docs from Groovy WPS scripts
pierromond May 11, 2026
a9ac767
Merge pull request #1 from pierromond/automatize_doc_functions
gpetit May 12, 2026
ac69e17
CI release should compile and upload the windows installer in the rel…
nicolas-f May 12, 2026
4ad4105
refactor: update workflow output for Windows installer build
nicolas-f May 12, 2026
59fb439
Merge pull request #934 from Universite-Gustave-Eiffel/release_window…
nicolas-f May 12, 2026
6785161
Merge remote-tracking branch 'origin/main' into macosdist
nicolas-f May 12, 2026
6d2a83c
Add auto-generated RST docs, fix SRID optional params, move GenerateF…
pierromond May 12, 2026
4723184
macos github action on release or manually
nicolas-f May 12, 2026
1c17a9c
docs; update cli tutorial
mglesser May 12, 2026
a972736
update favicon.ico
nicolas-f May 12, 2026
75f8d29
Regen RST docs after SRID default -> optional fixes
pierromond May 12, 2026
89becfc
Merge remote-tracking branch 'UGE/main' into automatize_doc_functions
pierromond May 12, 2026
2bfb790
Fix logging, matsim was using a conflicting library with slf4j log sy…
nicolas-f May 13, 2026
c8071c5
refactor: improve logging configuration and cleanup
nicolas-f May 13, 2026
1df6992
close streams in matsim tutorial test (random issue on windows)
nicolas-f May 13, 2026
675f7fe
Merge pull request #936 from Universite-Gustave-Eiffel/macosdist
nicolas-f May 13, 2026
99c0634
Merge pull request #937 from mglesser/doc-r6-round2
nicolas-f May 13, 2026
c495fa4
Merge remote-tracking branch 'origin/main' into add_functions
nicolas-f May 13, 2026
dd7e076
fix changes
nicolas-f May 13, 2026
2450cdf
fix maven execution of generate docs
nicolas-f May 13, 2026
d0ad0f9
remove useless maven project. Create autodoc package with documentati…
nicolas-f May 13, 2026
29c6de6
-Add workflow_dispatch support and improve artifact handling in CI co…
nicolas-f May 13, 2026
85c6680
Merge pull request #931 from gpetit/add_functions
nicolas-f May 18, 2026
551eab1
fix ci static site, use java defined in java home env
nicolas-f May 18, 2026
beb4b7a
Merge pull request #938 from Universite-Gustave-Eiffel/staticsite
nicolas-f May 18, 2026
92b1e47
[skip ci] forget mkdir
nicolas-f May 18, 2026
e1cc7aa
Remove v5 ref and update UrbanMetrix
gpetit May 18, 2026
432a291
typo for dmg file
gpetit May 18, 2026
aaf2671
add warning for non signed packages
gpetit May 18, 2026
346f5e9
update warning for non signed packages
gpetit May 18, 2026
ba18719
fix non closed file stream
nicolas-f May 18, 2026
6d86208
fix groovy code
nicolas-f May 18, 2026
62fdcb1
Integration test in CI (#941)
nicolas-f May 18, 2026
88d9a5b
Add use_snapshots input to CI workflows and update Maven build commands
nicolas-f May 19, 2026
3da06d7
update splashscreen
gpetit May 20, 2026
ff8f4b9
From 6 to 6.0
gpetit May 20, 2026
ad8233d
Merge pull request #944 from gpetit/update_splashscreen
pierromond May 20, 2026
bd58133
Update landing page title
gpetit May 20, 2026
6c5f408
forget maven profile use-snapshots deactivated into the main release:…
nicolas-f May 20, 2026
01283ff
Update acoustics_parameters_confMaxReflDist schema
gpetit May 20, 2026
bf48f1c
Merge pull request #947 from gpetit/update_confMaxRefDist
pierromond May 20, 2026
6e528fa
github action could not create pull request (#949)
nicolas-f May 20, 2026
0cbb4e5
fix deploy issues, javadoc and project name
nicolas-f May 20, 2026
668d83f
Merge pull request #950 from Universite-Gustave-Eiffel/fixrelease3 [c…
nicolas-f May 20, 2026
3e87aae
fix maven pom for javadoc
nicolas-f May 20, 2026
46c9e65
Merge branch 'main' of github.com:Universite-Gustave-Eiffel/NoiseMode…
nicolas-f May 20, 2026
9c0499a
do not skip javadoc in static site [skip ci]
nicolas-f May 20, 2026
7a6c16d
fix javadoc
nicolas-f May 20, 2026
349fc9f
Merge pull request #951 from Universite-Gustave-Eiffel/fixrelease3
nicolas-f May 20, 2026
85bbfda
[maven-release-plugin] prepare release v6.0.0
github-actions[bot] May 20, 2026
aa72508
[maven-release-plugin] prepare for next development iteration
github-actions[bot] May 20, 2026
6b3556b
wrong maven settings in static page generation
nicolas-f May 20, 2026
16d34a9
add missing zip, add an option to skip tests
nicolas-f May 21, 2026
5863136
Merge pull request #953 from Universite-Gustave-Eiffel/release/v6.0.0
nicolas-f May 21, 2026
049d729
fix javadoc generation, always run javadoc by default
nicolas-f May 21, 2026
dec582f
Merge pull request #954 from Universite-Gustave-Eiffel/fix_staticsite
nicolas-f May 21, 2026
b931f83
Remove noise level from traffic, update tutorials (not fully done)
nicolas-f May 29, 2026
14fae8e
fix tests
nicolas-f May 29, 2026
a145523
fix test 2
nicolas-f May 29, 2026
7359216
handle HZ field in source geometries (no time period)
nicolas-f Jun 1, 2026
5848738
Update documentation
nicolas-f Jun 1, 2026
75fb5db
forget to use the new script in test folder
nicolas-f Jun 1, 2026
cefb754
forget filling by default values in the Main Runner program
nicolas-f Jun 1, 2026
c88daef
early return statement fix
nicolas-f Jun 2, 2026
1b72aff
reinsert noise level from traffic as deprecated script, fix for postgis
nicolas-f Jun 2, 2026
6dda73b
Add lineSourceSpacingRatio as param of Noise_level_from_source script…
SamuelBMartins Jun 2, 2026
2408b04
fix reinsert noise level from traffic as deprecated script
nicolas-f Jun 2, 2026
d0398ed
Merge branch 'main' of github.com:Universite-Gustave-Eiffel/NoiseMode…
nicolas-f Jun 2, 2026
c5da721
Fix merge
nicolas-f Jun 2, 2026
bb77b10
Merge pull request #958 from Universite-Gustave-Eiffel/removeTrafficWps
nicolas-f Jun 4, 2026
a58ccf4
Ignore package info groovy scripts
nicolas-f Jun 4, 2026
7643f32
Merge pull request #960 from Universite-Gustave-Eiffel/packageinfofix
pierromond Jun 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .github/ISSUE_TEMPLATE/bug-report-or-usage-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,6 @@ Steps to reproduce the behavior:
3. Scroll down to '....'
4. See error

**Geoserver log**

Attach geoserver log located in **data_dir\logs\geoserver.log**

**Expected behavior**
A clear and concise description of what you expected to happen.

Expand Down
121 changes: 73 additions & 48 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
name: CI

on: [ push, pull_request, workflow_dispatch ]
on:
push:
branches: [main]
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
build:
build_linux:
runs-on: ubuntu-latest
services:
postgres:
image: postgis/postgis:16-3.4
image: imresamu/postgis:17-3.5
env:
# must specify password for PG Docker container image, see: https://registry.hub.docker.com/_/postgres?tab=description&page=1&name=10
POSTGRES_USER: noisemodelling
Expand All @@ -18,6 +26,12 @@ jobs:
# needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Cache
uses: actions/cache@v4
with:
path: |
$HOME/.m2/
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
# Checkout the source code of the project
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -33,57 +47,68 @@ jobs:
gpg-private-key: ${{ secrets.GPG_SECRET_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Building
run: mvn test install javadoc:test-javadoc javadoc:jar -B
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build and test WPS with Gradle
run: ./gradlew build --info --stacktrace
working-directory: ./wps_scripts
- name: Maven Deploy
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
if: ${{ (env.MAVEN_USERNAME != null) && (github.ref == 'refs/heads/main') }}
run: mvn clean deploy -B
- name: Clean gradle cache
run: rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- name: Restore gradle.properties
run: mvn test install javadoc:jar package -B
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
if: ${{ (env.MAVEN_USERNAME != null) && (github.ref == 'refs/heads/main') }}
shell: bash
POSTGRES_HOST: localhost
POSTGRES_PORT: 5432
POSTGRES_DB: noisemodelling_db
POSTGRES_USER: noisemodelling
POSTGRES_PASSWORD: noisemodelling
- name: Unzip production artifacts
run: |
# 1. Unzip into a temporary directory
unzip -q noisemodelling-scripts/target/*.zip -d tmp_extract

# 2. Create target directory
mkdir NoiseModelling

# 3. Move contents from the subfolder to the target
# The asterisk-slash-asterisk moves everything inside the first subfolder
mv tmp_extract/*/* NoiseModelling/

# 4. Cleanup
rm -rf tmp_extract
- name: Integration test, use ScriptRunner with H2GIS
run: |
mkdir -p ~/.gradle/
echo "GRADLE_USER_HOME=${HOME}/.gradle" >> $GITHUB_ENV
echo "ossrhUsername=${MAVEN_USERNAME}" >> ~/.gradle/gradle.properties
echo "ossrhPassword=${MAVEN_PASSWORD}" >> ~/.gradle/gradle.properties
echo "signing.gnupg.passphrase=${MAVEN_GPG_PASSPHRASE}" >> ~/.gradle/gradle.properties
- name: Deploy WPS
bin/ScriptRunner -w /tmp/h2gis_ws -s get_started_tutorial_complex.groovy
working-directory: NoiseModelling
- name: Integration test, use ScriptRunner with PostGIS
run: |
bin/ScriptRunner -w /tmp/postgis_ws -s get_started_tutorial_complex.groovy --host localhost --user noisemodelling --password noisemodelling --port 5432 --database noisemodelling_db
working-directory: NoiseModelling
- name: Maven Deploy snapshot
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
if: ${{ (env.MAVEN_USERNAME != null) && (github.ref == 'refs/heads/main') }}
run: ./gradlew publish -d
working-directory: ./wps_scripts
- name: Cache
uses: actions/cache@v4
with:
path: |
$HOME/.m2/
$HOME/.gradle/caches/
$HOME/.gradle/wrapper/
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}

#Production of the archive
- name: Unzip production artifacts
run: ./gradlew assembleDist && unzip build/distributions/*.zip -d NoiseModelling_without_gui
working-directory: ./wps_scripts
- name: Archive production artifacts
run: mvn clean -DskipTests deploy -B
- name: Generate Sanitized Artifact Name
id: sanitize
run: |
# Determine the raw value (Ref name if not default branch, otherwise SHA)
if [ "${{ github.ref_name }}" != "${{ github.event.repository.default_branch }}" ]; then
RAW_VAL="${{ github.ref_name }}"
else
RAW_VAL="${{ github.sha }}"
fi

# Use sed to perform replacements:
# 1. / and \ become _
# 2. : is removed
# 3. * becomes x
CLEAN_VAL=$(echo "$RAW_VAL" | sed 's/[\/\\]/_/g; s/://g; s/\*/x/g')

# Set it as an environment variable for the next step
echo "ARTIFACT_NAME=NoiseModelling-$CLEAN_VAL" >> $GITHUB_ENV
- name: Upload distribution file
uses: actions/upload-artifact@v4
with:
name: NoiseModelling_without_gui
path: wps_scripts/NoiseModelling_without_gui/
name: ${{ env.ARTIFACT_NAME }}
path: NoiseModelling/
build_windows:
uses: ./.github/workflows/build_windows.yml
with:
git_ref: ${{ github.ref }}


161 changes: 103 additions & 58 deletions .github/workflows/CI_Release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,22 @@ name: CI release
on:
workflow_dispatch:
inputs:
nextVersion:
required: false
description: "Next version (optional)"
releaseVersion:
description: 'Release version (e.g., 2.0.0)'
required: true
developmentVersion:
description: 'Next development version (e.g., 2.1.0-SNAPSHOT)'
required: true

jobs:
build:
prepare_release:
outputs:
tag_name: v${{ github.event.inputs.release_version }}
name: Release and next iteration
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
# Checkout the source code of the project
- name: Checkout
Expand All @@ -28,71 +34,110 @@ jobs:
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.GPG_SECRET_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE

- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: '3.11'
# Configure git user in order to sign release with OrbisGIS user.
- name: Configure Git User
run: |
git config user.email "contact@noise-planet.org"
git config user.name Noise-Planet

# Test build
- name: Build test
run: mvn -ntp clean validate package test javadoc:test-javadoc javadoc:jar

- name: Install xmlstarlet (if needed)
run: sudo apt-get update && sudo apt-get install -y libxml-xpath-perl
- name: Update version in build.gradle
- name: Configure Git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Create Release Branch
run: |
bash update_gradle_version.sh
git commit -am "Update groovy wps version"
working-directory: wps_scripts
# Create the release :
# - move from Snapshot version to Release
# - commit and tag release
# - move to next Snapshot
# - upload release to maven repo
- name: Release
git checkout -b release/v${{ github.event.inputs.releaseVersion }}
- name: Prepare and perform Release
# -DpushChanges=false ensures Maven doesn't try to push to main automatically
run: |
VERSION=${{ github.event.inputs.nextVersion }}
mvn \
-ntp \
--batch-mode \
-Dmaven.test.skip=true \
release:prepare release:perform \
-Dusername=$GITHUB_ACTOR -Dpassword=$GITHUB_TOKEN ${VERSION:+"-DdevelopmentVersion="$VERSION"-SNAPSHOT"}
mvn -B release:prepare \
-DreleaseVersion=${{ github.event.inputs.releaseVersion }} \
-DdevelopmentVersion=${{ github.event.inputs.developmentVersion }} \
-DpushChanges=false \
-P-use-snapshots \
-Darguments="-P-use-snapshots"

# 2. Temporarily switch to the tag to deploy the Release version
git checkout v${{ github.event.inputs.releaseVersion }}

# 3. Deploy the Release version (the code currently checked out)
# We use -DskipTests because prepare already ran them.
mvn clean javadoc:jar deploy -P-use-snapshots -DskipTests -B

# 4. Switch back to the release branch to continue the workflow
git checkout release/v${{ github.event.inputs.releaseVersion }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
- name: Push Branch and Tag
run: |
# Push the commits (Release and Next Snapshot) to the temporary branch
git push origin release/v${{ github.event.inputs.releaseVersion }}
# Push the tag (Maven creates this locally)
git push origin v${{ github.event.inputs.releaseVersion }}
- name: Create Pull Request to Main
run: |
gh pr create \
--title "Release v${{ github.event.inputs.releaseVersion }}" \
--body "This PR updates the version to ${{ github.event.inputs.releaseVersion }} and prepares the next development cycle ${{ github.event.inputs.developmentVersion }}." \
--base main \
--head release/v${{ github.event.inputs.releaseVersion }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# Export the last git tag into env.
- name: Export env values
run: echo "GIT_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_ENV
# Make the Github release from the last created tag. Write in its body the content of the changelog file.
- name: Make Github release
uses: ncipollo/release-action@v1
build_windows_exe:
needs: prepare_release
uses: ./.github/workflows/build_windows.yml
with:
git_ref: v${{ github.event.inputs.releaseVersion }}
use_snapshots: false
run_unit_tests: false
build_macos_dmg:
needs: prepare_release
uses: ./.github/workflows/build_macos.yml
with:
git_ref: v${{ github.event.inputs.releaseVersion }}
use_snapshots: false
upload_release:
needs: [prepare_release, build_windows_exe, build_macos_dmg]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
tag: ${{ env.GIT_TAG }}
release: ${{ env.GIT_TAG }}
bodyFile: "README.md"
draft: false
prerelease: false
artifacts: "wps_scripts/build/distributions/scriptrunner.zip"

# If the version change is a major or minor, create a branch from the previous tag for future revisions.
- name: Branch fork
fetch-depth: 0 # Necessary to see tags and branches
- name: Build Zip Artifact
# Since we are already on the release-ready state locally,
# we can just package the webserver
run: |
GIT_TAG="${GIT_TAG:1}"
CUR_TAG="$( mvn help:evaluate -Dexpression=project.version | sed -n -e '/^\[.*\]/ !{ /^[0-9]/ { p; q } }' | cut -d- -f1)"
SPLIT0=(${GIT_TAG//./ })
SPLIT1=(${CUR_TAG//./ })
if [ "${SPLIT0[0]}" = "${SPLIT1[0]}" ] && [ "${SPLIT0[1]}" = "${SPLIT1[1]}" ]; then
echo "Revision change"
else
echo "Minor or Major change"
BRANCH="${SPLIT0[0]}.${SPLIT0[1]}.X"
git checkout -b "$BRANCH" "v${GIT_TAG}"
mvn versions:set -DnewVersion="${SPLIT0[0]}.${SPLIT0[1]}.$((${SPLIT0[2]}+1))-SNAPSHOT"
git commit -a -m "Set next version."
git push -u origin "$BRANCH"
fi
# Checkout the release tag to be sure we build the exact release code
git checkout v${{ github.event.inputs.releaseVersion }}
mvn clean package -DskipTests -P-use-snapshots
- name: Download windows Artifact
uses: actions/download-artifact@v4
with:
name: windows-installer
path: release-artifacts
- name: Download macOS Artifact
uses: actions/download-artifact@v4
with:
name: ${{ needs.build_macos_dmg.outputs.installer_name }}
path: release-artifacts
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ github.event.inputs.releaseVersion }}
name: Release ${{ github.event.inputs.releaseVersion }}
files: |
noisemodelling-scripts/target/NoiseModelling_${{ github.event.inputs.releaseVersion }}.zip
release-artifacts/${{ needs.build_windows_exe.outputs.installer_name }}
release-artifacts/${{ needs.build_macos_dmg.outputs.installer_name }}
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Loading
Loading