Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 38 additions & 1 deletion .github/workflows/publish-backend.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,50 @@ jobs:
env:
CHANGED_DIR: ${{ matrix.value }}

- id: gradleS3TaskAlize
name: Construct Gradle S3 publish task name from matrix variant
run: CHANGED_DIR=${{ matrix.value }}; echo "TASK_NAME=$(echo :$CHANGED_DIR:publishAllPublicationsToS3Repository | sed -e 's/\//:/g')">>${GITHUB_OUTPUT}
env:
CHANGED_DIR: ${{ matrix.value }}

- name: Test
run: ./gradlew ${{ steps.gradleTestTaskAlize.outputs.TASK_NAME }}

- name: Publish
- name: Publish to Sonatype (Maven Central)
run: ./gradlew ${{ steps.gradleTaskAlize.outputs.TASK_NAME }}
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
SONATYPE_USR: ${{ secrets.SONATYPE_USR }}
SONATYPE_PSW: ${{ secrets.SONATYPE_PSW }}

# The AWS credentials are not configured in every fork/environment yet, so the
# second leg of the dual publish is skipped rather than failed when they are absent.
- id: s3Credentials
name: Check whether S3 credentials are available
env:
AWS_ACCESS_KEY_ID: ${{ secrets.VALTIMO_RELEASE_S3_BUCKET_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.VALTIMO_RELEASE_S3_BUCKET_ACCESS_KEY_SECRET }}
run: |
if [[ -n "$AWS_ACCESS_KEY_ID" && -n "$AWS_SECRET_ACCESS_KEY" ]]; then
echo "available=true" >> "${GITHUB_OUTPUT}"
else
echo "available=false" >> "${GITHUB_OUTPUT}"
echo "::warning::S3 credentials (VALTIMO_RELEASE_S3_BUCKET_ACCESS_KEY_ID / _SECRET) are not set — skipping the S3 publish."
fi

# Second leg of the dual publish: the same artifacts, same coordinates and version,
# pushed to the Valtimo AWS S3 bucket (valtimo-releases, eu-central-1).
- name: Publish to S3 (AWS)
if: steps.s3Credentials.outputs.available == 'true'
run: |
./gradlew --no-parallel ${{ steps.gradleS3TaskAlize.outputs.TASK_NAME }} \
-PpublishToS3=true \
-Ps3Bucket=valtimo-releases \
-Ps3Region=eu-central-1
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
# Gradle's `AwsCredentials` reads these standard AWS env var names.
AWS_ACCESS_KEY_ID: ${{ secrets.VALTIMO_RELEASE_S3_BUCKET_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.VALTIMO_RELEASE_S3_BUCKET_ACCESS_KEY_SECRET }}
2 changes: 1 addition & 1 deletion backend/plugin/plugin.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
pluginGroupId=com.ritense.valtimoplugins
pluginArtifactId=publictask
pluginVersion=2.1.2
pluginVersion=2.1.3
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ allprojects {
mavenCentral()
maven { url = uri("https://s01.oss.sonatype.org/content/repositories/releases/") }
maven { url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/") }
maven { url = uri("https://valtimo-releases.s3.eu-central-1.amazonaws.com/") }
}
}

Expand Down
3 changes: 3 additions & 0 deletions documentation/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

Overzicht van wijzigingen per versie van de Publictask-plugin.

## 2.1.3
Valtimo bijgewerkt naar versie 13.41.0.

## 2.1.2
Gegevens uit een zaak worden in het publieke formulier altijd als tekst weergegeven en niet meer als opmaak of script uitgevoerd. Een link naar een publieke taak geeft het formulier daarnaast niet meer terug nadat de taak is afgerond of de uiterste datum is verstreken; links die al zijn verstuurd blijven werken.

