Repository: qiskit-community/ecosystem
Pull request #447 (2023-07-11 18:44:30)

Add `--no-dependencies` into qiskit-terra setup
<!--
⚠️ If you do not respect this template, your pull request will be closed.
⚠️ Your pull request title should be short detailed and understandable for all.
⚠️ Also, please add a release note file using reno if the change needs to be
  documented in the release notes.
⚠️ If your pull request fixes an open issue, please link to the issue.

- [ ] I have added the tests to cover my changes.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the CONTRIBUTING document.
-->

### Summary
In some case, the setup of `qiskit-terra` override dependancies to its latest even if the actual version already pass the needs.

Adding `--no-dependencies` to the `pip install` cmd will avoid this behaviour but in case of the dev test setup if terra has a new requirements compare to the stable version, it gonna break if the requirements aren't already passed.

### Details and comments
- [x] Update stable test
- [x] ~~Update dev test~~
- [x] Test --> [fork action](https://github.com/mickahell/ecosystem/actions/runs/5648111646/job/15299614438)


---
Ref #440 

mickahell: @frankharkins @Eric-Arellano I would like your advise on this evolve.

Indeed this evolve allow to not override the requirements of the needs who is good for stable tests.
But for dev test, it could create false positive. How often do we update the requirements of terra ?
mickahell: After doing tests, I think we can only adapt the stable test and keep the dev test untouch. 
Because I think we need to discuss further about does it really make sense to have a strict check about dev version to become member of the Ecosystem --> see issue #448 

Patch:
diff --git a/.github/workflows/ecosystem-badge-and-stars-update.yml b/.github/workflows/ecosystem-badge-and-stars-update.yml
index 531032f..800554d 100644
--- a/.github/workflows/ecosystem-badge-and-stars-update.yml
+++ b/.github/workflows/ecosystem-badge-and-stars-update.yml
@@ -14,11 +14,11 @@ jobs:
     - name: Setup variables
       id: vars
       run: |
-        echo "::set-output name=datetime::$(date +'%Y_%m_%d_%H_%M')"
-        echo "::set-output name=pr_branch_name::batch_badges_$(date +'%Y_%m_%d_%H_%M')"
-    - uses: actions/checkout@v2
+        echo "datetime=$(date +'%Y_%m_%d_%H_%M')" >> "$GITHUB_OUTPUT"
+        echo "pr_branch_name=batch_badges_$(date +'%Y_%m_%d_%H_%M')" >> "$GITHUB_OUTPUT"
+    - uses: actions/checkout@v3
     - name: Set up Python 3.9
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
           python-version: '3.9'
     - name: Install dependencies
@@ -34,7 +34,7 @@ jobs:
 
     - name: Create PR for stars and badges update
       id: cpr
-      uses: peter-evans/create-pull-request@v3
+      uses: peter-evans/create-pull-request@v5
       with:
         commit-message: Badges and stars update for ${{ steps.vars.outputs.datetime }}
         title: Badges and stars update for ${{ steps.vars.outputs.datetime }}
diff --git a/.github/workflows/ecosystem-batch-repo-check.yml b/.github/workflows/ecosystem-batch-repo-check.yml
index 4db1994..dc5fa08 100644
--- a/.github/workflows/ecosystem-batch-repo-check.yml
+++ b/.github/workflows/ecosystem-batch-repo-check.yml
@@ -14,9 +14,9 @@ jobs:
       run: |
         echo "::set-output name=datetime::$(date +'%Y_%m_%d_%H_%M')"
         echo "::set-output name=pr_branch_name::batch_checks_$(date +'%Y_%m_%d_%H_%M')"
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
     - name: Set up Python 3.9
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
           python-version: '3.9'
     - name: Install dependencies
@@ -27,7 +27,7 @@ jobs:
       run:  echo ${{ steps.vars.outputs.datetime }} >> check_time.txt
     - name: Create PR for batch checks
       id: cpr
-      uses: peter-evans/create-pull-request@v3
+      uses: peter-evans/create-pull-request@v5
       with:
         commit-message: Batch checks for ${{ steps.vars.outputs.datetime }}
         title: Batch checks | ${{ steps.vars.outputs.datetime }}
diff --git a/.github/workflows/ecosystem-batch-save-temp-res-to-db.yml b/.github/workflows/ecosystem-batch-save-temp-res-to-db.yml
index bb0e12e..c548ced 100644
--- a/.github/workflows/ecosystem-batch-save-temp-res-to-db.yml
+++ b/.github/workflows/ecosystem-batch-save-temp-res-to-db.yml
@@ -14,13 +14,13 @@ jobs:
     - name: Setup variables
       id: vars
       run: |
-        echo "::set-output name=datetime::$(date +'%Y_%m_%d_%H_%M')"
-        echo "::set-output name=pr_branch_name::batch_checks_$(date +'%Y_%m_%d_%H_%M')"
-    - uses: actions/checkout@v2
+        echo "datetime=$(date +'%Y_%m_%d_%H_%M')" >> "$GITHUB_OUTPUT"
+        echo "pr_branch_name=batch_checks_$(date +'%Y_%m_%d_%H_%M')" >> "$GITHUB_OUTPUT"
+    - uses: actions/checkout@v3
       with:
         ref: ${{ github.event.inputs.branch }}
     - name: Set up Python 3.9
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
           python-version: '3.9'
     - name: Install dependencies
diff --git a/.github/workflows/ecosystem-main_repos_fetch.yml b/.github/workflows/ecosystem-main_repos_fetch.yml
index fcb2892..4403f41 100644
--- a/.github/workflows/ecosystem-main_repos_fetch.yml
+++ b/.github/workflows/ecosystem-main_repos_fetch.yml
@@ -17,9 +17,9 @@ jobs:
       run: |
         echo "::set-output name=datetime::$(date +'%Y_%m_%d_%H_%M')"
         echo "::set-output name=pr_branch_name::fetch_tests_for_main_$(date +'%Y_%m_%d_%H_%M')"
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
     - name: Set up Python ${{ env.python-version }}
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: ${{ env.python-version }}
     - name: Install dependencies
@@ -33,7 +33,7 @@ jobs:
 
     - name: Create PR for batch checks
       id: cpr
-      uses: peter-evans/create-pull-request@v3
+      uses: peter-evans/create-pull-request@v5
       with:
         commit-message: Fetch tests results for main projects.
         title: AUTO ${{ steps.vars.outputs.datetime }} | Fetch tests results for main projects
diff --git a/.github/workflows/ecosystem-project-check.yml b/.github/workflows/ecosystem-project-check.yml
index ec84e70..fd1dfb6 100644
--- a/.github/workflows/ecosystem-project-check.yml
+++ b/.github/workflows/ecosystem-project-check.yml
@@ -21,11 +21,11 @@ jobs:
       run: |
         echo "Running check for ${{ github.event.client_payload.repo_url }}..."
         echo "Will push changes to ${{ github.event.client_payload.branch_name }}..."
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
       with:
         ref: ${{ github.event.client_payload.branch_name }}
     - name: Set up Python 3.9
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
           python-version: '3.9'
     - name: Install dependencies
@@ -48,14 +48,14 @@ jobs:
     # check if any of the tests failed
     - name: Check return
       run: |
-        echo "PASS_LOG=True" >> $GITHUB_ENV
+        echo "PASS_LOG=True" >> "$GITHUB_OUTPUT"
 
         declare -a return_list=( \
           "${{ steps.test_step.outputs.result }}" \
         )
         for i in "${return_list[@]}"; do
           if [[ "${i}" != *"True"* ]]; then
-            echo "PASS_LOG=False" >> $GITHUB_ENV
+            echo "PASS_LOG=False" >> "$GITHUB_OUTPUT"
           fi
         done
 
diff --git a/.github/workflows/ecosystem-recompile.yml b/.github/workflows/ecosystem-recompile.yml
index 6d77f47..1acdee4 100644
--- a/.github/workflows/ecosystem-recompile.yml
+++ b/.github/workflows/ecosystem-recompile.yml
@@ -20,9 +20,9 @@ jobs:
       cancel-in-progress: true
     steps:
     # setup deps
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
     - name: Set up Python ${{ env.python-version }}
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: ${{ env.python-version }}
     - name: Install dependencies
diff --git a/.github/workflows/ecosystem-submission.yml b/.github/workflows/ecosystem-submission.yml
index a64c01e..2b6bb29 100644
--- a/.github/workflows/ecosystem-submission.yml
+++ b/.github/workflows/ecosystem-submission.yml
@@ -33,9 +33,9 @@ jobs:
       python-version: "3.9"
     steps:
     # setup deps
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
     - name: Set up Python ${{ env.python-version }}
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: ${{ env.python-version }}
     - name: Install dependencies
@@ -80,8 +80,9 @@ jobs:
 
     # Check result, update issue and create MR
     - name: Check return
+      id: check-return
       run: |
-        echo "PASS_LOG=True" >> $GITHUB_ENV
+        echo "PASS_LOG=True" >> "$GITHUB_OUTPUT"
 
         declare -a return_list=( \
           "${{ steps.stable.outputs.result }}" \
@@ -90,14 +91,14 @@ jobs:
         )
         for i in "${return_list[@]}"; do
           if [[ "${i}" != *"True"* ]]; then
-            echo "PASS_LOG=False" >> $GITHUB_ENV
+            echo "PASS_LOG=False" >> "$GITHUB_OUTPUT"
           fi
         done
 
     - name: Check the check
-      id: check_result
+      id: check-result
       run: |
-        echo "Pass log is ${{ env.PASS_LOG }}"
+        echo "Pass log is ${{ steps.check-return.outputs.PASS_LOG }}"
 
     - name: Add member
       env:
@@ -123,9 +124,8 @@ jobs:
 
     - name: Commit changes and create Pull Request
       id: cpr
-      uses: peter-evans/create-pull-request@v3
+      uses: peter-evans/create-pull-request@v5
       with:
-        repository: "qiskit-community/ecosystem"
         commit-message: Submission - Add ${{ steps.parse-issue.outputs.SUBMISSION_REPO }} to list.
         title: Add ${{ steps.parse-issue.outputs.SUBMISSION_NAME }} to list.
         body: |
@@ -135,19 +135,17 @@ jobs:
         base: main
 
     - name: Create comment on success
-      if: ${{ env.PASS_LOG == 'True' }}
-      uses: peter-evans/create-or-update-comment@v1
+      if: ${{ steps.check-return.outputs.PASS_LOG == 'True' }}
+      uses: peter-evans/create-or-update-comment@v3
       with:
-        repository: "qiskit-community/ecosystem"
         issue-number: ${{ github.event.issue.number }}
         body: |
           Successfull submission! :sparkles: PR #${{ steps.cpr.outputs.pull-request-number }}
 
     - name: Create comment on failure
-      if: ${{ env.PASS_LOG == 'False' }}
-      uses: peter-evans/create-or-update-comment@v1
+      if: ${{ steps.check-return.outputs.PASS_LOG == 'False' }}
+      uses: peter-evans/create-or-update-comment@v3
       with:
-        repository: "qiskit-community/ecosystem"
         issue-number: ${{ github.event.issue.number }}
         body: |
           Submission PR #${{ steps.cpr.outputs.pull-request-number }} has been created with errors in tests :warning:
diff --git a/badges/purplecaffeine.svg b/badges/purplecaffeine.svg
new file mode 100644
index 0000000..9da0c74
--- /dev/null
+++ b/badges/purplecaffeine.svg
@@ -0,0 +1,1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="162" height="20" role="img" aria-label="purplecaffeine: Community"><title>purplecaffeine: Community</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="162" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="89" height="20" fill="#555"/><rect x="89" width="73" height="20" fill="blueviolet"/><rect width="162" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="455" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="790">purplecaffeine</text><text x="455" y="140" transform="scale(.1)" fill="#fff" textLength="790">purplecaffeine</text><text aria-hidden="true" x="1245" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="630">Community</text><text x="1245" y="140" transform="scale(.1)" fill="#fff" textLength="630">Community</text></g></svg>
\ No newline at end of file
diff --git a/badges/qiskit-ibm-provider.svg b/badges/qiskit-ibm-provider.svg
index 3f633c8..79ff5be 100644
--- a/badges/qiskit-ibm-provider.svg
+++ b/badges/qiskit-ibm-provider.svg
@@ -1,1 +1,1 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="184" height="20" role="img" aria-label="qiskit-ibm-provider: Extensions"><title>qiskit-ibm-provider: Extensions</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="184" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="115" height="20" fill="#555"/><rect x="115" width="69" height="20" fill="blueviolet"/><rect width="184" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="585" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="1050">qiskit-ibm-provider</text><text x="585" y="140" transform="scale(.1)" fill="#fff" textLength="1050">qiskit-ibm-provider</text><text aria-hidden="true" x="1485" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="590">Extensions</text><text x="1485" y="140" transform="scale(.1)" fill="#fff" textLength="590">Extensions</text></g></svg>
\ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="150" height="20" role="img" aria-label="qiskit-ibm-provider: Main"><title>qiskit-ibm-provider: Main</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="150" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="115" height="20" fill="#555"/><rect x="115" width="35" height="20" fill="blueviolet"/><rect width="150" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="585" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="1050">qiskit-ibm-provider</text><text x="585" y="140" transform="scale(.1)" fill="#fff" textLength="1050">qiskit-ibm-provider</text><text aria-hidden="true" x="1315" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="250">Main</text><text x="1315" y="140" transform="scale(.1)" fill="#fff" textLength="250">Main</text></g></svg>
\ No newline at end of file
diff --git a/badges/qiskit-ibm-runtime.svg b/badges/qiskit-ibm-runtime.svg
index 3baa70d..039187f 100644
--- a/badges/qiskit-ibm-runtime.svg
+++ b/badges/qiskit-ibm-runtime.svg
@@ -1,1 +1,1 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="182" height="20" role="img" aria-label="qiskit-ibm-runtime: Extensions"><title>qiskit-ibm-runtime: Extensions</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="182" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="113" height="20" fill="#555"/><rect x="113" width="69" height="20" fill="blueviolet"/><rect width="182" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="575" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="1030">qiskit-ibm-runtime</text><text x="575" y="140" transform="scale(.1)" fill="#fff" textLength="1030">qiskit-ibm-runtime</text><text aria-hidden="true" x="1465" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="590">Extensions</text><text x="1465" y="140" transform="scale(.1)" fill="#fff" textLength="590">Extensions</text></g></svg>
\ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="148" height="20" role="img" aria-label="qiskit-ibm-runtime: Main"><title>qiskit-ibm-runtime: Main</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="148" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="113" height="20" fill="#555"/><rect x="113" width="35" height="20" fill="blueviolet"/><rect width="148" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="575" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="1030">qiskit-ibm-runtime</text><text x="575" y="140" transform="scale(.1)" fill="#fff" textLength="1030">qiskit-ibm-runtime</text><text aria-hidden="true" x="1295" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="250">Main</text><text x="1295" y="140" transform="scale(.1)" fill="#fff" textLength="250">Main</text></g></svg>
\ No newline at end of file
diff --git a/badges/qiskit-metal.svg b/badges/qiskit-metal.svg
index cf930aa..7e52cef 100644
--- a/badges/qiskit-metal.svg
+++ b/badges/qiskit-metal.svg
@@ -1,1 +1,1 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="144" height="20" role="img" aria-label="qiskit-metal: Extensions"><title>qiskit-metal: Extensions</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="144" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="75" height="20" fill="#555"/><rect x="75" width="69" height="20" fill="blueviolet"/><rect width="144" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="385" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="650">qiskit-metal</text><text x="385" y="140" transform="scale(.1)" fill="#fff" textLength="650">qiskit-metal</text><text aria-hidden="true" x="1085" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="590">Extensions</text><text x="1085" y="140" transform="scale(.1)" fill="#fff" textLength="590">Extensions</text></g></svg>
\ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="148" height="20" role="img" aria-label="qiskit-metal: Community"><title>qiskit-metal: Community</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="148" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="75" height="20" fill="#555"/><rect x="75" width="73" height="20" fill="blueviolet"/><rect width="148" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="385" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="650">qiskit-metal</text><text x="385" y="140" transform="scale(.1)" fill="#fff" textLength="650">qiskit-metal</text><text aria-hidden="true" x="1105" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="630">Community</text><text x="1105" y="140" transform="scale(.1)" fill="#fff" textLength="630">Community</text></g></svg>
\ No newline at end of file
diff --git a/check_time.txt b/check_time.txt
index 4d9d27d..e485a38 100644
--- a/check_time.txt
+++ b/check_time.txt
@@ -36,3 +36,4 @@
 2023_06_06_09_10
 2023_06_27_09_11
 2023_07_11_09_11
+2023_07_18_09_10
diff --git a/ecosystem/manager.py b/ecosystem/manager.py
index ffce5ea..bfdc41e 100644
--- a/ecosystem/manager.py
+++ b/ecosystem/manager.py
@@ -574,8 +574,9 @@ class Manager:
         Return:
             _run_python_tests def
         """
+        qiskit_latest_deps = ["qiskit-terra"]
         additional_commands = [
-            "pip install --upgrade --force-reinstall qiskit-terra",
+            "pip install --upgrade --no-dependencies --force-reinstall qiskit-terra",
         ]
         return self._run_python_tests(
             run_name=run_name,
@@ -583,7 +584,7 @@ class Manager:
             tier=tier,
             python_version=python_version,
             test_type=TestType.STABLE_COMPATIBLE,
-            ecosystem_deps=[],
+            ecosystem_deps=qiskit_latest_deps,
             ecosystem_additional_commands=additional_commands,
             logs_link=logs_link,
         )
diff --git a/ecosystem/models/utils.py b/ecosystem/models/utils.py
index 16e28a8..9895dc9 100644
--- a/ecosystem/models/utils.py
+++ b/ecosystem/models/utils.py
@@ -23,6 +23,8 @@ class JsonSerializable(ABC):
             if key.startswith("_"):
                 continue
             element = []
+            if val is None:
+                continue
             if isinstance(val, list):
                 for item in val:
                     if isinstance(item, JsonSerializable):
diff --git a/ecosystem/resources/members.json b/ecosystem/resources/members.json
index 3cf3aa8..f823f94 100644
--- a/ecosystem/resources/members.json
+++ b/ecosystem/resources/members.json
@@ -12,7 +12,7 @@
             "updated_at": 1678827878.864397,
             "tier": "Community",
             "skip_tests": false,
-            "stars": 358,
+            "stars": 359,
             "tests_results": [
                 {
                     "test_type": "development",
@@ -327,7 +327,7 @@
             "styles_results": [],
             "coverages_results": [],
             "skip_tests": true,
-            "stars": 453
+            "stars": 463
         },
         "2": {
             "created_at": 1636403009.538761,
@@ -346,7 +346,7 @@
             "styles_results": [],
             "coverages_results": [],
             "skip_tests": true,
-            "stars": 170
+            "stars": 171
         },
         "3": {
             "name": "kaleidoscope",
@@ -362,7 +362,7 @@
             "updated_at": 1678827878.709701,
             "tier": "Community",
             "skip_tests": false,
-            "stars": 18,
+            "stars": 19,
             "tests_results": [
                 {
                     "test_type": "development",
@@ -713,7 +713,7 @@
             "coverages_results": [],
             "tier": "Community",
             "skip_tests": false,
-            "stars": 21,
+            "stars": 22,
             "tests_results": [
                 {
                     "test_type": "development",
@@ -984,7 +984,7 @@
             "tier": "Community",
             "skip_tests": true,
             "historical_test_results": [],
-            "stars": 134,
+            "stars": 137,
             "configuration": {
                 "dependencies_files": [
                     "requirements.txt"
@@ -1136,7 +1136,7 @@
             "styles_results": [],
             "coverages_results": [],
             "skip_tests": true,
-            "stars": 227
+            "stars": 229
         },
         "9": {
             "name": "quantumcat",
@@ -1540,7 +1540,8 @@
             "coverages_results": [],
             "tier": "Community",
             "skip_tests": false,
-            "historical_test_results": []
+            "historical_test_results": [],
+            "stars": 6
         },
         "12": {
             "name": "qiskit-symb",
@@ -1562,7 +1563,7 @@
             "tier": "Community",
             "skip_tests": false,
             "historical_test_results": [],
-            "stars": 5,
+            "stars": 8,
             "configuration": {
                 "dependencies_files": [
                     "requirements.txt"
@@ -1597,7 +1598,7 @@
             "updated_at": 1678827878.611622,
             "tier": "Community",
             "skip_tests": false,
-            "stars": 713,
+            "stars": 745,
             "tests_results": [
                 {
                     "test_type": "development",
@@ -1915,7 +1916,7 @@
             "updated_at": 1678827878.782752,
             "tier": "Community",
             "skip_tests": false,
-            "stars": 125,
+            "stars": 126,
             "tests_results": [
                 {
                     "test_type": "development",
@@ -2568,7 +2569,7 @@
             "updated_at": 1678827878.932437,
             "tier": "Community",
             "skip_tests": false,
-            "stars": 266,
+            "stars": 271,
             "tests_results": [
                 {
                     "test_type": "development",
@@ -2984,7 +2985,7 @@
             "styles_results": [],
             "coverages_results": [],
             "skip_tests": true,
-            "stars": 166
+            "stars": 169
         },
         "23": {
             "name": "c3",
@@ -4891,7 +4892,7 @@
             "tier": "Community",
             "skip_tests": true,
             "historical_test_results": [],
-            "stars": 3
+            "stars": 4
         },
         "37": {
             "name": "python-open-controls",
@@ -5323,7 +5324,7 @@
             "updated_at": 1678827878.827902,
             "tier": "Community",
             "skip_tests": false,
-            "stars": 81,
+            "stars": 82,
             "tests_results": [
                 {
                     "test_type": "development",
@@ -5657,7 +5658,7 @@
             "coverages_results": [],
             "tier": "Main",
             "skip_tests": true,
-            "stars": 52,
+            "stars": 53,
             "configuration": {
                 "dependencies_files": [
                     "requirements.txt",
@@ -5699,7 +5700,7 @@
             "tier": "Main",
             "skip_tests": true,
             "historical_test_results": [],
-            "stars": 990
+            "stars": 1000
         },
         "2": {
             "created_at": 1636403010.377695,
@@ -5717,7 +5718,7 @@
             "styles_results": [],
             "coverages_results": [],
             "skip_tests": true,
-            "stars": 374
+            "stars": 376
         },
         "3": {
             "name": "qiskit-ibm-runtime",
@@ -5738,7 +5739,7 @@
             "coverages_results": [],
             "tier": "Main",
             "skip_tests": true,
-            "stars": 81
+            "stars": 83
         }
     },
     "Extensions": {
@@ -5756,7 +5757,7 @@
             "coverages_results": [],
             "tier": "Extensions",
             "skip_tests": false,
-            "stars": 24,
+            "stars": 25,
             "tests_results": [
                 {
                     "test_type": "development",
@@ -6298,7 +6299,7 @@
             "website": "https://qiskit.org/ecosystem/experiments/",
             "tests_results": [],
             "skip_tests": true,
-            "stars": 110
+            "stars": 113
         },
         "3": {
             "name": "qiskit-research",
@@ -6319,7 +6320,7 @@
             "tier": "Extensions",
             "skip_tests": true,
             "historical_test_results": [],
-            "stars": 53
+            "stars": 54
         },
         "4": {
             "created_at": 1628883441.121108,
@@ -6334,8 +6335,7 @@
             "url": "https://github.com/Qiskit-Extensions/qiskit-dynamics",
             "website": "https://qiskit.org/ecosystem/dynamics/",
             "tests_results": [],
-            "skip_tests": true,
-            "stars": 71
+            "skip_tests": true
         },
         "5": {
             "name": "quantum-serverless",
@@ -6449,7 +6449,6 @@
             "coverages_results": [],
             "tier": "Extensions",
             "skip_tests": false,
-            "stars": 12,
             "tests_results": [
                 {
                     "test_type": "development",
@@ -6703,7 +6702,6 @@
             "coverages_results": [],
             "tier": "Extensions",
             "skip_tests": false,
-            "stars": 29,
             "tests_results": [
                 {
                     "test_type": "development",
@@ -6926,7 +6924,6 @@
             "coverages_results": [],
             "tier": "Extensions",
             "skip_tests": true,
-            "stars": 33,
             "configuration": {
                 "dependencies_files": [
                     "requirements.txt",
@@ -6968,8 +6965,7 @@
             "coverages_results": [],
             "tier": "Extensions",
             "skip_tests": true,
-            "historical_test_results": [],
-            "stars": 40
+            "historical_test_results": []
         }
     }
 }
\ No newline at end of file
diff --git a/ecosystem/resources/members/Blueqat.toml b/ecosystem/resources/members/Blueqat.toml
index bcea0c5..97c8b21 100644
--- a/ecosystem/resources/members/Blueqat.toml
+++ b/ecosystem/resources/members/Blueqat.toml
@@ -7,7 +7,7 @@ created_at = 1678827878.864396
 updated_at = 1678827878.864397
 tier = "Community"
 skip_tests = false
-stars = 358
+stars = 359
 [[tests_results]]
 test_type = "development"
 passed = false
diff --git a/ecosystem/resources/members/kaleidoscope.toml b/ecosystem/resources/members/kaleidoscope.toml
index e4678d6..4d1e193 100644
--- a/ecosystem/resources/members/kaleidoscope.toml
+++ b/ecosystem/resources/members/kaleidoscope.toml
@@ -9,7 +9,7 @@ created_at = 1678827878.7097
 updated_at = 1678827878.709701
 tier = "Community"
 skip_tests = false
-stars = 18
+stars = 19
 [[tests_results]]
 test_type = "development"
 passed = true
diff --git a/ecosystem/resources/members/mitiq.toml b/ecosystem/resources/members/mitiq.toml
index 751ce1f..f3d25de 100644
--- a/ecosystem/resources/members/mitiq.toml
+++ b/ecosystem/resources/members/mitiq.toml
@@ -7,7 +7,7 @@ created_at = 1678827878.932437
 updated_at = 1678827878.932437
 tier = "Community"
 skip_tests = false
-stars = 266
+stars = 271
 [[tests_results]]
 test_type = "development"
 passed = false
diff --git a/ecosystem/resources/members/mthree.toml b/ecosystem/resources/members/mthree.toml
index e077e78..715f29d 100644
--- a/ecosystem/resources/members/mthree.toml
+++ b/ecosystem/resources/members/mthree.toml
@@ -11,7 +11,7 @@ styles_results = []
 coverages_results = []
 tier = "Extensions"
 skip_tests = false
-stars = 24
+stars = 25
 [[tests_results]]
 test_type = "development"
 passed = false
diff --git a/ecosystem/resources/members/openqasm.toml b/ecosystem/resources/members/openqasm.toml
index e1d249b..540077a 100644
--- a/ecosystem/resources/members/openqasm.toml
+++ b/ecosystem/resources/members/openqasm.toml
@@ -15,4 +15,4 @@ coverages_results = []
 tier = "Main"
 skip_tests = true
 historical_test_results = []
-stars = 990
+stars = 1000
diff --git a/ecosystem/resources/members/pennylane-qiskit.toml b/ecosystem/resources/members/pennylane-qiskit.toml
index 0c2787a..4231893 100644
--- a/ecosystem/resources/members/pennylane-qiskit.toml
+++ b/ecosystem/resources/members/pennylane-qiskit.toml
@@ -7,7 +7,7 @@ created_at = 1678827878.782751
 updated_at = 1678827878.782752
 tier = "Community"
 skip_tests = false
-stars = 125
+stars = 126
 [[tests_results]]
 test_type = "development"
 passed = false
diff --git a/ecosystem/resources/members/prototype-entanglement-forging.toml b/ecosystem/resources/members/prototype-entanglement-forging.toml
index b056130..a99c17a 100644
--- a/ecosystem/resources/members/prototype-entanglement-forging.toml
+++ b/ecosystem/resources/members/prototype-entanglement-forging.toml
@@ -11,7 +11,6 @@ styles_results = []
 coverages_results = []
 tier = "Extensions"
 skip_tests = false
-stars = 29
 [[tests_results]]
 test_type = "development"
 passed = false
diff --git a/ecosystem/resources/members/prototype-quantum-kernel-training.toml b/ecosystem/resources/members/prototype-quantum-kernel-training.toml
index 7b05cb9..bd2f5f6 100644
--- a/ecosystem/resources/members/prototype-quantum-kernel-training.toml
+++ b/ecosystem/resources/members/prototype-quantum-kernel-training.toml
@@ -12,7 +12,6 @@ styles_results = []
 coverages_results = []
 tier = "Extensions"
 skip_tests = true
-stars = 33
 
 [configuration]
 dependencies_files = [ "requirements.txt", "requirements-dev.txt",]
diff --git a/ecosystem/resources/members/purplecaffeine.toml b/ecosystem/resources/members/purplecaffeine.toml
index f050996..228fd0f 100644
--- a/ecosystem/resources/members/purplecaffeine.toml
+++ b/ecosystem/resources/members/purplecaffeine.toml
@@ -15,3 +15,4 @@ coverages_results = []
 tier = "Community"
 skip_tests = false
 historical_test_results = []
+stars = 6
diff --git a/ecosystem/resources/members/pyEPR.toml b/ecosystem/resources/members/pyEPR.toml
index cbe99b5..3775599 100644
--- a/ecosystem/resources/members/pyEPR.toml
+++ b/ecosystem/resources/members/pyEPR.toml
@@ -13,7 +13,7 @@ coverages_results = []
 tier = "Community"
 skip_tests = true
 historical_test_results = []
-stars = 134
+stars = 137
 
 [configuration]
 dependencies_files = [ "requirements.txt",]
diff --git a/ecosystem/resources/members/pytorch-quantum.toml b/ecosystem/resources/members/pytorch-quantum.toml
index 6aa88f0..9876910 100644
--- a/ecosystem/resources/members/pytorch-quantum.toml
+++ b/ecosystem/resources/members/pytorch-quantum.toml
@@ -7,7 +7,7 @@ created_at = 1678827878.611621
 updated_at = 1678827878.611622
 tier = "Community"
 skip_tests = false
-stars = 713
+stars = 745
 [[tests_results]]
 test_type = "development"
 passed = false
diff --git a/ecosystem/resources/members/qiskit-aer.toml b/ecosystem/resources/members/qiskit-aer.toml
index b6e5876..4e55bd6 100644
--- a/ecosystem/resources/members/qiskit-aer.toml
+++ b/ecosystem/resources/members/qiskit-aer.toml
@@ -11,4 +11,4 @@ tests_results = []
 styles_results = []
 coverages_results = []
 skip_tests = true
-stars = 374
+stars = 376
diff --git a/ecosystem/resources/members/qiskit-alt.toml b/ecosystem/resources/members/qiskit-alt.toml
index b8d71f8..92e0740 100644
--- a/ecosystem/resources/members/qiskit-alt.toml
+++ b/ecosystem/resources/members/qiskit-alt.toml
@@ -11,7 +11,6 @@ styles_results = []
 coverages_results = []
 tier = "Extensions"
 skip_tests = false
-stars = 12
 [[tests_results]]
 test_type = "development"
 passed = false
diff --git a/ecosystem/resources/members/qiskit-cold-atom.toml b/ecosystem/resources/members/qiskit-cold-atom.toml
index 6351810..22a41c6 100644
--- a/ecosystem/resources/members/qiskit-cold-atom.toml
+++ b/ecosystem/resources/members/qiskit-cold-atom.toml
@@ -11,7 +11,7 @@ styles_results = []
 coverages_results = []
 tier = "Community"
 skip_tests = false
-stars = 21
+stars = 22
 [[tests_results]]
 test_type = "development"
 passed = true
diff --git a/ecosystem/resources/members/qiskit-dynamics.toml b/ecosystem/resources/members/qiskit-dynamics.toml
index a12bf97..ca8da18 100644
--- a/ecosystem/resources/members/qiskit-dynamics.toml
+++ b/ecosystem/resources/members/qiskit-dynamics.toml
@@ -9,4 +9,3 @@ url = "https://github.com/Qiskit-Extensions/qiskit-dynamics"
 website = "https://qiskit.org/ecosystem/dynamics/"
 tests_results = []
 skip_tests = true
-stars = 71
diff --git a/ecosystem/resources/members/qiskit-experiments.toml b/ecosystem/resources/members/qiskit-experiments.toml
index 1bb6212..6247f77 100644
--- a/ecosystem/resources/members/qiskit-experiments.toml
+++ b/ecosystem/resources/members/qiskit-experiments.toml
@@ -9,4 +9,4 @@ url = "https://github.com/Qiskit-Extensions/qiskit-experiments"
 website = "https://qiskit.org/ecosystem/experiments/"
 tests_results = []
 skip_tests = true
-stars = 110
+stars = 113
diff --git a/ecosystem/resources/members/qiskit-finance.toml b/ecosystem/resources/members/qiskit-finance.toml
index 4c140e3..e257872 100644
--- a/ecosystem/resources/members/qiskit-finance.toml
+++ b/ecosystem/resources/members/qiskit-finance.toml
@@ -11,4 +11,4 @@ tests_results = []
 styles_results = []
 coverages_results = []
 skip_tests = true
-stars = 166
+stars = 169
diff --git a/ecosystem/resources/members/qiskit-ibm-provider.toml b/ecosystem/resources/members/qiskit-ibm-provider.toml
index bbb9a59..11b1a50 100644
--- a/ecosystem/resources/members/qiskit-ibm-provider.toml
+++ b/ecosystem/resources/members/qiskit-ibm-provider.toml
@@ -13,7 +13,7 @@ styles_results = []
 coverages_results = []
 tier = "Main"
 skip_tests = true
-stars = 52
+stars = 53
 
 [configuration]
 dependencies_files = [ "requirements.txt", "requirements-dev.txt",]
diff --git a/ecosystem/resources/members/qiskit-ibm-runtime.toml b/ecosystem/resources/members/qiskit-ibm-runtime.toml
index ced2bb0..cc37fd7 100644
--- a/ecosystem/resources/members/qiskit-ibm-runtime.toml
+++ b/ecosystem/resources/members/qiskit-ibm-runtime.toml
@@ -13,4 +13,4 @@ styles_results = []
 coverages_results = []
 tier = "Main"
 skip_tests = true
-stars = 81
+stars = 83
diff --git a/ecosystem/resources/members/qiskit-machine-learning.toml b/ecosystem/resources/members/qiskit-machine-learning.toml
index d998e92..d3d9d3a 100644
--- a/ecosystem/resources/members/qiskit-machine-learning.toml
+++ b/ecosystem/resources/members/qiskit-machine-learning.toml
@@ -11,4 +11,4 @@ tests_results = []
 styles_results = []
 coverages_results = []
 skip_tests = true
-stars = 453
+stars = 463
diff --git a/ecosystem/resources/members/qiskit-nature.toml b/ecosystem/resources/members/qiskit-nature.toml
index 23a2a7b..f5351aa 100644
--- a/ecosystem/resources/members/qiskit-nature.toml
+++ b/ecosystem/resources/members/qiskit-nature.toml
@@ -11,4 +11,4 @@ tests_results = []
 styles_results = []
 coverages_results = []
 skip_tests = true
-stars = 227
+stars = 229
diff --git a/ecosystem/resources/members/qiskit-optimization.toml b/ecosystem/resources/members/qiskit-optimization.toml
index 8bf27dd..6d66a9c 100644
--- a/ecosystem/resources/members/qiskit-optimization.toml
+++ b/ecosystem/resources/members/qiskit-optimization.toml
@@ -11,4 +11,4 @@ tests_results = []
 styles_results = []
 coverages_results = []
 skip_tests = true
-stars = 170
+stars = 171
diff --git a/ecosystem/resources/members/qiskit-qec.toml b/ecosystem/resources/members/qiskit-qec.toml
index 63806bc..55b5846 100644
--- a/ecosystem/resources/members/qiskit-qec.toml
+++ b/ecosystem/resources/members/qiskit-qec.toml
@@ -14,4 +14,3 @@ coverages_results = []
 tier = "Extensions"
 skip_tests = true
 historical_test_results = []
-stars = 40
diff --git a/ecosystem/resources/members/qiskit-research.toml b/ecosystem/resources/members/qiskit-research.toml
index a8d17e8..4690c5a 100644
--- a/ecosystem/resources/members/qiskit-research.toml
+++ b/ecosystem/resources/members/qiskit-research.toml
@@ -14,4 +14,4 @@ coverages_results = []
 tier = "Extensions"
 skip_tests = true
 historical_test_results = []
-stars = 53
+stars = 54
diff --git a/ecosystem/resources/members/qiskit-symb.toml b/ecosystem/resources/members/qiskit-symb.toml
index 300caaf..fe073f8 100644
--- a/ecosystem/resources/members/qiskit-symb.toml
+++ b/ecosystem/resources/members/qiskit-symb.toml
@@ -14,7 +14,7 @@ coverages_results = []
 tier = "Community"
 skip_tests = false
 historical_test_results = []
-stars = 5
+stars = 8
 
 [configuration]
 dependencies_files = [ "requirements.txt",]
diff --git a/ecosystem/resources/members/qtcodes.toml b/ecosystem/resources/members/qtcodes.toml
index bc768ee..34c51a2 100644
--- a/ecosystem/resources/members/qtcodes.toml
+++ b/ecosystem/resources/members/qtcodes.toml
@@ -9,7 +9,7 @@ created_at = 1678827878.827901
 updated_at = 1678827878.827902
 tier = "Community"
 skip_tests = false
-stars = 81
+stars = 82
 [[tests_results]]
 test_type = "development"
 passed = true
diff --git a/ecosystem/resources/members/spinoza.toml b/ecosystem/resources/members/spinoza.toml
index 82b8639..7c0860f 100644
--- a/ecosystem/resources/members/spinoza.toml
+++ b/ecosystem/resources/members/spinoza.toml
@@ -14,4 +14,4 @@ coverages_results = []
 tier = "Community"
 skip_tests = true
 historical_test_results = []
-stars = 3
+stars = 4
diff --git a/ecosystem/utils/submission_parser.py b/ecosystem/utils/submission_parser.py
index 586ff53..36d171f 100644
--- a/ecosystem/utils/submission_parser.py
+++ b/ecosystem/utils/submission_parser.py
@@ -41,6 +41,8 @@ def parse_submission_issue(body_of_issue: str) -> Repository:
     licence = sections["License"]
     affiliations = sections["Affiliations"]
     website = sections["Website"]
+    if website == "_No response_":
+        website = None
 
     labels = [l.strip() for l in sections["Tags"].split(",")]
 
diff --git a/ecosystem/utils/utils.py b/ecosystem/utils/utils.py
index bf34b0b..1894157 100644
--- a/ecosystem/utils/utils.py
+++ b/ecosystem/utils/utils.py
@@ -1,4 +1,5 @@
 """Logging module."""
+import os
 import logging
 from typing import Tuple, List, Union
 import coloredlogs
@@ -37,4 +38,9 @@ def set_actions_output(outputs: List[Tuple[str, Union[str, bool, float, int]]])
     """
     for name, value in outputs:
         logger.info("Setting output variable %s: %s", name, value)
-        print("::set-output name={name}::{value}".format(name=name, value=value))
+        if "CI" in os.environ:
+            with open(os.environ["GITHUB_OUTPUT"], "a") as github_env:
+                github_env.write(f"{name}={value}\n")
+        else:
+            # Used only during unit tests
+            print(f"{name}={value}")


Test patch:
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 748754d..d9a6807 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -6,9 +6,9 @@ jobs:
   lint:
     runs-on: ubuntu-latest
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
     - name: Set up Python 3.9
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
           python-version: '3.9'
     - name: Install tox
@@ -26,9 +26,9 @@ jobs:
       matrix:
         python-version: [3.9]
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v1
+      uses: actions/setup-python@v4
       with:
         python-version: ${{ matrix.python-version }}
     - name: Set up tox env
@@ -44,13 +44,14 @@ jobs:
         pip install -r requirements-dev.txt
     - name: Test using tox envs
       run: |
+        unset CI
         tox ${{ env.TOX_ENV }}
   coverage:
     runs-on: ubuntu-latest
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
     - name: Set up Python 3.9
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
           python-version: '3.9'
     - name: Install dependencies
@@ -60,12 +61,13 @@ jobs:
         pip install -r requirements-dev.txt
     - name: Run coverage
       run: |
+        unset CI
         tox -ecoverage
 
   json-lint:
     runs-on: ubuntu-latest
     steps:
-    - uses: actions/checkout@v1
+    - uses: actions/checkout@v3
     - name: Install tox
       run: |
         python -m pip install --upgrade pip
diff --git a/tests/resources/issue_2.md b/tests/resources/issue_2.md
new file mode 100644
index 0000000..d652655
--- /dev/null
+++ b/tests/resources/issue_2.md
@@ -0,0 +1,31 @@
+### Github repo
+
+http://github.com/awesome/awesome
+
+### Description
+
+An awesome repo for awesome project
+
+### Email
+
+toto@gege.com
+
+### Alternatives
+
+_No response_
+
+### License
+
+Apache License 2.0
+
+### Affiliations
+
+Awesome Inc.
+
+### Tags
+
+_No response_
+
+### Website
+
+_No response_
diff --git a/tests/test_manager.py b/tests/test_manager.py
index d59f30e..a98f625 100644
--- a/tests/test_manager.py
+++ b/tests/test_manager.py
@@ -1,8 +1,8 @@
 """Tests for manager cli."""
 import os
 import io
-import sys
 from unittest import TestCase
+from contextlib import redirect_stdout
 
 import responses
 
@@ -67,6 +67,10 @@ class TestManager(TestCase):
             "{}/resources/issue.md".format(self.current_dir), "r"
         ) as issue_body_file:
             self.issue_body = issue_body_file.read()
