Skip to content

Commit

Permalink
feat: Release/v1.16.21 (#4858)
Browse files Browse the repository at this point in the history
* fix: optional ginkgo junit

* fix:  optional jmeter junit

* fix: optional junit for jmeterd

* fix: postman optional junit

* fix: obfuscate args

* docs: argocd image updates (#4553)

* updated docs for ArgocdCD sync

* docs: env vars

* fix: typo

* Update docs/docs/articles/running-tests.md

Co-authored-by: Julianne Fermi <[email protected]>

* fix: use `aggregate: 1` for getting latest by test (#4560)

* update executors with curl, openssh, sshpass

* add remove cache

* add sshpass to jmeterd

* fix: ignore empty secret ref

* feat: change executor model

* feat: use data dir as working dir model

* fix: dep update

* fix: unit test

* fix: use data dir as working dir

* docs: cli

* fix: dep update

* feat: pass wartcher event to trigger

* docs: env vars

* fix: remove hint

* build postman

* remove testing branch

* fix: aggregate(1) on test suite results (#4577)

* fix: result line for websockets (#4576)

* feat: download testsuite artifacts

* fix: download conditions

* fix: remove check

* docs: cached test suites (#4580)

* fix: cli disable get config for cload context (#4583)

* fix: dep update

* feat: download artifacts in init container

* fix: field comment

* fix: unittest

* fix: remove namespace

* fix: uri scheme

* fix: dep update

* docs: passed artifacts

* fix: support silent mode

* fix: allow download reports for failed

* fix: test suite err check

* fix: update to outdated cypress images (#4607)

* fix: typo in test run image flag (#4608)

* fix: typo in test run image flag

* fix: typo in test run image flag

* fix: typo in test run image flag

* fix: typo in test run image flag

* add enterprise docs

* fix failing docs

* fix api values

* Update docs/docs/testkube-enterprise/articles/auth.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/auth.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/auth.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/auth.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/auth.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/testkube-enterprise/articles/usage-guide.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update production setup

* add email examples

* add space

* fix docs

* chore: rename secret label

* fix: dep update

* docs: argocd cron jobs sync

* feat: adding support for tracetest cloud on tracetest executor (#4613)

* feat: adding support for tracetest cloud on tracetest executor

* fix lint issues

* adding integration tests for tracetest executor

* fixing unit test

* adding PR suggestions

* feat: add test name to the download folder

* feat: update test staus after completion

* docs: added gitlab and jenkins cicd docs (#4619)

* added gitlab and jenkins cicd docs

* added example

* Update docs/docs/articles/gitlab.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/articles/gitlab.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/articles/gitlab.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/articles/gitlab.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/articles/gitlab.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/articles/jenkins.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/articles/jenkins.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/articles/jenkins.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/articles/jenkins.md

Co-authored-by: Julianne Fermi <[email protected]>

* Update docs/docs/articles/jenkins.md

Co-authored-by: Julianne Fermi <[email protected]>

* added samples to jenkins and some refinement in gitlab

---------

Co-authored-by: Julianne Fermi <[email protected]>

* fixed cicd review (#4634)

* Update cicd-overview.md

* fix: do not return empty latestExecution with Test/TestSuite (#4636)

* fix: allow terminating CLI while watching test/test suite run (#4638)

* docs: some fixes (#4637)

* some fixes

* used container image instead of default

* fix: table output performance (#4640)

* chore: update tablewriter to the latest version
* feat: truncate the error message for test suites

* feat: Executor tests - Container executor: Playwright - args (#4645)

* executor tests - playwright - args

* playwright testsuite updated

* playwright test updated

* fix scorecard failing on branches which are not default

* fix: use existing file for kubepug test (#4644)

* used existing file for kubepug
* change the data structures and outdated examples to match newer version of kubepug

* Fix editUrl for docs (#4652)

"Edit this page" links on documentation pages were broken because of the change to have the `develop` branch as default.
This PR fixes the editUrl in Docusaurus config.

* fix: Latest image tag for testkube cli (#4653)

* added the latest image tag

* test: update branch name in kubepug tests (#4654)

* Fixed cypress image tag

* Update release.yaml (#4661)

* feat: add support for skip tls verify in minio (#4649)

* feat: add support for skip tls verify in minio

* fix failing integration tests due to bad minio config

* fix: cloud mode download artifacts (#4664)

* feat: cloud rename - update CLI and environment variables TKC-875 (#4663)

* feat: update pro environment variables

* feat: add pro commands

* style: revert non-user impacting changes

* fix: icons urls in docs (#4670)

* some bugfixes (#4650)

* docs: Docs Cloud Rename (#4669)

* Docs Cloud Rename

* docs: update cli docs and add redirects

* docs: update URLs in docs

* docs: fix redirect

* docs: fix reference

* docs: fix reference

---------

Co-authored-by: Lilla Vass <[email protected]>

* added the pushing latest tag to the release (#4672)

* Revert "docs: Docs Cloud Rename (#4669)" (#4676)

This reverts commit e17e5b3.

* fix: exit code 1 for failed run

* fix: avoid hashed indexes and aggregate: 1 (#4681)

* fix: avoid using hashed indexes, as these are not supported in AWS DocumentDB
* fix: avoid aggregate: 1

* feat: add support for TLS in NATS and MinIO clients (#4685)

* add support for TLS in NATS and MinIO clients

* fix envconfig tags in InitEnvs

* feat:           slave pod spec (#4632)

* feat: pod specification api spec

* fix: pod update request

* feat: pod spec model

* fix: update makefile

* fix: change execution model

* fix: mapper for pod slave config

* fix: add pod type to template cli

* feat: pass slave pod template

* feat: slave pod template env

* feat: use slave pod template

* fix: pod options

* fix: dep update

* feat: pass slave pod options

* feat: add slave pod flags

* feat: add cli for slave pod params

* fix: update podd template

* fix: error message

* fix: rename template

* fix: quote template

* fix: check for nil

* fix: indent

* fix: dep update

* fix: use template func in pod template

* docs: slave pod specs

* feat: add offline cli docs (#4614)

* feat: add offline cli docs

* Apply suggestions from code review

Co-authored-by: Julianne Fermi <[email protected]>

---------

Co-authored-by: Julianne Fermi <[email protected]>

* docs: Docs Cloud Rename (#4669) (#4677)

* docs: Docs Cloud Rename (#4669)

* Docs Cloud Rename

* docs: update cli docs and add redirects

* docs: update URLs in docs

* docs: fix redirect

* docs: fix reference

* docs: fix reference

---------

Co-authored-by: Lilla Vass <[email protected]>

* docs: add redirects

---------

Co-authored-by: Julianne Fermi <[email protected]>

* fix: wrong switch usage

* docs: update testkube pro installation video (#4696)

* Executor tests - jmeter (#4701)

* feat: webhook template funcs

* docs: helper methods

* fix: permission issue fix in .testkube directory (#4673)

* permission issue fixed in .testkube directory

* Update build/kubectl-testkube/Dockerfile

Co-authored-by: Dawid Rusnak <[email protected]>

---------

Co-authored-by: Dawid Rusnak <[email protected]>

* executor tests - cypress 13 project and tests (#4615)

* gitlab-improvement (#4686)

* gitlab-improvement

* bugfix

* fix: GetLatestByTest returns objet not found (#4705)

* feat: insecure direct

* fix: docs

* feat: refactor jmeterd executor to add better testing and support for better exit status handling (#4704)

* refactor jmeterd executor to add better testing and support for better exit status handling

* minor updates and test fixes to jmeterd

* add integration test flag for jmeterd test

* lint pass at jmeterd executor

* docs: make agent pro (#4709)

* docs: Add references to the args and command explanations (#4693)

* docs: Add references to the args and command explanations

* docs: added parameter explanations

* docs: code review comments

* docs: add quotes around tags

* docs: update flags

* docs: apply suggestions from code review

Co-authored-by: Julianne Fermi <[email protected]>

* docs: Apply suggestions from code review

Co-authored-by: Julianne Fermi <[email protected]>

* docs: Update docs/docs/test-types/executor-jmeter.md

Co-authored-by: Julianne Fermi <[email protected]>

* docs: apply suggestions from code review

Co-authored-by: Julianne Fermi <[email protected]>

---------

Co-authored-by: Julianne Fermi <[email protected]>

* fix: add simpler implementation of MongoDB queries for DocumentDB (#4710)

* fix: merge

* feat: logs service and sidecar projects (#4562)

* feat: initial templates change

* feat: initial code move from testkube-logs repo

* fix: testserver

* feat: moved proxy to separate package

* chore: proxy rewrite to struct and deps

* chore: passing parameters

* chore: reset config directory

* chore: set debug and sidecar data

* fix: getjobpods

* chore: cleaning logs service code

* fix: tests disabled

* fix: tests disabled

* fix: fixed NATS test server

* fix: tests

* fix: added comments

* fix: added stream client with init and push

* fix: logs reorg

* changes

* golang ci fixes

* fix: tests based on container with 0 index

* fix: added variables

* added the cicd for log and sidecar service

* bug fix and added goreleaser files

* chore: plugging feature flags

* fix: handle feature

* fix: tests

* fix: tests

* fix: tests

* small adjustments

* fix: syntax error

* fix: pass debug and nats from config

* fix: valid kubeshop image

* fix: stopping consumers

* fix: added todo item to handle consumers state

* fix: FF

* fix: removed unused envs from build pipelines

* fix: removed unnecessaary LDFLAGS from build

* fix: registry for templates

* fix: removed commeted code

* fix: pass http address for healthcheck

* fix: encoding log chunk error handling

* fix: removing explicit encoding

* fix: rollback api changes

* fix: rollback api changes

* fix: removed printf

* fix: added graceful shutdown

* fix: comment about getting logs

* fix: golangci

* fix: use kubernetes.Interface for logs proxy

* fix: errors.Is

---------

Co-authored-by: Hamid Emamian <[email protected]>

* fix: performance of execution status queries (#4712)

* propagate namespace when test is executed as part of a testsuite (#4716)

* fix: hide result line

* fix: remove cypress output result

* fix: docs

* fix: get rid duplicated env lines in log (#4729)

* fix: get rid duplicated env lines in log

* fix: removing logs lines

* feat: logs service state handling + reorganizing code (#4718)

* feat: keeping state in logs consumer

* chore: renaming to adapter

* fix: handling state

* chore: reorganizing

* chore removing printr

* comments

* unit tests

* comments

* chore: reorginzed code

* fix tests

* fix: added healthchecker tets

* fix: golangci

* fix: allow to run unit tests with count

* feat: sync start stop to not send data to unhandled streams

* fix: addadapter test

* chore: cleaning confusing consumers and adapters

* fix: cleaning fixes

* fix: more messages in UT

* chore: added test for get consumer stats

* fix: tests can be run in parallel

* fix: undeterministic test - fixed fan out of consumers

* feat: add events for all informers [TKC-631] (#4725)

* feat: add events for existing informers

* feat: add executors and webhooks

* fix: references

* test: add mock event bus to watcher test

* test: update go sum

* feat: test source informer

* fix: add format to debug messages

* deps: update operator dependency

* fix: solve merging issue

* docs: context get/set (#4730)

* change postman dockerfile

* fix: copy master env to slave env

* fix: set init env

* feat: Executor tests - jmeterd edge-cases, testsuite labels, run script updated, image versions (maven/gradle) (#4731)

* executor tests - jmeter - incorrect url

* executor tests - jmeter - correct url, failed assertion

* executor tests - jmeter - correct url, failed assertion - updated

* executor tests - jmeterd - expected failures

* executor tests - gradle and maven - images fixed for custom executors

* executor tests - testsuites - tags, jmeter other cases, edge-cases

* executor tests - run script updated

* executor tests - expected failures extended

* executor tests - test renamed - name too long

* feat: executor tests - special cases added (#4743)

* executor tests - special cases added

* executor tests - jmeter - branch names fixed

* feat: clients for logs (#4742)

* feat: clients for logs

* golang ci fixes

* fix: tests

* golang ci fixes

* fix: check step duration (#4744)

* fix: check step duration

* fix: dep update

* fix: add step methods

* fix: use proper var for step

* fix: check for empty duration

* fix: delay timeout

* fix: dep update

* fix: recent gradle base image (#4747)

* change logic for jmeter so that SLAVES_COUNT == zero or undefined works in standalone mode, and > 0 runs in distributed mode (#4745)

* fix: gradle follow up fixes  (#4748)

* fix: recent gradle base image

* fix: gradle test

* fix: updated gradle wrapper

* fix: updated gradle wrapper

* fix: removed gradlew

* fix: update to gradlew

* added minimum requirements to the docs (#4750)

* ci: optimization (#4753)

cache/build optimization

* fix: security update for maven jdk18 executor (#4754)

* add snapshot template

* revert accidental commit

* fix: set default mavem build to jdk18 - only one without critical sec issues (#4755)

* add snapshot template

* fix snapshot version

* fix: set default mavem build to jdk18 - only one without critical sec… (#4756)

* fix: set default mavem build to jdk18 - only one without critical sec issues

* update jdk18 to the latest executor

* remove space

---------

Co-authored-by: ypoplavs <[email protected]>

* upgrade alpine image

* change default gradle image

* fix: set default Gradle to 21 (#4759)

* fix: libssl3 instead of deprecated libssl1.1

* fix: gradle user home need to be set explicitly (#4761)

* feat: add config option for skipping cert verify when connecting to cloud/enterprise (#4763)

* add config option for skipping cert verify when connecting to cloud/enterprise

* revert .env change

* revert .env change again

* update envvar inconsistent names

* add newline to .env

* rename cloud to pro variable

* fix: artillery executor deps update and rewrite base image (#4764)

* fix: pin soapui runner version (#4765)

* add docker manifests for cypress

* fix: updated cypress images (#4768)

* fix: updated cypress images

* fix: removed cypress binary

* fix: test execution name

* fix: unit tests

* fix: cypress 13 as default image (#4771)

* fix: gradle jdk21 alpine - image with less sec issues (#4773)

* feat: artifact model enhancement

* fix: dep update

* fix" slave pod template

* feat: pvc volume for job executor

* fix: pass artifact request to slave pod

* fix: artifact volume for init container

* fix: check for shared pods

* fix: regexp for scraper

* fix: panic

* fix: unit tests

* fix: dep update

* fix: integration test

* Update cmd/kubectl-testkube/commands/tests/run.go

Co-authored-by: Lilla Vass <[email protected]>

* fix: dep update

* fix: artifacts docs

* fix: change topic name

* add test status assets (#4775)

* fix: pin postman image (#4776)

* fix: security update: fiber (#4777)

* fix: security update: fiber

* fix: security update: grpc

* fix: test eecution name for test suite

* feat: install specified executors

* fix: ignore empty executor

* fix: docs

* fix: rename env var

* fix: get execution id from testsuite for tests

* fix: trim name spaces

* fix: nil check

* fix: test execution name for test suite

* fix: execution name

* fix: security gomod updates (#4782)

* fix: removed results from routing

* feat: added tostr method (#4785)

* feat: added tostr method

* chore: refactor + unit tests

* build(deps): bump golang.org/x/net in /test/ginkgo/executor-tests/smoke (#4786)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.8.0 to 0.17.0.
- [Commits](golang/net@v0.8.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @babel/traverse from 7.19.0 to 7.23.6 in /docs (#4791)

Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.19.0 to 7.23.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.6/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: security k6 docker image bump (#4793)

* fix: security k6 docker image bump

* fix: security k6 docker image bump - building with grafana docker image

* fix: grpc logs server tests

* feat: add support for grpc keepalive (#4795)

* add support for grpc keepalive

* lint pass on agent module

* build(deps): bump golang.org/x/net (#4789)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.8.0 to 0.17.0.
- [Commits](golang/net@v0.8.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#4797)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0.
- [Commits](golang/crypto@v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: zap Dockerfile (#4796)

* fix: zap Dockerfile

* fix: kubepug build with base image

* fix: ginkgo update

* fix: updated playwright image

* build(deps): bump postcss from 8.4.16 to 8.4.32 in /docs (#4787)

Bumps [postcss](https://github.com/postcss/postcss) from 8.4.16 to 8.4.32.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.4.16...8.4.32)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: add documentation for log highlighting (#4780)

* docs: add documentation for log highlighting
* Update docs/docs/testkube-pro/articles/log-highlighting.md
* feat: add "Filtering" section in the Log Parsing docs
* feat: add Log Highlighting to Testkube Pro sidebar
* Update docs/docs/testkube-pro/articles/log-highlighting.md
* Update docs/docs/testkube-pro/articles/log-highlighting.md
* Update docs/docs/testkube-pro/articles/log-highlighting.md

---------

Co-authored-by: Julianne Fermi <[email protected]>

* update jmeter image

* update image

* docker image update

* update goreleaser for jmeter

* typo

* rename image

* test image on demo

* build test image

* update goreleaser

* goreleaser file

* build jmeter

* remove additional image

* remove testing branch

* remove unneccessary packages

* fix: rewrite cloud uris configs (#4752)

* fix: rewrite cloud uris configs

* fix: more changes

* fix: login comd

* fix: use master instead of pro or cloud

* fix: use populate helm flags and master flags separately

* feat: add master ui to helm values

* fix: remove login duplicate flag

* fix: separate flags declaring from processing

* fix: set of ui url

* fix: add testing flags and fixes

* fix: remove print opts

* fix: go imports

---------

Co-authored-by: nicufk <[email protected]>

* fix: rollback changes to pipelines (#4812)

* fix: release-dev pipeline

* fix: release pipeline

* fix: log service doesnt start up (#4814)

* build new gradle image

* push arm image

* test arm

* remove testing changes

* fix: bugfix for logs service cicd (#4811)

* bugfix

* fixed goreleaser files

* fix: put pre-run and post-run script files in the data volume (#4823)

* fix: put pre-run and post-run script files in the data volume

Relates to: testkube#4719

* chore: simplify entrypoint.sh

* fix: fail on pre-run/post-run script error

* fix: log sidecar never finishes (#4827)

* fix: pre-run/post-run/command scripts are running incorrectly (#4829)

* fix: api urls for the set context command (#4825)

* fix: api urls for the set context command

* docs: update

* fix: use api url not root domain

* fix: use api uri instead of root domain

* fix: hardcoded pro/cloud ui url

* fix: tests with ui/app

* fix: test ui/app, and docs

* fix: pass command arguments down (#4830)

* feat: Executor tests - pre/post run scripts, postman/newman - container executor examples (#4832)

* executor tests - pre/post-run scripts

* executor tests - postman ts extended

* executor tests - container executor - postman smoke tests with pre/post-run scripts, expected-fail tests - pre/post-run script failures

* executor tests - container executor - postman - ts/executor/test CRDs

* executor tests - missing EOL added

* fix: remove cloud commands from docs (#4831)

* fix: remove cloud commands from docs

* fix: login aliases

* feat: add support for configurable test file using envvar and edit variables to be set as envvars (#4843)

* jmeterd: add support for configurable test file using envvar and edit variables to be set as envvars

* jmeterd: fix lint issues

* update release dev

* feat: improve logging around connecting to agent api (#4856)

* improve logging around connecting to agent api

* improve error messages in scraper factory

* docs: fix invalid flag in running-tests.md (#4845)

* fix invalid flag in running-tests.md

* fix minor typo in running-tests.md

* add condition to install latest release if no beta found

* feat: slave pod number env var

* fix: dep update

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: ypoplavs <[email protected]>
Co-authored-by: Julianne Fermi <[email protected]>
Co-authored-by: Dawid Rusnak <[email protected]>
Co-authored-by: ypoplavs <[email protected]>
Co-authored-by: Jacek Wysocki <[email protected]>
Co-authored-by: Bogdan Hanea <[email protected]>
Co-authored-by: Povilas Versockas <[email protected]>
Co-authored-by: Javier Morante <[email protected]>
Co-authored-by: fivenp <[email protected]>
Co-authored-by: Daniel Baptista Dias <[email protected]>
Co-authored-by: Hamid <[email protected]>
Co-authored-by: Tomasz Konieczny <[email protected]>
Co-authored-by: Dejan Pejchev <[email protected]>
Co-authored-by: Lilla Vass <[email protected]>
Co-authored-by: Catalin <[email protected]>
Co-authored-by: Lilla Vass <[email protected]>
Co-authored-by: Ale <[email protected]>
Co-authored-by: Hamid Emamian <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: nicufk <[email protected]>
Co-authored-by: nicufk <[email protected]>
  • Loading branch information
22 people authored Jan 5, 2024
1 parent e14e68a commit b96da45
Show file tree
Hide file tree
Showing 172 changed files with 2,644 additions and 801 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/docker-build-api-executors-tag.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
- "v[0-9]+.[0-9]+.[0-9]+"

env:
ALPINE_IMAGE: alpine:3.18.0
ALPINE_IMAGE: alpine:3.19.0
GO_VERSION: 1.21.5

permissions:
Expand All @@ -31,7 +31,7 @@ jobs:
- name: Set-up Go
uses: actions/setup-go@v4
with:
go-version: ${{ env.GO_VERSION }}
go-version: ${{ env.GO_VERSION }}
cache: false

- name: Go Cache
Expand Down Expand Up @@ -584,11 +584,11 @@ jobs:

- name: Create manifests
run: |
docker manifest create kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }} --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-arm64v8
docker manifest create kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }} --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress13-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress13-arm64v8
docker manifest push -p kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}
cosign sign kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }} --yes
docker manifest create kubeshop/testkube-cypress-executor:latest --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-arm64v8
docker manifest create kubeshop/testkube-cypress-executor:latest --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress13-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress13-arm64v8
docker manifest push -p kubeshop/testkube-cypress-executor:latest
cosign sign kubeshop/testkube-cypress-executor:latest --yes
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-build-develop.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
paths-ignore:
- 'docs/**'
env:
ALPINE_IMAGE: alpine:3.18.0
ALPINE_IMAGE: alpine:3.19.0
GO_VERSION: 1.21.5

jobs:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-build-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
paths-ignore:
- 'docs/**'
env:
ALPINE_IMAGE: alpine:3.18.0
ALPINE_IMAGE: alpine:3.19.0
GO_VERSION: 1.21.5

jobs:
Expand Down
15 changes: 11 additions & 4 deletions .github/workflows/release-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
with:
distribution: goreleaser-pro
version: latest
args: release -f ${{ matrix.path }} --snapshot
args: release -f ${{ matrix.path }} --skip-publish
env:
GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }}
ANALYTICS_TRACKING_ID: "${{secrets.TESTKUBE_CLI_GA_MEASUREMENT_ID}}"
Expand Down Expand Up @@ -116,7 +116,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: sigstore/[email protected]
Expand Down Expand Up @@ -158,7 +158,7 @@ jobs:
with:
distribution: goreleaser-pro
version: latest
args: release -f .goreleaser-dev.yml --rm-dist
args: release -f .goreleaser-dev.yml
env:
GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }}
ANALYTICS_TRACKING_ID: "${{secrets.TESTKUBE_CLI_GA_MEASUREMENT_ID}}"
Expand All @@ -180,7 +180,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0

Expand Down Expand Up @@ -231,6 +231,13 @@ jobs:
$hash=Get-FileHash testkube.msi
$hash.Hash + " " + $installer_name + ".msi" >> msi_checksum.txt
echo "::set-output name=INSTALLER_NAME::${installer_name}"
#export MSI hash to environment
$hashsum = $hash.Hash
echo "::set-output name=CHECKSUM::${hashsum}"
#copy MSI to choco directory to build a nuget package
Copy-Item -Path "testkube.msi" -Destination ".\choco\tools\$env:MSI_NAME.msi"
env:
MSI_NAME: testkube_${{steps.tag.outputs.tag}}_Windows_i386

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ refresh-config:
wget "https://raw.githubusercontent.com/kubeshop/helm-charts/develop/charts/testkube-api/job-container-template.yml" -O config/job-container-template.yml &
wget "https://raw.githubusercontent.com/kubeshop/helm-charts/develop/charts/testkube-api/job-scraper-template.yml" -O config/job-scraper-template.yml &
wget "https://raw.githubusercontent.com/kubeshop/helm-charts/develop/charts/testkube-api/job-template.yml" -O config/job-template.yml &
wget "https://raw.githubusercontent.com/kubeshop/helm-charts/develop/charts/testkube-api/pvc-container-template.yml" -O config/pvc-container-template.yml &
wget "https://raw.githubusercontent.com/kubeshop/helm-charts/develop/charts/testkube-api/pvc-template.yml" -O config/pvc-template.yml &
wget "https://raw.githubusercontent.com/kubeshop/helm-charts/develop/charts/testkube-api/slack-config.json" -O config/slack-config.json &
wget "https://raw.githubusercontent.com/kubeshop/helm-charts/develop/charts/testkube-api/slack-template.json" -O config/slack-template.json

Expand Down
36 changes: 36 additions & 0 deletions api/v1/testkube.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3542,6 +3542,11 @@ components:
description: previous step numbers starting from 1
items:
type: integer
previousTestNames:
type: array
description: previous test names
items:
type: string

TestSuiteStep:
type: object
Expand Down Expand Up @@ -3739,6 +3744,18 @@ components:
type: array
items:
$ref: "#/components/schemas/TestSuiteStepExecutionResult"
startTime:
type: string
description: "step start time"
format: date-time
endTime:
type: string
description: "step end time"
format: date-time
duration:
type: string
description: "step duration"
example: "2m"

TestSuiteExecutionsResult:
description: the result for a page of executions
Expand Down Expand Up @@ -4266,6 +4283,11 @@ components:
description: "execution ids for artifacts to download"
items:
type: string
downloadArtifactTestNames:
type: array
description: "test names for artifacts to download from latest executions"
items:
type: string
slavePodRequest:
$ref: "#/components/schemas/PodRequest"
description: configuration parameters for executed slave pods
Expand Down Expand Up @@ -4615,13 +4637,21 @@ components:
items:
type: string
description: artifact directories for scraping
masks:
type: array
items:
type: string
description: regexp to filter scraped artifacts, single or comma separated
storageBucket:
type: string
description: artifact bucket storage
example: test1-artifacts
omitFolderPerExecution:
type: boolean
description: don't use a separate folder for execution artifacts
sharedBetweenPods:
type: boolean
description: whether to share volume between pods

ArtifactUpdateRequest:
description: artifact request update body
Expand Down Expand Up @@ -4886,6 +4916,11 @@ components:
description: "execution ids for artifacts to download"
items:
type: string
downloadArtifactTestNames:
type: array
description: "test names for artifacts to download from latest executions"
items:
type: string
slavePodRequest:
$ref: "#/components/schemas/PodRequest"
description: configuration parameters for executed slave pods
Expand Down Expand Up @@ -5360,6 +5395,7 @@ components:
- webhook
- testexecution
- testsuiteexecution
- testsource

EventType:
type: string
Expand Down
64 changes: 21 additions & 43 deletions cmd/api-server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,11 @@ import (
"github.com/kubeshop/testkube/internal/app/api/debug"
"github.com/kubeshop/testkube/internal/app/api/metrics"
"github.com/kubeshop/testkube/pkg/agent"
"github.com/kubeshop/testkube/pkg/event"
"github.com/kubeshop/testkube/pkg/event/bus"
kubeexecutor "github.com/kubeshop/testkube/pkg/executor"
"github.com/kubeshop/testkube/pkg/executor/client"
"github.com/kubeshop/testkube/pkg/executor/containerexecutor"

"github.com/kubeshop/testkube/pkg/event"
"github.com/kubeshop/testkube/pkg/event/bus"
"github.com/kubeshop/testkube/pkg/scheduler"

testkubeclientset "github.com/kubeshop/testkube-operator/pkg/clientset/versioned"
Expand Down Expand Up @@ -359,7 +358,7 @@ func main() {
ui.ExitOnError("Sync default executors", err)
}

jobTemplate, slavePodTemplate, err := parser.ParseJobTemplates(cfg)
jobTemplates, err := parser.ParseJobTemplates(cfg)
if err != nil {
ui.ExitOnError("Creating job templates", err)
}
Expand All @@ -368,8 +367,7 @@ func main() {
resultsRepository,
cfg.TestkubeNamespace,
images,
jobTemplate,
slavePodTemplate,
jobTemplates,
cfg.JobServiceAccountName,
metrics,
eventsEmitter,
Expand All @@ -390,7 +388,7 @@ func main() {
ui.ExitOnError("Creating executor client", err)
}

containerTemplates, err := parseContainerTemplates(cfg)
containerTemplates, err := parser.ParseContainerTemplates(cfg)
if err != nil {
ui.ExitOnError("Creating container job templates", err)
}
Expand Down Expand Up @@ -576,40 +574,6 @@ func main() {
}
}

func parseContainerTemplates(cfg *config.Config) (t kubeexecutor.Templates, err error) {
t.Job, err = parser.LoadConfigFromStringOrFile(
cfg.TestkubeContainerTemplateJob,
cfg.TestkubeConfigDir,
"job-container-template.yml",
"job container template",
)
if err != nil {
return t, err
}

t.Scraper, err = parser.LoadConfigFromStringOrFile(
cfg.TestkubeContainerTemplateScraper,
cfg.TestkubeConfigDir,
"job-scraper-template.yml",
"job scraper template",
)
if err != nil {
return t, err
}

t.PVC, err = parser.LoadConfigFromStringOrFile(
cfg.TestkubeContainerTemplatePVC,
cfg.TestkubeConfigDir,
"pvc-container-template.yml",
"pvc container template",
)
if err != nil {
return t, err
}

return t, nil
}

func parseDefaultExecutors(cfg *config.Config) (executors []testkube.ExecutorDetails, err error) {
rawExecutors, err := parser.LoadConfigFromStringOrFile(
cfg.TestkubeDefaultExecutors,
Expand All @@ -625,9 +589,23 @@ func parseDefaultExecutors(cfg *config.Config) (executors []testkube.ExecutorDet
return nil, err
}

enabledExecutors, err := parser.LoadConfigFromStringOrFile(
cfg.TestkubeEnabledExecutors,
cfg.TestkubeConfigDir,
"enabledExecutors",
"enabled executors",
)
if err != nil {
return nil, err
}

specifiedExecutors := make(map[string]struct{})
if cfg.TestkubeSpecifiedExecutors != "" {
for _, executor := range strings.Split(cfg.TestkubeSpecifiedExecutors, ",") {
if enabledExecutors != "" {
for _, executor := range strings.Split(enabledExecutors, ",") {
if strings.TrimSpace(executor) == "" {
continue
}

specifiedExecutors[strings.TrimSpace(executor)] = struct{}{}
}

Expand Down
2 changes: 1 addition & 1 deletion cmd/kubectl-testkube/commands/context/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ func NewGetContextCmd() *cobra.Command {

cmd := &cobra.Command{
Use: "context <value>",
Short: "Set context for Testkube Cloud",
Short: "Set context for Testkube Pro",
Run: func(cmd *cobra.Command, args []string) {

cfg, err := config.Load()
Expand Down
2 changes: 1 addition & 1 deletion cmd/kubectl-testkube/commands/context/set.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func NewSetContextCmd() *cobra.Command {

cmd := &cobra.Command{
Use: "context <value>",
Short: "Set context data for Testkube Cloud",
Short: "Set context data for Testkube Pro",
Run: func(cmd *cobra.Command, args []string) {

cfg, err := config.Load()
Expand Down
36 changes: 34 additions & 2 deletions cmd/kubectl-testkube/commands/tests/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -228,20 +228,32 @@ func newArtifactRequestFromFlags(cmd *cobra.Command) (request *testkube.Artifact
return nil, err
}

masks, err := cmd.Flags().GetStringArray("artifact-mask")
if err != nil {
return nil, err
}

artifactStorageBucket := cmd.Flag("artifact-storage-bucket").Value.String()
artifactOmitFolderPerExecution, err := cmd.Flags().GetBool("artifact-omit-folder-per-execution")
if err != nil {
return nil, err
}

if artifactStorageClassName != "" || artifactVolumeMountPath != "" || len(dirs) != 0 ||
artifactStorageBucket != "" || artifactOmitFolderPerExecution {
artifactSharedBetweenPods, err := cmd.Flags().GetBool("artifact-shared-between-pods")
if err != nil {
return nil, err
}

if artifactStorageClassName != "" || artifactVolumeMountPath != "" || len(dirs) != 0 || len(masks) != 0 ||
artifactStorageBucket != "" || artifactOmitFolderPerExecution || artifactSharedBetweenPods {
request = &testkube.ArtifactRequest{
StorageClassName: artifactStorageClassName,
VolumeMountPath: artifactVolumeMountPath,
Dirs: dirs,
Masks: masks,
StorageBucket: artifactStorageBucket,
OmitFolderPerExecution: artifactOmitFolderPerExecution,
SharedBetweenPods: artifactSharedBetweenPods,
}
}

Expand Down Expand Up @@ -1127,6 +1139,16 @@ func newArtifactUpdateRequestFromFlags(cmd *cobra.Command) (request *testkube.Ar
nonEmpty = true
}

if cmd.Flag("artifact-mask").Changed {
masks, err := cmd.Flags().GetStringArray("artifact-mask")
if err != nil {
return nil, err
}

request.Masks = &masks
nonEmpty = true
}

if cmd.Flag("artifact-omit-folder-per-execution").Changed {
value, err := cmd.Flags().GetBool("artifact-omit-folder-per-execution")
if err != nil {
Expand All @@ -1137,6 +1159,16 @@ func newArtifactUpdateRequestFromFlags(cmd *cobra.Command) (request *testkube.Ar
nonEmpty = true
}

if cmd.Flag("artifact-shared-between-pods").Changed {
value, err := cmd.Flags().GetBool("artifact-shared-between-pods")
if err != nil {
return nil, err
}

request.SharedBetweenPods = &value
nonEmpty = true
}

if nonEmpty {
return request, nil
}
Expand Down
Loading

0 comments on commit b96da45

Please sign in to comment.