Expand Down
74 changes: 37 additions & 37 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,43 +44,43 @@
"@ng-bootstrap/ng-bootstrap": "11.0.1",
"@ngx-translate/core": "16.0.4",
"@ngx-translate/http-loader": "16.0.1",
"@valtimo/access-control": "13.24.0",
"@valtimo/access-control-management": "13.24.0",
"@valtimo/account": "13.24.0",
"@valtimo/analyse": "13.24.0",
"@valtimo/bootstrap": "13.24.0",
"@valtimo/building-block-management": "13.24.0",
"@valtimo/case": "13.24.0",
"@valtimo/case-management": "13.24.0",
"@valtimo/case-migration": "13.24.0",
"@valtimo/choice-field": "13.24.0",
"@valtimo/components": "13.24.0",
"@valtimo/dashboard": "13.24.0",
"@valtimo/dashboard-management": "13.24.0",
"@valtimo/decision": "13.24.0",
"@valtimo/document": "13.24.0",
"@valtimo/form": "13.24.0",
"@valtimo/form-flow-management": "13.24.0",
"@valtimo/form-management": "13.24.0",
"@valtimo/iko": "13.24.0",
"@valtimo/keycloak": "13.24.0",
"@valtimo/layout": "13.24.0",
"@valtimo/logging": "13.24.0",
"@valtimo/migration": "13.24.0",
"@valtimo/milestone": "13.24.0",
"@valtimo/plugin": "13.24.0",
"@valtimo/plugin-management": "13.24.0",
"@valtimo/process": "13.24.0",
"@valtimo/process-link": "13.24.0",
"@valtimo/process-management": "13.24.0",
"@valtimo/resource": "13.24.0",
"@valtimo/security": "13.24.0",
"@valtimo/shared": "13.24.0",
"@valtimo/sse": "13.24.0",
"@valtimo/swagger": "13.24.0",
"@valtimo/task": "13.24.0",
"@valtimo/task-management": "13.24.0",
"@valtimo/teams": "13.24.0",
"@valtimo/access-control": "13.41.0",
"@valtimo/access-control-management": "13.41.0",
"@valtimo/account": "13.41.0",
"@valtimo/analyse": "13.41.0",
"@valtimo/bootstrap": "13.41.0",
"@valtimo/building-block-management": "13.41.0",
"@valtimo/case": "13.41.0",
"@valtimo/case-management": "13.41.0",
"@valtimo/case-migration": "13.41.0",
"@valtimo/choice-field": "13.41.0",
"@valtimo/components": "13.41.0",
"@valtimo/dashboard": "13.41.0",
"@valtimo/dashboard-management": "13.41.0",
"@valtimo/decision": "13.41.0",
"@valtimo/document": "13.41.0",
"@valtimo/form": "13.41.0",
"@valtimo/form-flow-management": "13.41.0",
"@valtimo/form-management": "13.41.0",
"@valtimo/iko": "13.41.0",
"@valtimo/keycloak": "13.41.0",
"@valtimo/layout": "13.41.0",
"@valtimo/logging": "13.41.0",
"@valtimo/migration": "13.41.0",
"@valtimo/milestone": "13.41.0",
"@valtimo/plugin": "13.41.0",
"@valtimo/plugin-management": "13.41.0",
"@valtimo/process": "13.41.0",
"@valtimo/process-link": "13.41.0",
"@valtimo/process-management": "13.41.0",
"@valtimo/resource": "13.41.0",
"@valtimo/security": "13.41.0",
"@valtimo/shared": "13.41.0",
"@valtimo/sse": "13.41.0",
"@valtimo/swagger": "13.41.0",
"@valtimo/task": "13.41.0",
"@valtimo/task-management": "13.41.0",
"@valtimo/teams": "13.41.0",
"@webcomponents/custom-elements": "1.6.0",
"ajv": "8.17.1",
"angular-split": "19.0.0",
Expand Down
2 changes: 1 addition & 1 deletion frontend/projects/plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@valtimo-plugins/publictask",
"license": "EUPL-1.2",
"version": "2.1.2",
"version": "2.1.3",
"peerDependencies": {
"@angular/common": "19.2.20",
"@angular/core": "19.2.20"
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ sumXmlWsVersion=4.0.3
nettyResolverDnsNativeMacOsVersion=4.2.0.Final
operatonVersion=1.0.3

valtimoVersion=13.37.0.RELEASE
valtimoVersion=13.41.0.RELEASE
20 changes: 20 additions & 0 deletions gradle/publishing.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,16 @@
*/

def sonatypeCentralStagingDir = "sonatypeCentralStaging"
// The S3 repository is only wired up when -PpublishToS3=true, so a plain Sonatype
// publish never sees it and never needs AWS credentials.
def publishToS3 = project.hasProperty('publishToS3') && project.property('publishToS3') == 'true'
def s3Bucket = project.findProperty('s3Bucket') ?: 'valtimo-releases'
// The region has to be part of the host for AWS: Gradle's S3 transport has no region property
// and its client ignores AWS_REGION, so a bare s3://<bucket> URL is signed for us-east-1 and
// rejected by buckets elsewhere. Leave s3Region empty for a non-AWS S3-compatible store, which
// is addressed with -Dorg.gradle.s3.endpoint at invocation time instead.
def s3Region = project.findProperty('s3Region') ?: ''
def s3Host = s3Region ? "${s3Bucket}.s3.${s3Region}.amazonaws.com" : s3Bucket
def signingConfigSet = false
if (System.getenv('SIGNING_KEY') &&
System.getenv('SIGNING_KEY_PASSWORD')
Expand All @@ -39,6 +49,16 @@ publishing {
name "Sonatype"
url = sonatypeCentralStagingDir
}
if (publishToS3) {
maven {
name "S3"
credentials(AwsCredentials) {
accessKey System.getenv('AWS_ACCESS_KEY_ID')
secretKey System.getenv('AWS_SECRET_ACCESS_KEY')
}
url = uri("s3://${s3Host}")
}
}
}
publications {
maven(MavenPublication) {
Expand Down
Loading