Skip to content

Commit 009c2e2

Browse files
Merge branch 'development' into kv-oidc-updates-4041
2 parents edd11e6 + 1e1e440 commit 009c2e2

88 files changed

Lines changed: 1678 additions & 103 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/branch-deletion-pr-creation.yml

Lines changed: 52 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,18 @@ jobs:
3838
3939
- name: Process branches
4040
id: branch-data
41+
env:
42+
MIN_AGE_DAYS: ${{ github.event.inputs.min_age_days || '27' }}
4143
run: |
4244
set -e
4345
ALL_BRANCHES=$(git branch -r | grep -v "origin/HEAD" | sed 's/origin\///')
44-
MIN_AGE_DAYS=${{ github.event.inputs.min_age_days || 27 }}
46+
MIN_AGE_DAYS=${MIN_AGE_DAYS:-27}
47+
48+
echo "MIN_AGE_DAYS=${MIN_AGE_DAYS}"
49+
50+
PROTECTED_COUNT=0
51+
MERGED_COUNT=0
52+
UNMERGED_COUNT=0
4553
4654
PROTECTED_BRANCHES=()
4755
MERGED_BRANCHES_TO_PROCESS=()
@@ -54,38 +62,56 @@ jobs:
5462
5563
for BRANCH in $ALL_BRANCHES; do
5664
branch_lower=$(echo "$BRANCH" | tr '[:upper:]' '[:lower:]')
57-
if [[ $branch_lower =~ (backup|development|main|master|production) ]]; then
58-
PROTECTED_BRANCHES+=("$BRANCH (protected)")
65+
if [[ $branch_lower == *backup* || $branch_lower =~ ^(development|main|master|production)(-[0-9]+)?$ ]]; then
66+
PROTECTED_BRANCHES+=("$BRANCH")
67+
PROTECTED_COUNT=$((PROTECTED_COUNT+1))
5968
elif git branch -r --merged origin/development | grep -q "origin/$BRANCH"; then
6069
MERGED_BRANCHES_TO_PROCESS+=("$BRANCH")
70+
MERGED_COUNT=$((MERGED_COUNT+1))
6171
else
62-
UNMERGED_BRANCHES+=("$BRANCH (not merged)")
72+
UNMERGED_BRANCHES+=("$BRANCH")
73+
UNMERGED_COUNT=$((UNMERGED_COUNT+1))
6374
fi
6475
done
6576
77+
echo "branch totals: protected=${PROTECTED_COUNT} merged=${MERGED_COUNT} unmerged=${UNMERGED_COUNT}"
78+
6679
for BRANCH in "${MERGED_BRANCHES_TO_PROCESS[@]}"; do
6780
MERGE_HASH=$(git log --grep="Merge branch.*$BRANCH" origin/development -n 1 --pretty=format:"%H" || true)
68-
[ -z "$MERGE_HASH" ] && MERGE_HASH=$(git log -n 1 origin/$BRANCH --pretty=format:"%H")
69-
70-
MERGE_DATE=$(git show -s --format=%ct $MERGE_HASH)
71-
DAYS_AGO=$(( ($(date +%s) - MERGE_DATE) / 86400 ))
72-
81+
if [ -z "$MERGE_HASH" ]; then
82+
MERGE_HASH=$(git log -n 1 origin/$BRANCH --pretty=format:"%H" || true)
83+
fi
84+
85+
if [ -z "$MERGE_HASH" ]; then
86+
echo "WARN: no merge commit found for $BRANCH — skipping"
87+
UNMERGED_BRANCHES+=("$BRANCH (no-merge-hash)")
88+
UNMERGED_COUNT=$((UNMERGED_COUNT+1))
89+
continue
90+
fi
91+
92+
MERGE_DATE_EPOCH=$(git show -s --format=%ct $MERGE_HASH 2>/dev/null || true)
93+
if [ -z "$MERGE_DATE_EPOCH" ]; then
94+
echo "WARN: could not read commit date for $BRANCH (hash=$MERGE_HASH) — skipping"
95+
UNMERGED_BRANCHES+=("$BRANCH (no-merge-date)")
96+
UNMERGED_COUNT=$((UNMERGED_COUNT+1))
97+
continue
98+
fi
99+
100+
DAYS_AGO=$(( ($(date +%s) - MERGE_DATE_EPOCH) / 86400 ))
101+
73102
if [[ $DAYS_AGO -ge $MIN_AGE_DAYS ]]; then
74-
BRANCHES_TO_DELETE+=("$BRANCH")
103+
BRANCHES_TO_DELETE+=("$BRANCH (${DAYS_AGO}d since merge)")
75104
else
76-
BRANCHES_TOO_RECENT+=("$BRANCH (too recent: ${DAYS_AGO}d)")
105+
BRANCHES_TOO_RECENT+=("$BRANCH (${DAYS_AGO}d since merge)")
77106
fi
107+
echo "checked $BRANCH: hash=$MERGE_HASH date=$MERGE_DATE_EPOCH days=${DAYS_AGO}"
78108
done
79109
80-
ALL_NON_DELETED=(
81-
"${PROTECTED_BRANCHES[@]}"
82-
"${BRANCHES_TOO_RECENT[@]}"
83-
"${UNMERGED_BRANCHES[@]}"
84-
)
85-
86110
echo "HAS_BRANCHES=$([ ${#BRANCHES_TO_DELETE[@]} -gt 0 ] && echo true || echo false)" >> $GITHUB_ENV
87111
echo "BRANCHES_TO_DELETE=$(printf -- '- %s\n' "${BRANCHES_TO_DELETE[@]}" | jq -Rs .)" >> $GITHUB_ENV
88-
echo "ALL_NON_DELETED=$(printf -- '- %s\n' "${ALL_NON_DELETED[@]}" | jq -Rs .)" >> $GITHUB_ENV
112+
echo "PROTECTED_BRANCHES=$(printf -- '- %s\n' "${PROTECTED_BRANCHES[@]}" | jq -Rs .)" >> $GITHUB_ENV
113+
echo "BRANCHES_TOO_RECENT=$(printf -- '- %s\n' "${BRANCHES_TOO_RECENT[@]}" | jq -Rs .)" >> $GITHUB_ENV
114+
echo "UNMERGED_BRANCHES=$(printf -- '- %s\n' "${UNMERGED_BRANCHES[@]}" | jq -Rs .)" >> $GITHUB_ENV
89115
90116
- name: Create Deletion PR
91117
if: env.HAS_BRANCHES == 'true'
@@ -97,8 +123,14 @@ jobs:
97123
### Branches for Deletion
98124
${{ fromJSON(env.BRANCHES_TO_DELETE) }}
99125
100-
### Protected/Recent Branches
101-
${{ fromJSON(env.ALL_NON_DELETED) }}
126+
### Protected Branches
127+
${{ fromJSON(env.PROTECTED_BRANCHES) }}
128+
129+
### Recent Merges (too recent to delete)
130+
${{ fromJSON(env.BRANCHES_TOO_RECENT) }}
131+
132+
### Unmerged Branches
133+
${{ fromJSON(env.UNMERGED_BRANCHES) }}
102134
base: development
103135
labels: Internal WIP
104136
assignees: MarkvanMents,OlufunkeMoronfolu

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ hugo.exe
88
/.hugo_build.lock
99
/.claude/audit.log
1010
/.claude/settings.local.json
11+
/.mcp.json
1112