+        with open(
+            "{}/resources/issue_2.md".format(self.current_dir), "r"
+        ) as issue_body_file:
+            self.issue_body_2 = issue_body_file.read()
 
     def tearDown(self) -> None:
         self._delete_members_json()
@@ -85,38 +89,64 @@ class TestManager(TestCase):
         Args:
             issue_body
         """
+
+        # Issue 1
         captured_output = io.StringIO()
-        sys.stdout = captured_output
-        Manager.parser_issue(self.issue_body)
+        with redirect_stdout(captured_output):
+            Manager.parser_issue(self.issue_body)
 
-        sys.stdout = sys.__stdout__
         output_value = captured_output.getvalue().split("\n")
 
-        self.assertEqual(output_value[0], "::set-output name=SUBMISSION_NAME::awesome")
+        self.assertEqual(output_value[0], "SUBMISSION_NAME=awesome")
         self.assertEqual(
             output_value[1],
-            "::set-output name=SUBMISSION_REPO::http://github.com/awesome/awesome",
+            "SUBMISSION_REPO=http://github.com/awesome/awesome",
         )
         self.assertEqual(
             output_value[2],
-            "::set-output name=SUBMISSION_DESCRIPTION::An awesome repo for awesome project multiple"
+            "SUBMISSION_DESCRIPTION=An awesome repo for awesome project multiple"
             " paragraphs",
         )
+        self.assertEqual(output_value[3], "SUBMISSION_LICENCE=Apache License 2.0")
+        self.assertEqual(output_value[4], "SUBMISSION_CONTACT=toto@gege.com")
+        self.assertEqual(output_value[5], "SUBMISSION_ALTERNATIVES=tititata")
+        self.assertEqual(output_value[6], "SUBMISSION_AFFILIATIONS=_No response_")
         self.assertEqual(
-            output_value[3], "::set-output name=SUBMISSION_LICENCE::Apache License 2.0"
+            output_value[7],
+            "SUBMISSION_LABELS=['tool', 'tutorial', 'paper implementation']",
         )
         self.assertEqual(
-            output_value[4], "::set-output name=SUBMISSION_CONTACT::toto@gege.com"
+            output_value[8],
+            "SUBMISSION_WEBSITE=https://qiskit.org/ecosystem/",
         )
+
+        # Issue 2
+        captured_output = io.StringIO()
+        with redirect_stdout(captured_output):
+            Manager.parser_issue(self.issue_body_2)
+
+        output_value = captured_output.getvalue().split("\n")
+
+        self.assertEqual(output_value[0], "SUBMISSION_NAME=awesome")
         self.assertEqual(
-            output_value[5], "::set-output name=SUBMISSION_ALTERNATIVES::tititata"
+            output_value[1],
+            "SUBMISSION_REPO=http://github.com/awesome/awesome",
         )
         self.assertEqual(
-            output_value[6], "::set-output name=SUBMISSION_AFFILIATIONS::_No response_"
+            output_value[2],
+            "SUBMISSION_DESCRIPTION=An awesome repo for awesome project",
         )
+        self.assertEqual(output_value[3], "SUBMISSION_LICENCE=Apache License 2.0")
+        self.assertEqual(output_value[4], "SUBMISSION_CONTACT=toto@gege.com")
+        self.assertEqual(output_value[5], "SUBMISSION_ALTERNATIVES=_No response_")
+        self.assertEqual(output_value[6], "SUBMISSION_AFFILIATIONS=Awesome Inc.")
         self.assertEqual(
             output_value[7],
-            "::set-output name=SUBMISSION_LABELS::['tool', 'tutorial', 'paper implementation']",
+            "SUBMISSION_LABELS=['_No response_']",
+        )
+        self.assertEqual(
+            output_value[8],
+            "SUBMISSION_WEBSITE=None",
         )
 
     @responses.activate