From b7c4c85d0ebdcf5f059f9bdc7622828be9b7e201 Mon Sep 17 00:00:00 2001 From: sangeet-joy_xero Date: Tue, 8 Oct 2024 11:43:01 +0530 Subject: [PATCH 01/38] updated packages, added audit ci step, added prism script --- .github/workflows/build-test-lint.yml | 25 +++++++++++++++++++++++++ requirements.txt | 3 ++- tests/utils/start-prism.sh | 9 +++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100755 tests/utils/start-prism.sh diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index fdef6146..733a34d1 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -26,10 +26,35 @@ jobs: source venv/bin/activate pip install --upgrade pip pip install black + pip install pip-audit sudo pip install flake8 pip install -r requirements.txt -r requirements/dev.txt working-directory: xero-python + - name: Run audit on requirements.txt + run: | + pip-audit -r requirements.txt -o json > audit-result.json + if [ -s audit-result.json ]; then + echo "Vulnerabilities found!" + cat audit-result.json + exit 1 + else + echo "No vulnerabilities found" + fi + working-directory: xero-python + + - name: Run audit on dev.txt + run: | + pip-audit -r requirements/dev.txt -o json > audit-result.json + if [ -s audit-result.json ]; then + echo "Vulnerabilities found!" + cat audit-result.json + exit 1 + else + echo "No vulnerabilities found" + fi + working-directory: xero-python + - name: Run Flake8 run: flake8 xero_python working-directory: xero-python diff --git a/requirements.txt b/requirements.txt index 11231fa7..7be89c5b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ # make sure content of this file can be parsed by setup.load_requirements python-dateutil>=2.7 -urllib3 +urllib3>=2.2.3 certifi +setuptools>=75.1.0 diff --git a/tests/utils/start-prism.sh b/tests/utils/start-prism.sh new file mode 100755 index 00000000..92b55f1d --- /dev/null +++ b/tests/utils/start-prism.sh @@ -0,0 +1,9 @@ +prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero_accounting.yaml --host 127.0.0.1 --port 4010 & +prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-app-store.yaml --host 127.0.0.1 --port 4011 & +prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero_assets.yaml --host 127.0.0.1 --port 4012 & +prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero_bankfeeds.yaml --host 127.0.0.1 --port 4013 & +prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-finance.yaml --host 127.0.0.1 --port 4014 & +prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-payroll-uk.yaml --host 127.0.0.1 --port 4015 & +prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-payroll-nz.yaml --host 127.0.0.1 --port 4016 & +prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-payroll-au.yaml --host 127.0.0.1 --port 4017 & +prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-projects.yaml --host 127.0.0.1 --port 4018 From a7604ecb75b43c598f67a9bb6668f0ee39684144 Mon Sep 17 00:00:00 2001 From: sangeet-joy_xero Date: Tue, 8 Oct 2024 11:45:50 +0530 Subject: [PATCH 02/38] ci: fix build ci step --- .github/workflows/build-test-lint.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 733a34d1..3198981a 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -26,13 +26,14 @@ jobs: source venv/bin/activate pip install --upgrade pip pip install black - pip install pip-audit sudo pip install flake8 pip install -r requirements.txt -r requirements/dev.txt working-directory: xero-python - name: Run audit on requirements.txt run: | + pip install pip-audit + pip install -r requirements.txt pip-audit -r requirements.txt -o json > audit-result.json if [ -s audit-result.json ]; then echo "Vulnerabilities found!" @@ -45,6 +46,8 @@ jobs: - name: Run audit on dev.txt run: | + pip install pip-audit + pip install -r requirements/dev.txt pip-audit -r requirements/dev.txt -o json > audit-result.json if [ -s audit-result.json ]; then echo "Vulnerabilities found!" From a2bdc749dfdbf8bbe14fefefc030e71c19ec8cd5 Mon Sep 17 00:00:00 2001 From: sangeet-joy_xero Date: Tue, 8 Oct 2024 12:14:08 +0530 Subject: [PATCH 03/38] added alpha version for testing --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index c85f5e42..3b1330f7 100644 --- a/setup.py +++ b/setup.py @@ -48,5 +48,5 @@ def read_file(filename): keywords="xero python sdk API oAuth", name="xero_python", packages=find_packages(include=["xero_python", "xero_python.*"]), - version="6.3.0", + version="6.3.0-alpha.5", ) From 1cfdd02888d5e112d3f945d9c4b9e5f28d432238 Mon Sep 17 00:00:00 2001 From: sangeet-joy_xero Date: Tue, 8 Oct 2024 13:35:35 +0530 Subject: [PATCH 04/38] added vulnerable package to text test the pipeline --- .github/workflows/build-test-lint.yml | 20 ++++---------------- requirements.txt | 1 + 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 3198981a..dc1b1301 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -34,28 +34,16 @@ jobs: run: | pip install pip-audit pip install -r requirements.txt - pip-audit -r requirements.txt -o json > audit-result.json - if [ -s audit-result.json ]; then - echo "Vulnerabilities found!" - cat audit-result.json - exit 1 - else - echo "No vulnerabilities found" - fi + echo "running audit...." + pip-audit -r requirements.txt working-directory: xero-python - name: Run audit on dev.txt run: | pip install pip-audit pip install -r requirements/dev.txt - pip-audit -r requirements/dev.txt -o json > audit-result.json - if [ -s audit-result.json ]; then - echo "Vulnerabilities found!" - cat audit-result.json - exit 1 - else - echo "No vulnerabilities found" - fi + echo "running audit...." + pip-audit -r requirements/dev.txt working-directory: xero-python - name: Run Flake8 diff --git a/requirements.txt b/requirements.txt index 7be89c5b..ba1a7c4f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,4 @@ python-dateutil>=2.7 urllib3>=2.2.3 certifi setuptools>=75.1.0 +django==2.2.9 From 15dc01ebb5ed383373dfbb01504f47eae07bdd54 Mon Sep 17 00:00:00 2001 From: sangeet-joy_xero Date: Tue, 8 Oct 2024 13:38:33 +0530 Subject: [PATCH 05/38] refactored the audit steps --- .github/workflows/build-test-lint.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index dc1b1301..8b211d54 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -27,25 +27,26 @@ jobs: pip install --upgrade pip pip install black sudo pip install flake8 + pip install pip-audit pip install -r requirements.txt -r requirements/dev.txt working-directory: xero-python - name: Run audit on requirements.txt run: | - pip install pip-audit - pip install -r requirements.txt - echo "running audit...." + echo "running audit on requirements.txt...." pip-audit -r requirements.txt - working-directory: xero-python - - - name: Run audit on dev.txt - run: | - pip install pip-audit - pip install -r requirements/dev.txt - echo "running audit...." + echo "running audit on dev.txt...." pip-audit -r requirements/dev.txt working-directory: xero-python + # - name: Run audit on dev.txt + # run: | + # pip install pip-audit + # pip install -r requirements/dev.txt + # echo "running audit...." + # pip-audit -r requirements/dev.txt + # working-directory: xero-python + - name: Run Flake8 run: flake8 xero_python working-directory: xero-python From a05d1502774f9caa52ed80fb8339dd3af8576bcf Mon Sep 17 00:00:00 2001 From: sangeet-joy_xero Date: Tue, 8 Oct 2024 13:46:29 +0530 Subject: [PATCH 06/38] added sudo to pip audit --- .github/workflows/build-test-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 8b211d54..f6479763 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -27,7 +27,7 @@ jobs: pip install --upgrade pip pip install black sudo pip install flake8 - pip install pip-audit + sudo pip install pip-audit pip install -r requirements.txt -r requirements/dev.txt working-directory: xero-python From 2810f3f588251150e249eec72fa81fd8b510b56e Mon Sep 17 00:00:00 2001 From: sangeet-joy_xero Date: Tue, 8 Oct 2024 14:07:38 +0530 Subject: [PATCH 07/38] Added read me file --- .github/workflows/build-test-lint.yml | 11 +++-------- README.md | 13 +++++++++++++ requirements.txt | 1 - setup.py | 2 +- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index f6479763..39b14097 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -33,19 +33,14 @@ jobs: - name: Run audit on requirements.txt run: | + echo "running audit on requirements.txt...." pip-audit -r requirements.txt + echo "running audit on dev.txt...." pip-audit -r requirements/dev.txt - working-directory: xero-python - # - name: Run audit on dev.txt - # run: | - # pip install pip-audit - # pip install -r requirements/dev.txt - # echo "running audit...." - # pip-audit -r requirements/dev.txt - # working-directory: xero-python + working-directory: xero-python - name: Run Flake8 run: flake8 xero_python diff --git a/README.md b/README.md index bc6bbf51..2bfd07da 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ The xero-python SDK makes it easy for developers to access Xero's APIs in their - [Helper Methods](#helper-methods) - [Usage Examples](#usage-examples) - [SDK conventions](#sdk-conventions) +- [Running Test(s) in Local](#running-tests-in-local) - [Participating in Xero’s developer community](#participating-in-xeros-developer-community) - [Contributing](#contributing) @@ -540,6 +541,18 @@ created_invoice_attachments_by_file_name = accounting_api.create_invoice_attachm --- ## SDK conventions + +--- +## Running Test(s) in Local +For Running Test cases PRISM Mock Server needs to be started in the local machine. +Steps to Run Test(s) +* Install PRISM from npm using the command: **npm install -g @stoplight/prism-cli** +* Verify Installation: **prism --version** +* Navigate to **tests--> utils--> ** folder in the terminal +* Execute the script **./start-prism.sh** +* This will start the PRISM Server in Local +* Run **pytest** to run the dotnet test cases. + ### Querying & Filtering Describe the support for query options and filtering diff --git a/requirements.txt b/requirements.txt index ba1a7c4f..7be89c5b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,4 +3,3 @@ python-dateutil>=2.7 urllib3>=2.2.3 certifi setuptools>=75.1.0 -django==2.2.9 diff --git a/setup.py b/setup.py index 3b1330f7..c85f5e42 100644 --- a/setup.py +++ b/setup.py @@ -48,5 +48,5 @@ def read_file(filename): keywords="xero python sdk API oAuth", name="xero_python", packages=find_packages(include=["xero_python", "xero_python.*"]), - version="6.3.0-alpha.5", + version="6.3.0", ) From f58785a6f9aef2fa58c858f73545b91290652344 Mon Sep 17 00:00:00 2001 From: sangeet-joy_xero Date: Tue, 8 Oct 2024 14:08:32 +0530 Subject: [PATCH 08/38] renamed a step --- .github/workflows/build-test-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 39b14097..dae1346d 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -31,7 +31,7 @@ jobs: pip install -r requirements.txt -r requirements/dev.txt working-directory: xero-python - - name: Run audit on requirements.txt + - name: Run audit run: | echo "running audit on requirements.txt...." From 2e4687487e692fe83a03ae474897da89aa1556d0 Mon Sep 17 00:00:00 2001 From: sangeet-joy_xero Date: Tue, 8 Oct 2024 17:01:30 +0530 Subject: [PATCH 09/38] incorporated the review comments --- .github/workflows/build-test-lint.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index dae1346d..13e62558 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -32,14 +32,7 @@ jobs: working-directory: xero-python - name: Run audit - run: | - - echo "running audit on requirements.txt...." - pip-audit -r requirements.txt - - echo "running audit on dev.txt...." - pip-audit -r requirements/dev.txt - + run: pip-audit -r requirements.txt -r requirements/dev.txt working-directory: xero-python - name: Run Flake8 From 23377eb4a656433e7944280ccf1ec18b3b192012 Mon Sep 17 00:00:00 2001 From: sangeet-joy_xero Date: Tue, 8 Oct 2024 17:11:13 +0530 Subject: [PATCH 10/38] renamed the step --- .github/workflows/build-test-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 13e62558..b2cdbcf3 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -31,7 +31,7 @@ jobs: pip install -r requirements.txt -r requirements/dev.txt working-directory: xero-python - - name: Run audit + - name: Check vulnerable packages run: pip-audit -r requirements.txt -r requirements/dev.txt working-directory: xero-python From 9bc7862e159afa3ddfe7d5b0fdb9e1e6ddd53be5 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Fri, 11 Oct 2024 12:25:26 +0530 Subject: [PATCH 11/38] increase alpha version for testing --- .github/workflows/publish.yml | 1 + setup.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8d4bd879..aef205bc 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,6 +2,7 @@ name: Publish on: release: types: [published] + push: jobs: publish: diff --git a/setup.py b/setup.py index c85f5e42..03edc9ce 100644 --- a/setup.py +++ b/setup.py @@ -48,5 +48,5 @@ def read_file(filename): keywords="xero python sdk API oAuth", name="xero_python", packages=find_packages(include=["xero_python", "xero_python.*"]), - version="6.3.0", + version="6.3.0-alpha.6", ) From cc72c3b3d3d5c31acf003525f3352fb7bdf0b954 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Fri, 11 Oct 2024 12:58:41 +0530 Subject: [PATCH 12/38] adds verbose --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index aef205bc..cf691a98 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -36,5 +36,5 @@ jobs: env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} - run: twine upload --repository-url https://test.pypi.org/legacy/ dist/* + run: twine upload --repository-url https://test.pypi.org/legacy/ dist/* --verbose working-directory: xero-python From 22e9cf26b9d5e8179aadf3e76786d7a64bfca65c Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 14:56:38 +0530 Subject: [PATCH 13/38] verify publish with the new token --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 03edc9ce..2475ed78 100644 --- a/setup.py +++ b/setup.py @@ -48,5 +48,5 @@ def read_file(filename): keywords="xero python sdk API oAuth", name="xero_python", packages=find_packages(include=["xero_python", "xero_python.*"]), - version="6.3.0-alpha.6", + version="6.3.0-alpha.7", ) From 651e4e38f65811a4886ec41d2383c5f0f9bcefa1 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 16:09:15 +0530 Subject: [PATCH 14/38] adds if case to publish either to pypi or testpypi --- .github/workflows/publish.yml | 9 ++++++--- setup.py | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cf691a98..5fbec6e8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,7 +2,6 @@ name: Publish on: release: types: [published] - push: jobs: publish: @@ -35,6 +34,10 @@ jobs: - name: Publish to PyPi env: TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} - run: twine upload --repository-url https://test.pypi.org/legacy/ dist/* --verbose + run: | + if [[ "${{ github.event.release.name }}" == *"alpha"* || "${{ github.event.release.name }}" == *"beta"* ]]; then + TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} twine upload --repository-url https://test.pypi.org/legacy/ dist/* --verbose + else + TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} twine upload dist/* --verbose + fi working-directory: xero-python diff --git a/setup.py b/setup.py index 2475ed78..aecde582 100644 --- a/setup.py +++ b/setup.py @@ -48,5 +48,5 @@ def read_file(filename): keywords="xero python sdk API oAuth", name="xero_python", packages=find_packages(include=["xero_python", "xero_python.*"]), - version="6.3.0-alpha.7", + version="6.3.0-alpha.8", ) From 1de299aa9e9e3d0fe592a0d365b62101cacf5e40 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 16:13:14 +0530 Subject: [PATCH 15/38] update publish script --- .github/workflows/publish.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5fbec6e8..68ace87d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -34,10 +34,12 @@ jobs: - name: Publish to PyPi env: TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} run: | if [[ "${{ github.event.release.name }}" == *"alpha"* || "${{ github.event.release.name }}" == *"beta"* ]]; then TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} twine upload --repository-url https://test.pypi.org/legacy/ dist/* --verbose else - TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} twine upload dist/* --verbose + TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} + twine upload dist/* --verbose fi working-directory: xero-python From 65a9aa27be098028bd248dd0df1640f0ea1f68e9 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 16:16:59 +0530 Subject: [PATCH 16/38] deploy to pypi instead of test instance --- .github/workflows/publish.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 68ace87d..10f9e1bd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,6 +2,7 @@ name: Publish on: release: types: [published] + push: jobs: publish: @@ -35,11 +36,5 @@ jobs: env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} - run: | - if [[ "${{ github.event.release.name }}" == *"alpha"* || "${{ github.event.release.name }}" == *"beta"* ]]; then - TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} twine upload --repository-url https://test.pypi.org/legacy/ dist/* --verbose - else - TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} - twine upload dist/* --verbose - fi + run: twine upload dist/* --verbose working-directory: xero-python From 8473d38aab3d632e7bc9315db076fa31d594acca Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 16:18:16 +0530 Subject: [PATCH 17/38] removed unwanted changes --- .github/workflows/publish.yml | 1 - setup.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 10f9e1bd..5b70cbab 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,7 +2,6 @@ name: Publish on: release: types: [published] - push: jobs: publish: diff --git a/setup.py b/setup.py index aecde582..c85f5e42 100644 --- a/setup.py +++ b/setup.py @@ -48,5 +48,5 @@ def read_file(filename): keywords="xero python sdk API oAuth", name="xero_python", packages=find_packages(include=["xero_python", "xero_python.*"]), - version="6.3.0-alpha.8", + version="6.3.0", ) From 7a1632ea2760d3babf7d70cd6b55fa3f336f5543 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 16:31:07 +0530 Subject: [PATCH 18/38] removed the verbose flag --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5b70cbab..6127c9cf 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -35,5 +35,5 @@ jobs: env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} - run: twine upload dist/* --verbose + run: twine upload dist/* working-directory: xero-python From 26d6e2ff56c53fb984920b0c6e2cdc4d2cbcec7d Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 17:59:08 +0530 Subject: [PATCH 19/38] start and stop prism for running tests --- .github/workflows/build-test-lint.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index b2cdbcf3..ae2c1562 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -43,9 +43,16 @@ jobs: run: python setup.py sdist working-directory: xero-python - # - name: Run Test - # run: | - # source venv/bin/activate - # pip install -r requirements/test.txt - # pytest -v - # working-directory: xero-python + - name: Start PRISM Server + run: sudo ./start-prism.sh + working-directory: xero-python/tests/utils + + - name: Run Test + run: | + source venv/bin/activate + pytest -v + working-directory: xero-python + + - name: Stop PRISM + run: pkill -f prism + working-directory: xero-python From d20a509a94c016e889b1a73c0a5bb8ba1e8ff184 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 18:01:05 +0530 Subject: [PATCH 20/38] install prism --- .github/workflows/build-test-lint.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index ae2c1562..11b0737c 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -43,6 +43,14 @@ jobs: run: python setup.py sdist working-directory: xero-python + - name: Install Node.js + uses: actions/setup-node@v2 + with: + node-version: 20 + + - name: Install Prism + run: npm install -g @stoplight/prism-cli + - name: Start PRISM Server run: sudo ./start-prism.sh working-directory: xero-python/tests/utils From 41fd22a34980abe16ffe56d219755aca99a4b691 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 18:11:48 +0530 Subject: [PATCH 21/38] check if prism is installed properly --- .github/workflows/build-test-lint.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 11b0737c..26543f37 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -51,6 +51,9 @@ jobs: - name: Install Prism run: npm install -g @stoplight/prism-cli + - name: CHeck PRISM + run: prism --version + - name: Start PRISM Server run: sudo ./start-prism.sh working-directory: xero-python/tests/utils From e3e7fce2ff645e97abc2939aea79bac1d7ff821b Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 18:15:59 +0530 Subject: [PATCH 22/38] corrected start script --- tests/utils/start-prism.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/utils/start-prism.sh b/tests/utils/start-prism.sh index 92b55f1d..7a29b941 100755 --- a/tests/utils/start-prism.sh +++ b/tests/utils/start-prism.sh @@ -1,3 +1,5 @@ +#!/bin/bash + prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero_accounting.yaml --host 127.0.0.1 --port 4010 & prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-app-store.yaml --host 127.0.0.1 --port 4011 & prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero_assets.yaml --host 127.0.0.1 --port 4012 & From b672e73a456faaeec43d2c3985df6c19b65008b7 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 18:17:58 +0530 Subject: [PATCH 23/38] removed sudo --- .github/workflows/build-test-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 26543f37..3c7aba08 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -55,7 +55,7 @@ jobs: run: prism --version - name: Start PRISM Server - run: sudo ./start-prism.sh + run: ./start-prism.sh working-directory: xero-python/tests/utils - name: Run Test From 7834c276dfeee886d7e630d5d6a9767b381b3549 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Tue, 22 Oct 2024 18:20:34 +0530 Subject: [PATCH 24/38] adds nohup --- .github/workflows/build-test-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 3c7aba08..b6789395 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -55,7 +55,7 @@ jobs: run: prism --version - name: Start PRISM Server - run: ./start-prism.sh + run: nohup ./start-prism.sh working-directory: xero-python/tests/utils - name: Run Test From ec413b6e0c8e1eda4ff6f395856361e161da0acb Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 08:49:32 +0530 Subject: [PATCH 25/38] adds disown --- .github/workflows/build-test-lint.yml | 23 ++++++++++------------- tests/utils/start-prism.sh | 2 ++ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index b6789395..e290dab0 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -31,17 +31,17 @@ jobs: pip install -r requirements.txt -r requirements/dev.txt working-directory: xero-python - - name: Check vulnerable packages - run: pip-audit -r requirements.txt -r requirements/dev.txt - working-directory: xero-python + # - name: Check vulnerable packages + # run: pip-audit -r requirements.txt -r requirements/dev.txt + # working-directory: xero-python - - name: Run Flake8 - run: flake8 xero_python - working-directory: xero-python + # - name: Run Flake8 + # run: flake8 xero_python + # working-directory: xero-python - - name: Build package - run: python setup.py sdist - working-directory: xero-python + # - name: Build package + # run: python setup.py sdist + # working-directory: xero-python - name: Install Node.js uses: actions/setup-node@v2 @@ -51,11 +51,8 @@ jobs: - name: Install Prism run: npm install -g @stoplight/prism-cli - - name: CHeck PRISM - run: prism --version - - name: Start PRISM Server - run: nohup ./start-prism.sh + run: ./start-prism.sh working-directory: xero-python/tests/utils - name: Run Test diff --git a/tests/utils/start-prism.sh b/tests/utils/start-prism.sh index 7a29b941..454594a4 100755 --- a/tests/utils/start-prism.sh +++ b/tests/utils/start-prism.sh @@ -9,3 +9,5 @@ prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/mas prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-payroll-nz.yaml --host 127.0.0.1 --port 4016 & prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-payroll-au.yaml --host 127.0.0.1 --port 4017 & prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-projects.yaml --host 127.0.0.1 --port 4018 + +disown From bea1f9d2fdde809385a64273bd599e4a265f3121 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 09:26:51 +0530 Subject: [PATCH 26/38] adds continue-on-error --- .github/workflows/build-test-lint.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index e290dab0..068f5ef2 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -52,7 +52,8 @@ jobs: run: npm install -g @stoplight/prism-cli - name: Start PRISM Server - run: ./start-prism.sh + run: | + ./start-prism.sh & echo $! > prism_pid.txt working-directory: xero-python/tests/utils - name: Run Test @@ -60,7 +61,9 @@ jobs: source venv/bin/activate pytest -v working-directory: xero-python + continue-on-error: true - name: Stop PRISM + if: success() || failure() run: pkill -f prism working-directory: xero-python From 15f4f5177707f664076f211032235bee6d75d70f Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 09:28:42 +0530 Subject: [PATCH 27/38] uncommented and adds sleep --- .github/workflows/build-test-lint.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 068f5ef2..fa06ee26 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -31,17 +31,17 @@ jobs: pip install -r requirements.txt -r requirements/dev.txt working-directory: xero-python - # - name: Check vulnerable packages - # run: pip-audit -r requirements.txt -r requirements/dev.txt - # working-directory: xero-python + - name: Check vulnerable packages + run: pip-audit -r requirements.txt -r requirements/dev.txt + working-directory: xero-python - # - name: Run Flake8 - # run: flake8 xero_python - # working-directory: xero-python + - name: Run Flake8 + run: flake8 xero_python + working-directory: xero-python - # - name: Build package - # run: python setup.py sdist - # working-directory: xero-python + - name: Build package + run: python setup.py sdist + working-directory: xero-python - name: Install Node.js uses: actions/setup-node@v2 @@ -54,6 +54,7 @@ jobs: - name: Start PRISM Server run: | ./start-prism.sh & echo $! > prism_pid.txt + sleep 10 working-directory: xero-python/tests/utils - name: Run Test From 234066df4180d009b874e8823adf4fdeaceb169a Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 09:32:00 +0530 Subject: [PATCH 28/38] commented source activation --- .github/workflows/build-test-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index fa06ee26..d807f8cf 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -59,7 +59,7 @@ jobs: - name: Run Test run: | - source venv/bin/activate + # source venv/bin/activate pytest -v working-directory: xero-python continue-on-error: true From 0b9cc88c738939635d08df75b42fc5d90c65ba18 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 09:35:14 +0530 Subject: [PATCH 29/38] adds environment --- .github/workflows/build-test-lint.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index d807f8cf..7321d3b8 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -59,7 +59,8 @@ jobs: - name: Run Test run: | - # source venv/bin/activate + python -m venv venv + source venv/bin/activate pytest -v working-directory: xero-python continue-on-error: true From 0b05dd374eaae820217341b46d2de8a9a1420dbc Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 09:40:39 +0530 Subject: [PATCH 30/38] removed version for urllib3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7be89c5b..f1163e77 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # make sure content of this file can be parsed by setup.load_requirements python-dateutil>=2.7 -urllib3>=2.2.3 +urllib3 certifi setuptools>=75.1.0 From 20873cd2ec8504bb6a788d92d328f061bec7344b Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 10:05:47 +0530 Subject: [PATCH 31/38] increase sleep timing --- .github/workflows/build-test-lint.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 7321d3b8..94d50534 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -54,7 +54,7 @@ jobs: - name: Start PRISM Server run: | ./start-prism.sh & echo $! > prism_pid.txt - sleep 10 + sleep 15 working-directory: xero-python/tests/utils - name: Run Test @@ -63,7 +63,6 @@ jobs: source venv/bin/activate pytest -v working-directory: xero-python - continue-on-error: true - name: Stop PRISM if: success() || failure() From 94a8f5fb9eaee82076fffe4b35392e2a280ffe7a Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 10:10:27 +0530 Subject: [PATCH 32/38] commented echo statemenet --- .github/workflows/build-test-lint.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 94d50534..faf86837 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -53,13 +53,14 @@ jobs: - name: Start PRISM Server run: | - ./start-prism.sh & echo $! > prism_pid.txt + ./start-prism.sh + # & echo $! > prism_pid.txt sleep 15 working-directory: xero-python/tests/utils - name: Run Test run: | - python -m venv venv + # python -m venv venv source venv/bin/activate pytest -v working-directory: xero-python From 3797926d4eeab16a52c6786ac5c1c6cd26466503 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 10:13:40 +0530 Subject: [PATCH 33/38] try adding sleep while starting prism --- .github/workflows/build-test-lint.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index faf86837..08546cb2 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -53,9 +53,9 @@ jobs: - name: Start PRISM Server run: | - ./start-prism.sh + ./start-prism.sh & sleep 10 # & echo $! > prism_pid.txt - sleep 15 + # sleep 15 working-directory: xero-python/tests/utils - name: Run Test From c0b657b75c3cbc19f1ffa3f0b7f7d9fd419610d7 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 10:15:22 +0530 Subject: [PATCH 34/38] increase sleep timer --- .github/workflows/build-test-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 08546cb2..8a3f365c 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -53,7 +53,7 @@ jobs: - name: Start PRISM Server run: | - ./start-prism.sh & sleep 10 + ./start-prism.sh & sleep 15 # & echo $! > prism_pid.txt # sleep 15 working-directory: xero-python/tests/utils From d6b63e21d02cf63c192a7781943f5ae0bbc2d452 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 10:19:18 +0530 Subject: [PATCH 35/38] try removing disown --- .github/workflows/build-test-lint.yml | 2 -- tests/utils/start-prism.sh | 2 -- 2 files changed, 4 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 8a3f365c..219b4853 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -54,8 +54,6 @@ jobs: - name: Start PRISM Server run: | ./start-prism.sh & sleep 15 - # & echo $! > prism_pid.txt - # sleep 15 working-directory: xero-python/tests/utils - name: Run Test diff --git a/tests/utils/start-prism.sh b/tests/utils/start-prism.sh index 454594a4..7a29b941 100755 --- a/tests/utils/start-prism.sh +++ b/tests/utils/start-prism.sh @@ -9,5 +9,3 @@ prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/mas prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-payroll-nz.yaml --host 127.0.0.1 --port 4016 & prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-payroll-au.yaml --host 127.0.0.1 --port 4017 & prism mock https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/refs/heads/master/xero-projects.yaml --host 127.0.0.1 --port 4018 - -disown From 217a7efde14dbf2b67e9f7665f2ffbe909e32be9 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 10:27:35 +0530 Subject: [PATCH 36/38] clanup commit --- .github/workflows/build-test-lint.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index 219b4853..e3fbf26e 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -43,7 +43,7 @@ jobs: run: python setup.py sdist working-directory: xero-python - - name: Install Node.js + - name: Set up Node environment uses: actions/setup-node@v2 with: node-version: 20 @@ -58,7 +58,6 @@ jobs: - name: Run Test run: | - # python -m venv venv source venv/bin/activate pytest -v working-directory: xero-python From b8eb6d87e8ad1c3760a40d878420516bf7bfa797 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Wed, 23 Oct 2024 10:48:39 +0530 Subject: [PATCH 37/38] final cleanup --- .github/workflows/build-test-lint.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index e3fbf26e..6b403c9d 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -52,8 +52,7 @@ jobs: run: npm install -g @stoplight/prism-cli - name: Start PRISM Server - run: | - ./start-prism.sh & sleep 15 + run: ./start-prism.sh & sleep 15 working-directory: xero-python/tests/utils - name: Run Test From 3cb9ad7007660949bda9dfdc05be1f38ed76f667 Mon Sep 17 00:00:00 2001 From: sangeet-joy-tw <157606431+sangeet-joy-tw@users.noreply.github.com> Date: Wed, 23 Oct 2024 12:16:19 +0530 Subject: [PATCH 38/38] ci: Added slack alert code ci: Added slack alert code --- .github/actions/notify-slack/action.yml | 103 ++++++++++++++++++++++++ .github/workflows/publish.yml | 61 ++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 .github/actions/notify-slack/action.yml diff --git a/.github/actions/notify-slack/action.yml b/.github/actions/notify-slack/action.yml new file mode 100644 index 00000000..add9673f --- /dev/null +++ b/.github/actions/notify-slack/action.yml @@ -0,0 +1,103 @@ +name: slack-alert-action +description: "Action to send slack payload to public-sdk-events channel" + +inputs: + heading_text: + required: true + description: "Heading of the slack payload" + alert_type: + required: true + description: "type of the slack alert" + job_status: + required: true + description: "status of the job" + XERO_SLACK_WEBHOOK_URL: + required: true + description: "webhook url for channel - public-sdk-events" + job_url: + required: true + description: "job run id link" + button_type: + required: true + description: "color for the check logs button" + package_version: + required: true + description: "released package version" + repo_link: + required: true + description: "link of the repo" + + +runs: + using: "composite" + + steps: + + - name: Send slack notification + id: slack + uses: slackapi/slack-github-action@v1.27.0 + env: + SLACK_WEBHOOK_URL: ${{inputs.XERO_SLACK_WEBHOOK_URL}} + SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK + with: + payload: | + { + "blocks": [ + { + "type": "rich_text", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "${{inputs.heading_text}} ", + "style": { + "bold": true + } + }, + { + "type": "emoji", + "name": "${{inputs.alert_type}}" + } + ] + } + ] + }, + { + "type": "divider" + }, + { + "type": "section", + "fields": [ + { + "type": "mrkdwn", + "text": "*Repository:* \n ${{inputs.repo_link}}" + }, + { + "type": "mrkdwn", + "text": "*Status:*\n ${{inputs.job_status}}" + }, + { + "type": "mrkdwn", + "text": "*Package Version:*\n ${{inputs.package_version}}" + } + ] + }, + { + "type": "actions", + "elements": [ + { + "type": "button", + "text": { + "type": "plain_text", + "text": "Check the logs", + "emoji": true + }, + "style": "${{inputs.button_type}}", + "url": "${{inputs.job_url}}" + } + ] + } + ] + } diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 6127c9cf..1b045ba2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -6,6 +6,11 @@ on: jobs: publish: runs-on: ubuntu-latest + outputs: + release_number: ${{steps.get_latest_release_number.outputs.release_tag}} + permissions: + contents: write + pull-requests: write steps: - name: Checkout xero-python repo uses: actions/checkout@v4 @@ -27,6 +32,16 @@ jobs: sudo pip install twine working-directory: xero-python + - name: Fetch Latest release number + id: get_latest_release_number + run: | + latest_version=$(gh release view --json tagName --jq '.tagName') + echo "Latest release version is - $latest_version" + echo "::set-output name=release_tag::$latest_version" + working-directory: xero-python + env: + GH_TOKEN: ${{secrets.GITHUB_TOKEN}} + - name: Build Package run: python setup.py sdist working-directory: xero-python @@ -37,3 +52,49 @@ jobs: TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }} run: twine upload dist/* working-directory: xero-python + + notify-slack-on-success: + runs-on: ubuntu-latest + needs: publish + if: success() + steps: + - name: Checkout xero-pythonrepo + uses: actions/checkout@v4 + with: + repository: XeroAPI/xero-python + path: xero-python + + - name: Send slack notification on success + uses: ./xero-python/.github/actions/notify-slack + with: + heading_text: "Publish job has succeeded !" + alert_type: "thumbsup" + job_status: "Success" + XERO_SLACK_WEBHOOK_URL: ${{secrets.XERO_SLACK_WEBHOOK_URL}} + job_url: "https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}" + button_type: "primary" + package_version: ${{needs.publish.outputs.release_number}} + repo_link: ${{github.server_url}}/${{github.repository}} + + notify-slack-on-failure: + runs-on: ubuntu-latest + needs: publish + if: failure() + steps: + - name: Checkout xero-python repo + uses: actions/checkout@v4 + with: + repository: XeroAPI/xero-python + path: xero-python + + - name: Send slack notification on failure + uses: ./xero-python/.github/actions/notify-slack + with: + heading_text: "Publish job has failed !" + alert_type: "alert" + job_status: "Failed" + XERO_SLACK_WEBHOOK_URL: ${{secrets.XERO_SLACK_WEBHOOK_URL}} + job_url: "https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}" + button_type: "danger" + package_version: ${{needs.publish.outputs.release_number}} + repo_link: ${{github.server_url}}/${{github.repository}}