{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":747901929,"defaultBranch":"main","name":"e2e-framework","ownerLogin":"Fricounet","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2024-01-24T21:35:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/57704682?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1713371576.0","currentOid":""},"activityList":{"items":[{"before":"95976f707086be0a10437c1bf1c80a97e76f7370","after":"56e4a65651019ba911d30ffa0f6a1058104a41d8","ref":"refs/heads/fricounet/do-not-share-config","pushedAt":"2024-04-26T10:40:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[env] Fix go linting","shortMessageHtmlLink":"[env] Fix go linting"}},{"before":"8d60627c1ba4b2cf2aaae8a205a6bfa7ac332f8a","after":"95976f707086be0a10437c1bf1c80a97e76f7370","ref":"refs/heads/fricounet/do-not-share-config","pushedAt":"2024-04-22T12:25:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[config] Refactor Client() to call NewClient()","shortMessageHtmlLink":"[config] Refactor Client() to call NewClient()"}},{"before":"64b5e514f3146ec81590326ba23494720c5e54cb","after":"8d60627c1ba4b2cf2aaae8a205a6bfa7ac332f8a","ref":"refs/heads/fricounet/do-not-share-config","pushedAt":"2024-04-17T16:58:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[config] Remove client caching","shortMessageHtmlLink":"[config] Remove client caching"}},{"before":null,"after":"8745a4a6aacbc9b1a7eb61188c7a1c46d6db5f44","ref":"refs/heads/fricounet/fix-client-caching","pushedAt":"2024-04-17T16:32:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[config] Refactor how config's client is generated\n\nCurrently, the config's client is managed as follow:\n- it can be created with `NewClient` and `Client`. However, once it is\ncreated, it is cached and will always be returned.\n- it can be set directly with `WithClient`.\n\nThe current approach has a few drawbacks when running tests in parallel:\n- the client is shared between tests, leading to race conditions when\nit is initialized at the same time in multiple tests.\n- because of the caching, if one gets the client, modifies the kubeconfig\nor any other client related parameter in the config, and then gets the\nclient again, they would get the original client and not a new one with\nthe new kubeconfig.\n- `Client` is not a simple getter function like all the other similar\nmethods of the config, which makes it confusing to users.\n\nThis commit attempts to fix this by initializing the client earlier but\ncurrently does not work for in-cluster clients.\nIt conflicts with changes made in #57.","shortMessageHtmlLink":"[config] Refactor how config's client is generated"}},{"before":"0c0954ea8a94c06354c5ddaa3ff7f73c2acde7e2","after":"64b5e514f3146ec81590326ba23494720c5e54cb","ref":"refs/heads/fricounet/do-not-share-config","pushedAt":"2024-04-16T14:30:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[env] Create proper getter for config client to solve race condition","shortMessageHtmlLink":"[env] Create proper getter for config client to solve race condition"}},{"before":"b1923a4577b81280d321c48ef016b315a9dace31","after":"0c0954ea8a94c06354c5ddaa3ff7f73c2acde7e2","ref":"refs/heads/fricounet/do-not-share-config","pushedAt":"2024-04-12T13:12:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[env] NewChildTestEnv also copies ctx and actions","shortMessageHtmlLink":"[env] NewChildTestEnv also copies ctx and actions"}},{"before":"077f02e5431ab51b8702ca4f7e467ba1e27367a8","after":"9970d2558fea4d4975b6ebc5c3f34cd293d889d9","ref":"refs/heads/fricounet/poc-parallel-features","pushedAt":"2024-04-12T09:57:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"--wip-- [skip ci]","shortMessageHtmlLink":"--wip-- [skip ci]"}},{"before":"1a0c6435c8201845514c594d93a87f82e1c8ddc9","after":"077f02e5431ab51b8702ca4f7e467ba1e27367a8","ref":"refs/heads/fricounet/poc-parallel-features","pushedAt":"2024-04-12T09:56:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"POC running features in parallel using t.Parallel\n\nThis is a proof of concept to show that we can run features in parallel\nusing the `t.Parallel()` function from the `testing` package instead of\nrelying on the custom `--parallel` flag provided by the framework.\nThe issue with the current implementation is that using `t.Parallel()`\nin 2 features of the same test yields the error `panic: testing:\nt.Parallel called multiple times`.\nThis POC tries to solve it by running each feature in its separate\nsubtest instance.","shortMessageHtmlLink":"POC running features in parallel using t.Parallel"}},{"before":"be3412dfe5d38e092dfe18a40da32121e2f6f6f4","after":"b1923a4577b81280d321c48ef016b315a9dace31","ref":"refs/heads/fricounet/do-not-share-config","pushedAt":"2024-04-08T15:55:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[env] Do not share config between tests\n\nThis commit fixes a bug where the config object was shared between tests.\nWhen running tests in parallel, it was then impossible to rely on fields\nlike the namespace because they could have been overwritten by another\ntest. Also, it led to tests using `-race` to fail because the shared\nconfig.klient object that were updating the same fields when initializing\nthe client.\n\nThis commit creates a new `deepCopyConfig` method that allows to create\na deep copy of the config object. This way, each test can have its own\nwithout impacting the others. Now the config has the following lifecycle:\n- It is created when a testEnv is created\n- Each test uses a child testEnv that inherits the main testEnv's config\n- Each feature uses a child testEnv that inherits the test's testEnv's config\n\nThis way, a feature inherits all the changes made in BeforeEach functions\nwhile not impacting the other features.","shortMessageHtmlLink":"[env] Do not share config between tests"}},{"before":"76f5223121a5a7174f90deb1c2b1d24ca339cfc2","after":"be3412dfe5d38e092dfe18a40da32121e2f6f6f4","ref":"refs/heads/fricounet/do-not-share-config","pushedAt":"2024-04-06T14:19:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":null,"after":"76f5223121a5a7174f90deb1c2b1d24ca339cfc2","ref":"refs/heads/fricounet/do-not-share-config","pushedAt":"2024-04-06T14:17:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"--wip-- [skip ci]","shortMessageHtmlLink":"--wip-- [skip ci]"}},{"before":null,"after":"1a0c6435c8201845514c594d93a87f82e1c8ddc9","ref":"refs/heads/fricounet/poc-parallel-features","pushedAt":"2024-04-06T12:39:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"POC running features in parallel using t.Parallel\n\nThis is a proof of concept to show that we can run features in parallel\nusing the `t.Parallel()` function from the `testing` package instead of\nrelying on the custom `--parallel` flag provided by the framework.\nThe issue with the current implementation is that using `t.Parallel()`\nin 2 features of the same test yields the error `panic: testing:\nt.Parallel called multiple times`.\nThis POC tries to solve it by running each feature in its separate\nsubtest instance.","shortMessageHtmlLink":"POC running features in parallel using t.Parallel"}},{"before":"5a3820e25f34ce7eb416a6636ba01b6e4be75456","after":"fdcf509f96c96f0055b03f026ea44c62df82c753","ref":"refs/heads/main","pushedAt":"2024-04-06T11:43:02.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"Merge pull request #394 from kubernetes-sigs/dependabot/go_modules/all-f3f379576a\n\nBump the all group with 4 updates","shortMessageHtmlLink":"Merge pull request kubernetes-sigs#394 from kubernetes-sigs/dependabo…"}},{"before":null,"after":"bbdf2193763ab527b0591ecfd7ef949b6b285da4","ref":"refs/heads/fricounet/catch-fail-now","pushedAt":"2024-03-05T11:03:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[env] Don't run next assess when failNow is called\n\nWhen writing tests, this allows the writer to control whether the\ntest should continue running the next assess when a failure occurs.\nBasically, they can chose between using `t.FailNow()` or `t.Fail()`\ndepending on if the failure should stop the test or not.\nIt works independently from the `-fail-fast` flag specific to the\nframework and allows a more granular control on test failures.","shortMessageHtmlLink":"[env] Don't run next assess when failNow is called"}},{"before":"332536f9ed7ed22fd069c5622b057a91ceeb1208","after":"5a3820e25f34ce7eb416a6636ba01b6e4be75456","ref":"refs/heads/main","pushedAt":"2024-03-05T09:56:09.000Z","pushType":"push","commitsCount":26,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"Merge pull request #382 from Fricounet/fricounet/namespace-labels-annotations\n\nAllow custom labels and annotations for namespace creation","shortMessageHtmlLink":"Merge pull request kubernetes-sigs#382 from Fricounet/fricounet/names…"}},{"before":null,"after":"31a4ee7550a9cd6df7abce92d92bbf0f9e4c4637","ref":"refs/heads/fricounet/fix-spelling","pushedAt":"2024-02-20T09:56:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"Fix typos, spelling and grammar in docs","shortMessageHtmlLink":"Fix typos, spelling and grammar in docs"}},{"before":"9f3b76f9d5168d8161d38e9200ec91966637245c","after":"818fe593dfef00120ce1e766e233826ece915444","ref":"refs/heads/fricounet/namespace-labels-annotations","pushedAt":"2024-02-16T22:20:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[envfuncs] Create TestDeleteNamespace","shortMessageHtmlLink":"[envfuncs] Create TestDeleteNamespace"}},{"before":"d50672dd2e4c2513602bfc7a91298185b9da6d91","after":"9f3b76f9d5168d8161d38e9200ec91966637245c","ref":"refs/heads/fricounet/namespace-labels-annotations","pushedAt":"2024-02-16T22:14:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[envfuncs] Create TestDeleteNamespace","shortMessageHtmlLink":"[envfuncs] Create TestDeleteNamespace"}},{"before":"de358a290b01e041ed752fb661b29b1fe9b08660","after":"d50672dd2e4c2513602bfc7a91298185b9da6d91","ref":"refs/heads/fricounet/namespace-labels-annotations","pushedAt":"2024-02-15T14:54:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[envfuncs] Add test for CreateNamespace","shortMessageHtmlLink":"[envfuncs] Add test for CreateNamespace"}},{"before":"7bb0bd99183eff3005f05409b0125cc6ecdfd7fa","after":"de358a290b01e041ed752fb661b29b1fe9b08660","ref":"refs/heads/fricounet/namespace-labels-annotations","pushedAt":"2024-02-15T14:47:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[envfuncs] Add test for CreateNamespace","shortMessageHtmlLink":"[envfuncs] Add test for CreateNamespace"}},{"before":"09144591606b4858267c13c31c5d05a16a6432fc","after":"7bb0bd99183eff3005f05409b0125cc6ecdfd7fa","ref":"refs/heads/fricounet/namespace-labels-annotations","pushedAt":"2024-02-15T11:25:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[envfuncs] Add test for CreateNamespace","shortMessageHtmlLink":"[envfuncs] Add test for CreateNamespace"}},{"before":"eaec0b666377fa9d7a1ab544cbfa39acf7e23104","after":"c3397646cb7031c88f48df72c563d89baca571ae","ref":"refs/heads/fricounet/bug-ns-ctx","pushedAt":"2024-02-15T11:14:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[envfuncs] Fix DeleteNamespace retrieving ns from ctx\n\nThe function DeleteNamespace was not succeeding in retrieving the\nnamespace from the context because it tried to cast a corev1.Namespace\nto *corev1.Namespace.","shortMessageHtmlLink":"[envfuncs] Fix DeleteNamespace retrieving ns from ctx"}},{"before":null,"after":"eaec0b666377fa9d7a1ab544cbfa39acf7e23104","ref":"refs/heads/fricounet/bug-ns-ctx","pushedAt":"2024-02-15T10:06:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[envfuncs] Illustrate bug with storing namespace in context","shortMessageHtmlLink":"[envfuncs] Illustrate bug with storing namespace in context"}},{"before":"d3ccccca38d6127b01d90816016b66fc4612e78f","after":"09144591606b4858267c13c31c5d05a16a6432fc","ref":"refs/heads/fricounet/namespace-labels-annotations","pushedAt":"2024-02-15T10:03:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[envfuncs] Add test for CreateNamespace","shortMessageHtmlLink":"[envfuncs] Add test for CreateNamespace"}},{"before":null,"after":"d3ccccca38d6127b01d90816016b66fc4612e78f","ref":"refs/heads/fricounet/namespace-labels-annotations","pushedAt":"2024-02-14T15:09:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[envfuncs] Allow custom labels and annotations for namespace creation\n\nCreate 2 new option functions that can be used when calling\n`CreateNamespace` to add custom labels and annotations to the namespace.","shortMessageHtmlLink":"[envfuncs] Allow custom labels and annotations for namespace creation"}},{"before":"b546697687e6cd7a4d16f790f920fa9c9cf8bda2","after":"332536f9ed7ed22fd069c5622b057a91ceeb1208","ref":"refs/heads/main","pushedAt":"2024-02-14T15:08:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"Merge pull request #360 from wzshiming/clean/error-msg\n\nPrint the complete error when fails","shortMessageHtmlLink":"Merge pull request kubernetes-sigs#360 from wzshiming/clean/error-msg"}},{"before":"332536f9ed7ed22fd069c5622b057a91ceeb1208","after":"b546697687e6cd7a4d16f790f920fa9c9cf8bda2","ref":"refs/heads/main","pushedAt":"2024-02-14T15:08:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fricounet","name":"Baptiste Girard-Carrabin","path":"/Fricounet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57704682?s=80&v=4"},"commit":{"message":"[envfuncs] Allow custom labels and annotations for namespace creation\n\nCreate 2 new option functions that can be used when calling\n`CreateNamespace` to add custom labels and annotations to the namespace.","shortMessageHtmlLink":"[envfuncs] Allow custom labels and annotations for namespace creation"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEOwzOOwA","startCursor":null,"endCursor":null}},"title":"Activity · Fricounet/e2e-framework"}