1213
# For Mac users
1314
.DS_Store

content/en/docs/community-tools/contribute-to-mendix-docs/markdown-shortcodes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ If the tab pane contains code with an asterisk (`*`) in it, the linter rule for
189189
190190
Mendix videos are hosted on Vidyard. For more information, see [the Videos section of the Style Guide](https://mendix.atlassian.net/wiki/spaces/RNDHB/pages/2510061889/Images+Icons+and+Videos#Videos).
191191
192-
{{< vidyard "GwE17mzGma5NAvDnXrVdFA" >}}
192+
{{< vidyard id="GwE17mzGma5NAvDnXrVdFA" date_updated="YYYY-MM-DD" >}}
193193
194194
## Other Markdown and HTML Guidelines
195195

content/en/docs/community-tools/how-to-set-up-your-partner-profile.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ If you already had projects in the old partner profile, they can be automaticall
7575

7676
{{% alert color="info" %}}Ensure you have customer approval for publishing project references.{{% /alert %}}
7777

78-
For technical support or questions, contact partnerfinder@mendix.com.
79-
8078
## Read More
8179

8280
* [Mendix Profile](/portal/mendix-profile/)

content/en/docs/deployment/general/licensing-apps/_index.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ You will need to add the license credentials and configure the license in the Me
9090

9191
### Cloud Foundry{#cloudfoundry}
9292

93+
The following steps describe activating the license for deployments using the Cloud Foundry Buildpack. If you are deploying using Portable App Distribution, follow the steps in the [Portable App Distribution](#portableappdistribution) section below.
94+
9395
To activate a license on your app running on Cloud Foundry, you need the license credentials provided by Mendix Support.
9496

9597
The two environment variables `LICENSE_ID` and `LICENSE_KEY` need to be set to the values of the **LicenseId** and **LicenseKey** provided by Mendix Support. Do this by running the following two commands, replacing `<YOUR_APP>` with the name of your app.
@@ -103,6 +105,8 @@ Then restart the app so that the environment variables are read and the license
103105

104106
### Docker
105107

108+
The following steps describe activating the license for deployments using the Docker Buildpack. If you are deploying using Portable App Distribution, follow the steps in the [Portable App Distribution](#portableappdistribution) section below.
109+
106110
To activate a license on your app running in a Docker container, you need the license credentials provided by Mendix Support.
107111

108112
Two additional environment variables, `LICENSE_ID` and `LICENSE_KEY`, need to be set to the values of the **LicenseId** and **LicenseKey** provided by Mendix Support. To do this, add them to the startup command for your container.
@@ -133,6 +137,8 @@ For full instructions on how to do this, see [Activate a Mendix License on Micro
133137

134138
### Unix-Like Server
135139

140+
The following steps describe activating the license for deployments using the M2EE tool. If you are deploying using Portable App Distribution, follow the steps in the [Portable App Distribution](#portableappdistribution) section below.
141+
136142
To license a Mendix app on Linux or another Unix-like operating system, follow these steps:
137143

138144
1. Open the interactive m2ee console.
@@ -141,3 +147,20 @@ To license a Mendix app on Linux or another Unix-like operating system, follow t
141147
4. Activate your license on the server, using the m2ee command `activate_license`.
142148

143149
For more instructions on how to do this, see [Linux Deployment](/developerportal/deploy/linux/).
150+
151+
### Portable App Distribution{#portableappdistribution}
152+
153+
To activate the license on a Mendix app using Portable App Distribution on either Docker, Cloud Foundry, or Unix-like servers, follow these steps:
154+
155+
1. Open the `$ConfigName.conf` in `etc/configurations`.
156+
2.  Add the `LicenseID` and `LicenseKey` to your runtime configuration:
157+
158+
```bash
159+
# License configuration
160+
runtime.params {
161+
License.LicenseID = <licenseId>
162+
License.LicenseKey = <license_Key
163+
}
164+
```
165+
166+
The values for these properties can also be passed by using environment variables for your deployment type, or by creating a separate config file.

content/en/docs/deployment/on-premises-design/ms-windows/sql-server/restoring-a-sql-server-database.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This how-to teaches you how to do the following:
1515

1616
For a deep-dive look into this action, check out this video:
1717

18-
{{< vidyard "WZu7QtHZPjtYUTdcV58PKr?" >}}
18+
{{< vidyard id="WZu7QtHZPjtYUTdcV58PKr?" >}}
1919

2020
## Prerequisites
2121

content/en/docs/deployment/private-cloud/private-cloud-cluster/private-cloud-storage-plans.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,9 @@ The AWS S3 library is also updated in the latest LTS versions of Studio Pro:
156156

157157
Mendix Operator 2.25 (or later versions) will automatically recognise an S3 bucket's region from its endpoint address:
158158

159-
* If the bucket endpoint has a `<subdomains>.<region>.amazonaws.com` format (or `<subdomains>.<region>.amazonaws.com.<suffix>` format for AWS China regions),
160-
the Operator uses `<region>` as the S3 region name.
161-
* If the S3 bucket endpoint does not match this format, the Mendix Operator will use a default `us-east-1` region, as this works with most S3-compatible buckets like [Minio](#blob-minio) and [Google Cloud Storage](#blob-gcp-storage-bucket).
159+
* If the bucket endpoint has a `<subdomains>.<region>.amazonaws.com` format (or `<subdomains>.<region>.amazonaws.com.<suffix>` format for AWS China regions), the Operator uses `<region>` as the S3 region name.
160+
* For buckets that use the `<bucketname>.s3.amazonaws.com` [Legacy global endpoint](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#VirtualHostingBackwardsCompatibility) format, Mendix Operator 2.26.1 (or later versions) detects the bucket region with a [HeadBucket call](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html#API_HeadBucket_ResponseSyntax). If the call fails, the Mendix Operator uses the default `us-east-1` region instead.
161+
* If the S3 bucket endpoint does not match this format, the Mendix Operator uses a default `us-east-1` region, as this works with most S3-compatible buckets (for example, [Minio](#blob-minio) and [Google Cloud Storage](#blob-gcp-storage-bucket)).
162162

163163
In some scenarios (legacy or custom S3 endpoints), this autodetection might not work correctly. In this case, you can manually specify the S3 bucket region by setting the [com.mendix.storage.s3.Region](/refguide/custom-settings/#commendixstorages3Region) Custom Runtime Setting. A manually specified `com.mendix.storage.s3.Region` will override the autodetected bucket region.
164164

content/en/docs/deployment/private-cloud/private-cloud-supported-environments.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ If deploying to Red Hat OpenShift, you need to specify that specifically when cr
3636

3737
Mendix on Kubernetes Operator `v2.*.*` is the latest version which officially supports:
3838

39-
* Kubernetes versions 1.19 through 1.34
40-
* OpenShift 4.6 through 4.20
39+
* Kubernetes versions 1.19 through 1.35
40+
* OpenShift 4.6 through 4.21
4141

4242
{{% alert color="warning" %}}
4343
Kubernetes 1.22 is a [new release](https://kubernetes.io/blog/2021/08/04/kubernetes-1-22-release-announcement/) which removes support for several deprecated APIs and features.

content/en/docs/developerportal/digital-execution/implement-mendix/mendix-ecosystem.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ aliases:
1010

1111
## Introduction
1212

13-
{{< vidyard "AVffVf7KCVt7h1ioBvUQ1f" >}}
13+
{{< vidyard id="AVffVf7KCVt7h1ioBvUQ1f" >}}
1414

1515
This section offers an overview of the Mendix platform, and outlines the 5 P’s of Digital Transformation and their importance to your Mendix success.
1616

content/en/docs/howto8/front-end/customize-styling/calypso.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Calypso is the easiest styling solution for most users. However, if you already
1919

2020
For a deep-dive look into styling with Calypso, check out this video:
2121

22-
{{< vidyard "M2NCccTnfnh7Yx2gjEyBpf" >}}
22+
{{< vidyard id="M2NCccTnfnh7Yx2gjEyBpf" >}}
2323

2424
## Prerequisites
2525

0 commit comments

Comments
 (0)