Skip to content

Commit 6889845

Browse files
lena-larionovafabianrbztomek-labuklmilanGuaris
authored
Release: Event gateway GA (#3134)
* chore(event-gateway): create folders for policies * chore(event-gateway): remove policies collection, we'll use a generator * chore(event-gateway): refactor policy templates * fix(mesh): max_version typo * chore: rename policy templates and includes * chore: refactor event-gateway policies into policies and re-use mesh-policies' implementation * chore(event-gateway): remove schema from overview page, there's a configuration reference page now * chore(event-gateway): add example * chore(event-gateway): redirect /examples/ to the first example * chore(event-gateway): add supoprt for skipping event gateway policies * decrypt examples * fix(policies): namespace example urls with the right product * move all the other examples * Feat: Event gateway landing page (#3038) * event gateway landing page update + placeholder pages * remove duplicate frontmatter * Apply suggestion from @tomek-labuk Co-authored-by: tomek-labuk <[email protected]> * Apply suggestion from @tomek-labuk Co-authored-by: tomek-labuk <[email protected]> * Apply suggestion from @tomek-labuk Co-authored-by: tomek-labuk <[email protected]> * Apply suggestion from @tomek-labuk Co-authored-by: tomek-labuk <[email protected]> --------- Co-authored-by: tomek-labuk <[email protected]> * feat(knep-policy-example): render event gateway policy examples similar to plugin examples * fix(knep-policy-examples): add `name` to examples and remove terraform as tool, we only support konnect-api for now * feat: set phases on each policy and render them accordingly * feat(event-gateway): add condition to examples * feat(event-gateway): add `policy_target` to policies * feat(event-gateway): add support for adding policies to listener and render the corresponding examples * feat(event-gateway): add policies hub * feat(event-gateway): add all-docs-link to policy page * make vale happy * Change edit_and_issue_links to false in knep policies * feat: add `no_edit_link` to frontmatter * Feat(Event Gateway): ACLs policy (#3133) * acls policy * Update index.md * Update index.md * Update index.md * Update index.md * wording --------- Co-authored-by: Angel <[email protected]> * update(event-gateway): Modify Headers policy (#3137) * update modify headers policy * fix typo * Remove trailing slash from policies Signed-off-by: Diana <[email protected]> * draft skip records policy (#3148) * update(event-gateway): Schema validation policies (#3146) * update schema registry policy; split into two to use different schemas * add redirect * fix(event-gateways): use `type` for setting the type on examples * fix(event-gateway): use double quotes for defining `conditions` and escape them in curl commands --------- Co-authored-by: Fabian Rodriguez <[email protected]> * Feat(Event Gateway): Get started guide (#3079) * update get started guide * update env var + add listener policy * some fixes based on testing * update docker compose for kafka; add more validation; use quickstart * minor edit * more fixes * more fixes --------- Co-authored-by: lena-larionova <[email protected]> * Feat(Event Gateway): Listeners reference (#3116) * Update listeners.md * Update listeners.md * Update listeners.md * Update listeners.md * Update listeners.md * rename * Apply Charly's feedback, fix vale and frontmatter, fix examples Signed-off-by: Diana <[email protected]> * Fix vale Signed-off-by: Diana <[email protected]> * Apply tech accuracy feedback Signed-off-by: Diana <[email protected]> --------- Signed-off-by: Diana <[email protected]> Co-authored-by: Diana <[email protected]> * Feat(Event Gateway): Backend clusters reference (#3109) * Update backend-clusters.md * Update backend-clusters.md * Update backend-clusters.md * Update backend-clusters.md * Update backend-clusters.md * Update backend-clusters.md * rename * EGW backend * front matter * auth --------- Co-authored-by: Angel <[email protected]> * update(event-gateway): Encrypt and decrypt policies (#3136) * update encrypt and decrypt policies * fix description of examples * fix(event-gateway): env variables in policy examples * fix(event-gateway): replace placeholders with env variables * Apply suggestions from code review * fixing broken link * actually fix the broken link * fix link * Blank push to retrigger deploy Signed-off-by: Diana <[email protected]> --------- Signed-off-by: Diana <[email protected]> Co-authored-by: Fabian Rodriguez <[email protected]> Co-authored-by: Diana <[email protected]> * feat(event-gateway): Listener policies (#3124) * listener policies * Apply suggestions from code review Co-authored-by: Diana <[email protected]> * fixes * Apply suggestions from code review Co-authored-by: Diana <[email protected]> --------- Co-authored-by: Diana <[email protected]> * fix(event-gateway): Update condition syntax * chore(event-gateway): Unpublish placeholder and beta how-tos until they're written * fix(event-gateway): remove nonexistent acl_mode setting from backend cluster * fix(event-gateway): convert backend cluster example; fix syntax * feat(event-gateway): How event gateway works (#3163) * draft intro to event gateway doc * fix table --------- Co-authored-by: Angel <[email protected]> * feat(event-gateway): Policies entity (#3097) * policies entity draft * rename to singular form * feat(missing-redirects): add support for manually skip a check if the label `ci:manual-approve:missing-redirects` is present * add prereqs for examples; add terraform; clean up * changes * rewrite * apply reviewer feedback * fix table * turn anchor links into filters * some clarifications --------- Co-authored-by: Fabian Rodriguez <[email protected]> Co-authored-by: Angel <[email protected]> * feat(event-gateway): Virtual clusters (#3095) * virtual clusters ref doc draft * vale * another attempt to make vale happy * add authentication info * document namespaces * link to policies * diagram * fix typos + vale * rename to singular * convert namespaces to curl commands * clean up and use real values * remove extra line * add terraform and convert examples * Apply suggestions from code review Co-authored-by: Angel <[email protected]> * fix table and adjust diagram * apply reviewer feedback * add multitenancy to disctionary * more vale * remove extra info * remove one small sentence --------- Co-authored-by: Angel <[email protected]> Co-authored-by: Angel <[email protected]> * rename links * comment out how-to * comment out use cases * fix links and remove non-existent pages * make vale happy * fix(event-gateway): broken links Rename `acls` policy to `acl` and drop plurals from urls * chore(event-gateway): add missing breadcrumbs * chore(event-gateway): update schemas * chore(event-gateway): update js to handle the new dev portal and modify the request urls in the proxy. chore(event-gateway): add new version to products/event-gateway chore(event-gateway): point to the new dev portal hardcode v3 portal urls * fix(event-gateway) Event gateway internal review feedback + cleanup (#3215) * event gateway internal review feedback + cleanup * example port list command * add cross-links; adjust text on landing page * expand explanations for the get started guide (#3226) * feat(event-gateway): WIP: Event Gateway bootstrap config env variables * chore(vale): add plugin_schema and no_edit_link to the list of keys that vale should ignoe in the frontmatters * add descriptions for config methods * add diagrams for virtual cluster policies (#3264) * update egw overview diagram (#3279) * add more info; update index and landing page * add a line about bootstrap config params to the install instructions * expressions reference (#3278) * Update app/event-gateway/configuration.md Co-authored-by: Fabian Rodriguez <[email protected]> * chore(event-gateway): use validations in get-started and extract env variables from the curl commands * chore(event-gateway): use `--exit` flag when running kafkactl consume and use a validation for the command * chore(event-gateway): add message to custom-commands expectations * chore(tests): update docker image and move file up one folder * chore(tests): add dotenv * chore(tests): run event-gateway automated tests and set more metadata for testing * chore(tests): update event-gateway get-started validation messages * chore: Run event-gateway get started * chore(tests): move event-gateway docker-compose.yaml to an include file so we can use it in the automated tests This applies to all the products that might require special files to be run, the convention is app/_includes/_files/<product>/<file>, that way we know which files we need to mount for each product when running the tests. * wip: refactor the way automated tests work Multiple changes in this commmit: * We now have instructions for each product on the different run-times (gateway and konnect for now). * The main product of each haw-to is used (products.first) to set up/tear down the environment. * Environment variables that are prefixed with `TESTS_` are loaded into the container running the tests so that we can pass env variables to it. * Add dotenv. * Store env variables into a file in the container. * Fix an issue when parsing env variables that contained `=`. * Mount app/_includes/_files into the container, some product-specific files are needed for setting up some things. This might change soon. * chore(tests): add reports and inputs to .gitignore * fix(event-gateway): update cluster and network name * chore(tests): remove skipped tests from the report * chore(event-gateway): rename network * chore(tests): add ai-gateway basic on-prem setup and update instructions * chore(tests): refactor github action to use re-usable steps and run event gateway tests once a month * Add 'vc' to the dictionary * fix: use include_cached Co-authored-by: lena-larionova <[email protected]> * feat(custom-command): add support for opting out of rendering the output in custom-command validation. * make vale happy * related links; fix entity diagram; clean up get started guide (#3295) * feat(event-gateway): Schema registry entity (#3296) * split out schema registry into an entity page; add a landing page for entities * Update app/_includes/knep/schema-validation.md Co-authored-by: tomek-labuk <[email protected]> * Add schema-registry path to index --------- Co-authored-by: tomek-labuk <[email protected]> * Fix schema path for Listener to EventGatewayListener * add blurb about the Konnect UI * feat(event-gateway): auto generate konnect-api and terraform examples * feat(event-gateway): add ui support for generating examples * feat(event-gateway): render one policy example on entities page * feat(event-gateway): render one policy example and ui instructions * feat(event-gateway): policy examples terraform support * fix(event-gateway): use double quotes in policy examples so they render nicely in curl examples * fix(terraform): replace env variables in examples defined with ${env['VARIABLE']} with terraform notation, i.e. `var.variable` * fix: plugin examples generation * fix(event-gateway): remove examples. Listener policies don't support `condition` * fix(event-gateway): policy examples dropdown on mobile * add schema registry examples * Update app/_includes/components/entity_example/format/ui.md Co-authored-by: lena-larionova <[email protected]> * Update app/_includes/components/entity_example/format/ui.md Co-authored-by: lena-larionova <[email protected]> * Update app/_includes/components/entity_example/format/ui.md Co-authored-by: lena-larionova <[email protected]> * Update app/_includes/components/entity_example/format/ui.md Co-authored-by: lena-larionova <[email protected]> * Update app/_includes/components/entity_example/format/ui.md Co-authored-by: lena-larionova <[email protected]> * Update app/_includes/components/entity_example/format/ui.md Co-authored-by: lena-larionova <[email protected]> * Update app/_includes/components/entity_example/format/ui.md Co-authored-by: lena-larionova <[email protected]> * Update app/event-gateway/entities/policy.md Co-authored-by: lena-larionova <[email protected]> * fix(event-gateway): terraforn resource name * document policy nesting * fix link * chore(event-gateway): fix examples and render `parent_policy_id` * update all the links to the event gateway api * add redirects * fix(event-gateway): add missing api-spec link to listener * fix: add `policy` to the list of tags * fix(event-gateway): link to API reference * Update text for expressions language reference * feat(event-gateway): improve schema validation docs * rename files * fix confluent typos * Feat(EGW): version support policy (#3390) * support policy * Apply suggestions from code review Co-authored-by: Diana <[email protected]> --------- Co-authored-by: Diana <[email protected]> * fix(event-gateway): Encrypt and decrypt policies (#3262) * fix encrypt and decrypt policy docs * chore(event-gateway): wip working encrypt/decrypt policy examples TODO: For consistency we should use the same keys (or just one) in both policies * chore(event-gateway): simplify and update encrypt/decrypt policy examples * feat(event-gateway): add static keys page * chore(event-gateway): update encrypt and decrypt policies * make vale happy * edits * Apply suggestions from code review --------- Co-authored-by: Fabian Rodriguez <[email protected]> Co-authored-by: Angel <[email protected]> Co-authored-by: Angel <[email protected]> * Feat(Event Gateway): Productize kafka topics (#3386) * draft * Update productize-kafka-topics.md * Update productize-kafka-topics.md * Update productize-kafka-topics.md * fix(event-gateway): productize kafka topics commands * copy * vale * vale2 * vale3 --------- Co-authored-by: Fabian Rodriguez <[email protected]> Co-authored-by: Angel <[email protected]> * fix(event-gateway): how-to, it was including the same `capture` twice * chore(event-gateway): refactor setup/reset and use a custom name for the event gateway * fix(event-gateway): return code in how-to * fix(tests): handle exit codes !=1 gracefully * chore(event-gateway): sync oas data and update API page * Revert "chore(event-gateway): update js to handle the new dev portal and modify" This reverts commit 38f2735. * fix(event-gateway): normalize entity title * chore(event-gateway): update index * fix(event-gateway): link * fix(event-gateway): Render the right link to the API depending on the product * fix(event-gateway): skip generator in dev * Fix how tos (#3403) * fix(event-gateway): get started and capture the variables * ix(event-gateway): productize kafka topics capture the variables * egw-fixes * fix(event-gateway): tls-connection example (#3406) * Feat(Event Gateway): Known limitations (#3400) * Create known-limitations.md * Update known-limitations.md * Update Dictionary.txt * Update event-gateway.yaml * Add 'in' as a relational operator in expressions (#3408) * fix policy (#3407) * chore(request-check): pass --no-progress-meter and --fail-with-body to curl commands * Encrypt how to (#3413) * wip encrypt/decrypt how-to * make vale happy * add links * Update encrypt-kafka-messages-with-event-gateway.md * Update encrypt-kafka-messages-with-event-gateway.md * cleanup * Update event-gateway.md * index --------- Co-authored-by: Lucie Milan <[email protected]> Co-authored-by: Angel <[email protected]> * spelling * docs: improve architecture docs * Update app/event-gateway/architecture.md --------- Signed-off-by: Diana <[email protected]> Co-authored-by: Fabian Rodriguez <[email protected]> Co-authored-by: tomek-labuk <[email protected]> Co-authored-by: Lucie Milan <[email protected]> Co-authored-by: Angel <[email protected]> Co-authored-by: Diana <[email protected]> Co-authored-by: Angel <[email protected]> Co-authored-by: Jakub Dyszkiewicz <[email protected]> Co-authored-by: Jorge Bay <[email protected]> Co-authored-by: Lucie Milan <[email protected]> Co-authored-by: Mike Beaumont <[email protected]>
1 parent 622e339 commit 6889845

File tree

189 files changed

+7336
-2864
lines changed

Some content is hidden

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

189 files changed

+7336
-2864
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: Generate Instruction Files
2+
description: Generates the instruction files for the automated tests
3+
runs:
4+
using: composite
5+
steps:
6+
- name: Generate instruction files
7+
shell: bash
8+
working-directory: tools/automated-tests
9+
run: |
10+
npm ci
11+
npx playwright install --with-deps chromium
12+
npm run generate-instruction-files
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Install deps
2+
description: Install deps
3+
runs:
4+
using: composite
5+
steps:
6+
# Configure Ruby to build Jekyll site
7+
- name: Set up Ruby
8+
uses: ruby/setup-ruby@84684c07c1965536eb4802c8daf1a77968df0cb1 # v1
9+
with:
10+
ruby-version: .ruby-version
11+
12+
- name: Ruby gem cache
13+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
14+
with:
15+
path: ${{ github.workspace }}/vendor/bundle
16+
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
17+
restore-keys: |
18+
${{ runner.os }}-gems-
19+
20+
- name: Bundle Setup
21+
shell: bash
22+
run: bundle config path ${{ github.workspace }}/vendor/bundle
23+
24+
- name: Bundle Install
25+
shell: bash
26+
run: bundle install --jobs 4 --retry 3
27+
28+
# Configure Node to build assets
29+
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
30+
with:
31+
node-version: "22"
32+
33+
- name: Cache node modules
34+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
35+
env:
36+
cache-name: cache-node-modules
37+
with:
38+
path: ~/.npm
39+
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
40+
restore-keys: |
41+
${{ runner.os }}-build-${{ env.cache-name }}-
42+
43+
- name: npm install
44+
shell: bash
45+
run: npm ci
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Run Publish Tests Report
2+
description: Publishes tests report to github
3+
runs:
4+
using: composite
5+
steps:
6+
- name: Publish Test Report
7+
shell: bash
8+
uses: ctrf-io/github-test-reporter@024bc4b64d997ca9da86833c6b9548c55c620e40 # v1
9+
with:
10+
report-path: './tools/automated-tests/testReport.json'
11+
summary-report: true
12+
test-report: true
13+
failed-folded-report: true
14+
skipped-report: true
15+
report-order: 'summary-report,test-report,failed-folded-report,skipped-report'
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Run site
2+
description: Run site
3+
runs:
4+
using: composite
5+
steps:
6+
- name: Build and run the site
7+
shell: bash
8+
env:
9+
ENABLE_ALGOLIA: 0
10+
LC_CTYPE: en_US.UTF-8
11+
LANG: C.UTF-8
12+
run: |
13+
npx netlify dev & npx wait-on http://localhost:8888

.github/styles/base/Dictionary.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ autoscaler
5757
autoscalers
5858
autoscales
5959
autoscaling
60+
Avro
6061
aws
6162
AZs
6263
backfilled
@@ -255,6 +256,7 @@ full_name
255256
Gateway
256257
GatewayClass
257258
gatewayclass
259+
gateway_entity
258260
gcloud
259261
gcp
260262
geo
@@ -397,6 +399,7 @@ kds
397399
keepalive
398400
keps
399401
ketama
402+
key_sources
400403
Keycloak
401404
Keycloak
402405
keyless
@@ -520,6 +523,8 @@ moesif
520523
MongoDB
521524
MongoDB
522525
multimodal
526+
multitenant
527+
multitenancy
523528
mutex
524529
nameserver
525530
nameservers
@@ -654,6 +659,8 @@ readme
654659
readonly
655660
real_ip_header
656661
real_ip_recursive
662+
rebalance
663+
render_output
657664
Realtime
658665
realtime
659666
reconverge
@@ -862,6 +869,7 @@ Unicode
862869
unix
863870
unmanaged
864871
unmarshalled
872+
unnamespaced
865873
unnormalized
866874
unpackage
867875
unparsed
@@ -911,6 +919,7 @@ Valero
911919
validator
912920
validators
913921
vararg
922+
vc
914923
viewport
915924
viewports
916925
vms

.github/styles/frontmatter/Dictionary.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,5 @@ kongplugininstallation
3333
CACertificate
3434
KeySet
3535
ControlPlane
36+
virtual_cluster
37+
gateway_entity

.github/styles/frontmatter/Keys.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,8 @@ topology_switcher
4545
discovery_default
4646
examples_groups
4747
basic_examples
48-
wasm
48+
wasm
49+
policy_target
50+
gateway_entity
51+
plugin_schema
52+
no_edit_link

.github/workflows/automated-tests.yaml

Lines changed: 6 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -28,45 +28,11 @@ jobs:
2828
with:
2929
submodules: 'recursive'
3030

31-
# Configure Ruby to build Jekyll site
32-
- name: Set up Ruby
33-
uses: ruby/setup-ruby@84684c07c1965536eb4802c8daf1a77968df0cb1 # v1
34-
with:
35-
ruby-version: .ruby-version
36-
37-
- name: Ruby gem cache
38-
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
39-
with:
40-
path: ${{ github.workspace }}/vendor/bundle
41-
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
42-
restore-keys: |
43-
${{ runner.os }}-gems-
44-
- name: Bundle Setup
45-
run: bundle config path ${{ github.workspace }}/vendor/bundle
46-
- name: Bundle Install
47-
run: bundle install --jobs 4 --retry 3
48-
49-
# Configure Node to build assets
50-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
51-
with:
52-
node-version: "22"
53-
- name: Cache node modules
54-
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
55-
env:
56-
cache-name: cache-node-modules
57-
with:
58-
path: ~/.npm
59-
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
60-
restore-keys: |
61-
${{ runner.os }}-build-${{ env.cache-name }}-
31+
- name: Install deps
32+
uses: './.github/reusable-steps/install-deps'
6233

63-
- name: npm install
64-
run: npm ci
6534
- name: Run site
66-
env:
67-
ENABLE_ALGOLIA: 0
68-
run: |
69-
npx netlify dev & npx wait-on http://localhost:8888
35+
uses: './.github/reusable-steps/run-site'
7036

7137
- name: Download Kong License
7238
uses: Kong/kong-license@master
@@ -75,28 +41,18 @@ jobs:
7541
op-token: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
7642

7743
- name: Generate instruction files
78-
working-directory: tools/automated-tests
79-
run: |
80-
npm ci
81-
npx playwright install --with-deps chromium
82-
npm run generate-instruction-files
44+
uses: './.github/reusable-steps/generate-instruction-files'
8345

8446
- name: Run tests
8547
working-directory: tools/automated-tests
8648
env:
8749
KONG_LICENSE_DATA: ${{ steps.getLicense.outputs.license }}
8850
RUNTIME: gateway
51+
PRODUCT: gateway
8952
GATEWAY_VERSION: ${{ matrix.gateway }}
9053
run: |
9154
DEBUG=tests:*,debug npm run run-tests
9255
9356
- name: Publish Test Report
94-
uses: ctrf-io/github-test-reporter@024bc4b64d997ca9da86833c6b9548c55c620e40 # v1
95-
with:
96-
report-path: './tools/automated-tests/testReport.json'
97-
summary-report: true
98-
test-report: true
99-
failed-folded-report: true
100-
skipped-report: true
101-
report-order: 'summary-report,test-report,failed-folded-report,skipped-report'
57+
uses: './.github/reusable-steps/publish-test-report'
10258
if: always()
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Event Gateway Automated Tests
2+
on:
3+
workflow_dispatch:
4+
schedule:
5+
- cron: '0 0 1 * *'
6+
7+
concurrency:
8+
cancel-in-progress: true
9+
group: ${{ github.workflow }}
10+
11+
permissions:
12+
actions: read
13+
contents: read
14+
checks: write
15+
statuses: write
16+
17+
env:
18+
VITE_PORTAL_API_URL: ${{ vars.VITE_PORTAL_API_URL }}
19+
20+
jobs:
21+
run:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Harden Runner
25+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
26+
with:
27+
egress-policy: audit
28+
29+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
30+
with:
31+
submodules: 'recursive'
32+
33+
- name: Install deps
34+
uses: './.github/reusable-steps/install-deps'
35+
36+
- name: Run site
37+
uses: './.github/reusable-steps/run-site'
38+
39+
- name: Generate instruction files
40+
uses: './.github/reusable-steps/generate-instruction-files'
41+
42+
- name: Run tests
43+
working-directory: tools/automated-tests
44+
shell: bash
45+
env:
46+
KONG_LICENSE_DATA: ${{ steps.getLicense.outputs.license }}
47+
RUNTIME: konnect
48+
PRODUCT: event-gateway
49+
TESTS_KONNECT_TOKEN: ${{ secrets.KONNECT_TOKEN }}
50+
run: |
51+
DEBUG=tests:*,debug npm run run-tests
52+
53+
- name: Publish Test Report
54+
uses: './.github/reusable-steps/publish-test-report'
55+
if: always()

.github/workflows/gateway-tests.yaml

Lines changed: 6 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -32,45 +32,11 @@ jobs:
3232
with:
3333
submodules: 'recursive'
3434

35-
# Configure Ruby to build Jekyll site
36-
- name: Set up Ruby
37-
uses: ruby/setup-ruby@84684c07c1965536eb4802c8daf1a77968df0cb1 # v1
38-
with:
39-
ruby-version: .ruby-version
40-
41-
- name: Ruby gem cache
42-
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
43-
with:
44-
path: ${{ github.workspace }}/vendor/bundle
45-
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
46-
restore-keys: |
47-
${{ runner.os }}-gems-
48-
- name: Bundle Setup
49-
run: bundle config path ${{ github.workspace }}/vendor/bundle
50-
- name: Bundle Install
51-
run: bundle install --jobs 4 --retry 3
52-
53-
# Configure Node to build assets
54-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
55-
with:
56-
node-version: "22"
57-
- name: Cache node modules
58-
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
59-
env:
60-
cache-name: cache-node-modules
61-
with:
62-
path: ~/.npm
63-
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
64-
restore-keys: |
65-
${{ runner.os }}-build-${{ env.cache-name }}-
35+
- name: Install deps
36+
uses: './.github/reusable-steps/install-deps'
6637

67-
- name: npm install
68-
run: npm ci
6938
- name: Run site
70-
env:
71-
ENABLE_ALGOLIA: 0
72-
run: |
73-
npx netlify dev & npx wait-on http://localhost:8888
39+
uses: './.github/reusable-steps/run-site'
7440

7541
- name: Download Kong License
7642
uses: Kong/kong-license@master
@@ -79,11 +45,7 @@ jobs:
7945
op-token: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
8046

8147
- name: Generate instruction files
82-
working-directory: tools/automated-tests
83-
run: |
84-
npm ci
85-
npx playwright install --with-deps chromium
86-
npm run generate-instruction-files
48+
uses: './.github/reusable-steps/generate-instruction-files'
8749

8850
- name: Set Gateway Image and Tag
8951
run: |
@@ -96,19 +58,13 @@ jobs:
9658
env:
9759
KONG_LICENSE_DATA: ${{ steps.getLicense.outputs.license }}
9860
RUNTIME: gateway
61+
PRODUCT: gateway
9962
GATEWAY_VERSION: next
10063
KONG_IMAGE_TAG: ${{ env.KONG_IMAGE_TAG }}
10164
KONG_IMAGE_NAME: ${{ env.KONG_IMAGE_NAME }}
10265
run: |
10366
DEBUG=tests:*,debug npm run run-tests
10467
10568
- name: Publish Test Report
106-
uses: ctrf-io/github-test-reporter@024bc4b64d997ca9da86833c6b9548c55c620e40 # v1
107-
with:
108-
report-path: './tools/automated-tests/testReport.json'
109-
summary-report: true
110-
test-report: true
111-
failed-folded-report: true
112-
skipped-report: true
113-
report-order: 'summary-report,test-report,failed-folded-report,skipped-report'
69+
uses: './.github/reusable-steps/publish-test-report'
11470
if: always()

0 commit comments

Comments
 (0)