You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### Proposed Changes
* Introduces BDD Testing Framework
### Checklist
- [ ] I have added or updated unit tests
- [ ] I have added or updated integration tests (if appropriate)
- [ ] I have added or updated documentation
### Testing Instructions
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
- name: Build local platform-cukes image for testing
428
+
run: docker build -t platform-cukes .
429
+
430
+
- name: Run BDD Tests
431
+
run: |
432
+
CUKES_LOG_HANDLER=console go test ./tests-bdd -v --tags=cukes --godog.random --godog.format="cucumber:$(pwd)/cukes_platform_report.json,pretty:$(pwd)/cukes_platform_report.log,pretty" ./features
433
+
434
+
- name: Check for undefined steps
435
+
run: |
436
+
if grep -qi "Undefined" cukes_platform_report.log; then
Generate development keys/certs for the platform infrastructure.
78
78
79
+
> **Note for Apple M4 chip users:**
80
+
> If you are running on an Apple M4 chip, set the Java environment variable before running any commands:
81
+
> ```sh
82
+
>export JAVA_OPTS_APPEND="-XX:UseSVE=0"
83
+
>```
84
+
> This resolves SIGILL with Code 134 errors when running Java processes.
85
+
79
86
```sh
80
87
./.github/scripts/init-temp-keys.sh
81
88
```
82
89
83
90
Start the required infrastructure with [compose-spec](https://compose-spec.io).
84
91
85
92
```sh
86
-
# If you are on an M4 chip (Apple Silicon), use the provided script to ensure the correct Java environment:
87
-
./run-compose.sh -f docker-compose.yaml up
88
-
89
-
# Otherwise, use docker compose directly:
90
93
docker compose -f docker-compose.yaml up
91
94
```
92
95
93
-
> **Note:**
94
-
> The `run-compose.sh` script is required on Apple Silicon (M1/M2/M3/M4) Macs to ensure the correct Java environment is used for containers that require x86_64 Java images.
95
-
> This is necessary because some images (such as Keycloak) may not have ARM-compatible builds, and the script sets up emulation as needed.
96
-
97
96
Copy the development configuration file from the example and update it with your own values (if necessary, not common).
98
97
99
98
```sh
@@ -137,7 +136,7 @@ platform. The SDKs contain a native Go SDK and generated Go service SDKs. A full
137
136
138
137
### How To Add a New Go Module
139
138
140
-
Within this repo, todefine a new, distinct [go module](https://go.dev/ref/mod),
139
+
Within this repo, to define a new, distinct [go module](https://go.dev/ref/mod),
141
140
for example to provide shared functionality between several existing modules,
142
141
or to define new and unique functionality
143
142
follow these steps.
@@ -198,7 +197,7 @@ COPY lib/foo/ lib/foo/
198
197
199
198
#### Updating the Workflow Files
200
199
201
-
1. Add your new `go.mod` directory to the `.github/workflows/checks.yaml`'s `go` job's `matrix.strategry.directory` line.
200
+
1. Add your new `go.mod` directory to the `.github/workflows/checks.yaml`'s `go` job's `strategy.matrix.directory` line.
202
201
2. Add the module to the `license` job in the `checks` workflow as well, especially if you declare _any_ dependencies.
203
202
3. Do the same for any other workflows that should be running on your folder, such as `vuln-check` and `lint`.
# If you are running on a M4 chip use the run-compose.sh script to start the containers
47
-
# The EXTRA_JAVA_OPTS variable allows users to pass additional Java options and is used by the run-compose.sh script
48
-
# to set the JAVA_OPTS_APPEND environment variable in the Keycloak container
49
-
JAVA_OPTS_APPEND: "${EXTRA_JAVA_OPTS}"
50
-
# OR comment the above line and uncomment the JAVA_OPTS_APPEND line below
51
-
# JAVA_OPTS_APPEND: "-XX:UseSVE=0" # Uncommenting resolves SIGILL with Code 134 when running on a machine with an M4 chip: https://github.com/keycloak/keycloak/issues/36008
46
+
# The following environment variable resolves SIGILL with Code 134 when running Java processes on Apple M4 chips
47
+
#
48
+
# On Apple Silicon (M4 chip):
49
+
# export JAVA_OPTS_APPEND="-XX:UseSVE=0"
50
+
# docker-compose up
51
+
#
52
+
# On other architectures:
53
+
# export JAVA_OPTS_APPEND=""
54
+
# docker-compose up
55
+
#
56
+
# Or set directly: JAVA_OPTS_APPEND="-XX:UseSVE=0" docker-compose up
0 commit comments