From 6a38b808395fcf725b2f78521bab817b3f5e2692 Mon Sep 17 00:00:00 2001 From: Shishir Suvarna Date: Wed, 27 Dec 2023 12:37:29 +0530 Subject: [PATCH 1/2] Updated Contribution.md file --- CONTRIBUTING.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c8b8c82b..b83df040 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,9 +30,9 @@ This project follows [Google's Open Source Community Guidelines](https://opensou ## To start * Fork this project on Github. -* If you do not have an Apigee Edge trial organization, create a new one -[here](https://login.apigee.com/login). -* Register on https://circleci.com using your GitHub account. +* If you do not have an Apigee Edge or X trial organization, create a new one +[here for Edge](https://login.apigee.com/login) or [X](https://apigee.google.com/). +* Setup [Github actions](https://docs.github.com/en/actions) using your GitHub account. * Install the module from for your fork instead of Drupal.org on your local. (See below.) ## For daily work @@ -40,10 +40,10 @@ This project follows [Google's Open Source Community Guidelines](https://opensou * Add changes to the code. If you implement new features, add new tests to cover the implemented functionality. If you modify existing features, update related tests. * Push your changes to your repo's branch. -* Wait until all CircleCI test jobs finish and _pass_. (If any of them fails -restart them once or twice. They may have failed due to an API communication error. You can +* Wait until all Github Actions/CircleCI test jobs finish and _pass_. (If any of them fails +restart them once or twice. They may have failed due to an API communication error or caching issue. You can identify these type of issues from logs.) -* Create [new pull request](https://github.com/apigee/apigee-edge-drupal/pull/new/8.x-1.x). CircleCI will +* Create [new pull request](https://github.com/apigee/apigee-edge-drupal/pull/new/8.x-1.x). Github Actions/CircleCI will automatically report the status of each of the CI jobs directly to the GitHub PR. ## Installing module from your fork instead of Drupal.org @@ -112,7 +112,7 @@ need to be set on your system. These variables are: Value of `APIGEE_EDGE_AUTH_TYPE` should be set to either 'basic' or 'oauth'. If you select `oauth` and have a SAML enabled org you will also need to set `APIGEE_EDGE_AUTHORIZATION_SERVER`, `APIGEE_EDGE_CLIENT_ID`, `APIGEE_EDGE_CLIENT_SECRET` values. -Value of `APIGEE_EDGE_USERNAME` should be an email address of an Apigee Edge user with **Organization administrator role** if you do not want to bump into permission issues in tests. Tests failed with "Forbidden" could be a sign of the insufficient permissions. +Value of `APIGEE_EDGE_USERNAME` should be an email address of an Apigee Edge/X user with **Organization administrator role** if you do not want to bump into permission issues in tests. Tests failed with "Forbidden" could be a sign of the insufficient permissions. You can set these environment variables in multiple ways: - Copy the `phpunit.core.xml.dist` file included with this module as `core/phpunit.xml`. Uncomment the `APIGEE_*` @@ -132,6 +132,7 @@ If you wish to run tests both against a Public and a Hybrid instance: 1. First configure the credentials to the public org as described above. 2. Add the `APIGEE_EDGE_ACCOUNT_JSON_KEY` environment variable. 3. Add a`APIGEE_EDGE_HYBRID_ORGANIZATION` environment variable, which specifies the Hybrid organization to use for tests. +4. Add the `APIGEE_EDGE_HYBRID_ENDPOINT` environment variable, which specifies the Hybrid/X endpoint to use for tests. ## Install development dependencies @@ -169,13 +170,13 @@ You can read more about running Drupal 8 PHPUnit tests [here](https://www.drupal ### Troubleshooting -**If a test is passing on your local, but it is failing on CircleCI:** +**If a test is passing on your local, but it is failing on Github Actions/CircleCI:** 1. Try to restart failing job(s) one or two times, failing tests could be caused by communication issues. -2. If (1) did not work, try to run the failing test(s) on your local with the above described CircleCI CLI. +2. If (1) did not work, try to run the failing test(s) on your local with the above described Github Actions/CircleCI CLI. ### If your pull request relies on changes that are not yet available in Apigee Edge Client Library for PHP's latest stable release You should *temporarily* add required changes as patches to module's composer.json. -This way this module's tests could pass on CircleCI. +This way this module's tests could pass on Github Actions/CircleCI. #### Example: From 422e7b12cc91fa4b222ac5fc7b80a66430797ddf Mon Sep 17 00:00:00 2001 From: Shishir Suvarna Date: Tue, 23 Jan 2024 11:20:23 +0530 Subject: [PATCH 2/2] Removed CircleCI reference and updated 3.x branch --- CONTRIBUTING.md | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b83df040..9be4e5ed 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -40,10 +40,10 @@ This project follows [Google's Open Source Community Guidelines](https://opensou * Add changes to the code. If you implement new features, add new tests to cover the implemented functionality. If you modify existing features, update related tests. * Push your changes to your repo's branch. -* Wait until all Github Actions/CircleCI test jobs finish and _pass_. (If any of them fails +* Wait until all Github Actions test jobs finish and _pass_. (If any of them fails restart them once or twice. They may have failed due to an API communication error or caching issue. You can identify these type of issues from logs.) -* Create [new pull request](https://github.com/apigee/apigee-edge-drupal/pull/new/8.x-1.x). Github Actions/CircleCI will +* Create [new pull request](https://github.com/apigee/apigee-edge-drupal/pull/new/3.x). Github Actions will automatically report the status of each of the CI jobs directly to the GitHub PR. ## Installing module from your fork instead of Drupal.org @@ -54,7 +54,7 @@ Update your composer.json and install the module from your fork: ```bash cd [DRUPAL_ROOT] composer config repositories.forked-apigee_edge vcs https://github.com/[YOUR-GITHUB-USERNAME]/apigee-edge-drupal -composer require drupal/apigee_edge:dev-issue-12 # It is important to require a branch/tag here that does not exist in the Drupal.org repo otherwise code gets pulled from there. For example, dev-8.x-1.x condition would pull the code from Drupal.org repo instead of your fork. +composer require drupal/apigee_edge:dev-issue-12 # It is important to require a branch/tag here that does not exist in the Drupal.org repo otherwise code gets pulled from there. For example, dev-3.x condition would pull the code from Drupal.org repo instead of your fork. ``` If you would like to keep your fork always up-to-date with recent changes in @@ -72,7 +72,7 @@ upstream: ```bash cd [DRUPAL_ROOT]/modules/contrib/apigee_edge git fetch upstream -git rebase upstream/8.x-1.x +git rebase upstream/3.x ``` After you have installed the module from your fork you can easily create new @@ -81,7 +81,7 @@ branches for new fixes on your local: ```bash cd [DRUPAL_ROOT]/modules/contrib/apigee_edge git fetch upstream -git checkout -b issue-12 upstream/8.x-1.x +git checkout -b issue-12 upstream/3.x # Add your awesome changes. # Do not forget to update tests or write additional test cases if needed. @@ -155,28 +155,17 @@ cd [DRUPAL_ROOT] ./vendor/bin/phpunit -c core --verbose --color modules/contrib/apigee_edge/tests/src/Kernel/EntityControllerCacheTest.php ``` -If you have CircleCI CLI and Docker installed on your system you can also run -PHPUnit tests with the following commands: - -```bash -cd [DRUPAL_ROOT]/modules/contrib/apigee_edge/ -circleci local execute --job [JOB_NAME] -``` - -- Note: Replace `[JOB_NAME]` with the name of the job that you want to run locally. Examples: -`run-unit-kernel-tests-8`, `run-functional-tests-9`, etc. - -You can read more about running Drupal 8 PHPUnit tests [here](https://www.drupal.org/docs/8/phpunit/running-phpunit-tests). +You can read more about running Drupal 9 and above PHPUnit tests [here](https://www.drupal.org/docs/automated-testing/phpunit-in-drupal/running-phpunit-tests). ### Troubleshooting -**If a test is passing on your local, but it is failing on Github Actions/CircleCI:** +**If a test is passing on your local, but it is failing on Github Actions:** 1. Try to restart failing job(s) one or two times, failing tests could be caused by communication issues. -2. If (1) did not work, try to run the failing test(s) on your local with the above described Github Actions/CircleCI CLI. +2. If (1) did not work, try to run the failing test(s) on your local with the above described Github Actions CLI. -### If your pull request relies on changes that are not yet available in Apigee Edge Client Library for PHP's latest stable release +### If your pull request relies on changes that are not yet available in Apigee Client Library for PHP's latest stable release You should *temporarily* add required changes as patches to module's composer.json. -This way this module's tests could pass on Github Actions/CircleCI. +This way this module's tests could pass on Github Actions. #### Example: