Closed posigithub closed 2 hours ago
@posigithub The issue is CumulusCI expects the MetaDeploy service to return JSON, but it looks like there was an error on the MetaDeploy side so it returned the MetaDeploy homepage. It just says "Loading" because it's a generic page and it's not rendering anything before the response is returned.
The command you ran cci task run metadeploy_publish -o tag TAG
is incorrect. As the Documentation shows "substituting TAG with the name of the tag you want to publish." you have to replace TAG with the actual Git tag you want the MetaDeploy plan to reference.
Describe the bug
I was working on a proof of concept and created a test 2GP package. I then made a new release, v0.1.0.1, and ran the command "cci task run metadeploy_publish -o tag TAG". However, I encountered an error in the HTML code format. When I converted that to a page, it just displays "Loading...".
Here is the copy of that error message:
Error: Cannot decode as JSON: <!doctype html><html lang="en" class="slds-theme_default"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline'; img-src *"/><meta name="robots" content="index, follow"/> <meta name="author" content="Posimente"/><meta name="keywords" content=""/><meta name="language" content="en-us"/><title>Posimente</title><meta name="description" content="Web-based tool for installing Salesforce products"/> <script id="js-globals" type="application/json">{"PREFLIGHT_LIFETIME_MINUTES": 10, "TOKEN_LIFETIME_MINUTES": 10, "SITE": {"name": "Posimente", "company_name": "Posimente", "welcome_text": "", "master_agreement": "", "copyright_notice": "", "show_metadeploy_wordmark": true, "company_logo": "/files/posimente_Logo.png", "favicon": null}, "YEAR": 2024, "SENTRY_DSN": "", "SCRATCH_ORGS_AVAILABLE": false}</script> <script id="js-context" type="application/json">""</script><script>this.api_urls=(function(){"use strict";var data={"urls":[["account_change_password",[["accounts/password/change/",[]]]],["account_confirm_email",[["accounts/confirm-email/%(key)s/",["key"]]]],["account_email",[["accounts/email/",[]]]],["account_em ail_verification_sent",[["accounts/confirm-email/",[]]]],["account_inactive",[["accounts/inactive/",[]]]],["account_login",[["accounts/login/",[]]]],["account_logout",[["accounts/logout/",[]]]],["account_ reauthenticate",[["accounts/reauthenticate/",[]]]],["account_reset_password",[["accounts/password/reset/",[]]]],["account_reset_password_done",[["accounts/password/reset/done/",[]]]],["account_reset_passw ord_from_key",[["accounts/password/reset/key/%(uidb36)s-%(key)s/",["uidb36","key"]]]],["account_reset_password_from_key_done",[["accounts/password/reset/key/done/",[]]]],["account_set_password",[["account s/password/set/",[]]]],["account_signup",[["accounts/signup/",[]]]],["api-root",[["api/.%(format)s",["format"]],["api/",[]]]],["database_file",[["files/%(name)s",["name"]]]],["frontend",[["products",[]]]] ,["home",[["",[]]]],["job-detail",[["api/jobs/%(pk)s.%(format)s",["pk","format"]],["api/jobs/%(pk)s/",["pk"]]]],["job-list",[["api/jobs.%(format)s",["format"]],["api/jobs/",[]]]],["org-list",[["api/orgs.% (format)s",["format"]],["api/orgs/",[]]]],["plan-detail",[["api/plans/%(pk)s.%(format)s",["pk","format"]],["api/plans/%(pk)s/",["pk"]]]],["plan-get-one",[["api/plans/get_one.%(format)s",["format"]],["api/ plans/get_one/",[]]]],["plan-list",[["api/plans.%(format)s",["format"]],["api/plans/",[]]]],["plan-preflight",[["api/plans/%(pk)s/preflight.%(format)s",["pk","format"]],["api/plans/%(pk)s/preflight/",["pk "]]]],["plan-scratch-org",[["api/plans/%(pk)s/scratch_org.%(format)s",["pk","format"]],["api/plans/%(pk)s/scratch_org/",["pk"]]]],["product-detail",[["api/products/%(pk)s.%(format)s",["pk","format"]],["ap i/products/%(pk)s/",["pk"]]]],["product-get-one",[["api/products/get_one.%(format)s",["format"]],["api/products/get_one/",[]]]],["product-list",[["api/products.%(format)s",["format"]],["api/products/",[]] ]],["productcategory-detail",[["api/categories/%(pk)s.%(format)s",["pk","format"]],["api/categories/%(pk)s/",["pk"]]]],["productcategory-list",[["api/categories.%(format)s",["format"]],["api/categories/", []]]],["rq_actions",[["admin/django-rq/queues/actions/%(queue_index)s/",["queue_index"]]]],["rq_clear",[["admin/django-rq/queues/%(queue_index)s/empty/",["queue_index"]]]],["rq_confirm_action",[["admin/dj ango-rq/queues/confirm-action/%(queue_index)s/",["queue_index"]]]],["rq_deferred_jobs",[["admin/django-rq/queues/%(queue_index)s/deferred/",["queue_index"]]]],["rq_delete_failed_jobs",[["admin/django-rq/q ueues/%(queue_index)s/failed/clear/",["queue_index"]]]],["rq_delete_job",[["admin/django-rq/queues/%(queue_index)s/%(job_id)s/delete/",["queue_index","job_id"]]]],["rq_enqueue_job",[["admin/django-rq/queu es/%(queue_index)s/%(job_id)s/enqueue/",["queue_index","job_id"]]]],["rq_failed_jobs",[["admin/django-rq/queues/%(queue_index)s/failed/",["queue_index"]]]],["rq_finished_jobs",[["admin/django-rq/queues/%( queue_index)s/finished/",["queue_index"]]]],["rq_home",[["admin/django-rq/",[]]]],["rq_home_json",[["admin/django-rq/stats.json/",[]],["admin/django-rq/stats.json/%(token)s",["token"]]]],["rq_job_detail", [["admin/django-rq/queues/%(queue_index)s/%(job_id)s/",["queue_index","job_id"]]]],["rq_jobs",[["admin/django-rq/queues/%(queue_index)s/",["queue_index"]]]],["rq_requeue_all",[["admin/django-rq/queues/%(q ueue_index)s/requeue-all/",["queue_index"]]]],["rq_requeue_job",[["admin/django-rq/queues/%(queue_index)s/%(job_id)s/requeue/",["queue_index","job_id"]]]],["rq_scheduled_jobs",[["admin/django-rq/queues/%( queue_index)s/scheduled/",["queue_index"]]]],["rq_scheduler_jobs",[["admin/django-rq/schedulers/%(scheduler_index)s/",["scheduler_index"]]]],["rq_started_jobs",[["admin/django-rq/queues/%(queue_index)s/st arted/",["queue_index"]]]],["rq_stop_job",[["admin/django-rq/queues/%(queue_index)s/%(job_id)s/stop/",["queue_index","job_id"]]]],["rq_worker_details",[["admin/django-rq/workers/%(queue_index)s/%(key)s/", ["queue_index","key"]]]],["rq_workers",[["admin/django-rq/workers/%(queue_index)s/",["queue_index"]]]],["salesforce_callback",[["accounts/salesforce/login/callback/",[]]]],["salesforce_login",[["accounts/ salesforce/login/",[]]]],["scratch-org-redirect",[["api/scratch-orgs/%(pk)s/redirect.%(format)s",["pk","format"]],["api/scratch-orgs/%(pk)s/redirect/",["pk"]]]],["socialaccount_connections",[["accounts/so cial/connections/",[]]]],["socialaccount_login_cancelled",[["accounts/social/login/cancelled/",[]]]],["socialaccount_login_error",[["accounts/social/login/error/",[]]]],["socialaccount_signup",[["accounts /social/signup/",[]]]],["ui-bootstrap",[["api/ui/bootstrap.%(format)s",["format"]],["api/ui/bootstrap/",[]]]],["ui-reverse",[["api/ui/reverse.%(format)s",["format"]],["api/ui/reverse/",[]]]],["user",[["ap i/user/",[]]]],["version-additional-plans",[["api/versions/%(pk)s/additional_plans.%(format)s",["pk","format"]],["api/versions/%(pk)s/additional_plans/",["pk"]]]],["version-detail",[["api/versions/%(pk)s. %(format)s",["pk","format"]],["api/versions/%(pk)s/",["pk"]]]],["version-get-one",[["api/versions/get_one.%(format)s",["format"]],["api/versions/get_one/",[]]]],["version-list",[["api/versions.%(format)s" ,["format"]],["api/versions/",[]]]],["ws_notifications",[["ws/notifications/",[]]]]],"prefix":"/"};function factory(d){var url_patterns=d.urls;var url_prefix=d.prefix;var Urls={};var self_url_patterns={};var _get_url=function(url_pattern){return function(){var _arguments,index,url,url_arg,url_args,_i,_len,_ref,_ref_list,match_ref,provided_keys,build_kwargs;_arguments=arguments;_ref_list=self_url_patterns[url_pattern];if(arguments.length==1&&typeof(arguments[0]) =="object"){var provided_keys_list=Object.keys(arguments[0]);provided_keys={};for(_i=0;_i<provided_keys_list.length;_i++) provided_keys[provided_keys_list[_i]]=1;match_ref=function(ref) {var _i;if(ref[1].length!=provided_keys_list.length) return false;for(_i=0;_i<ref[1].length&&ref[1][_i]in provided_keys;_i++);return _i==ref[1].length;} build_kwargs=function(keys){return _arguments[0];}}else{match_ref=function(ref) {return ref[1].length==_arguments.length;} build_kwargs=function(keys){var kwargs={};for(var i=0;i<keys.length;i++){kwargs[keys[i]]=_arguments[i];} return kwargs;}} for(_i=0;_i<_ref_list.length&&!match_ref(_ref_list[_i]);_i++);if(_i==_ref_list.length) return null;_ref=_ref_list[_i];url=_ref[0],url_args=build_kwargs(_ref[1]);for(url_arg in url_args){var url_arg_value=url_args[url_arg];if(url_arg_value===undefined||url_arg_value===null){url_arg_value='';}else{url_arg_value=url_arg_value.toString();} url=url.replace("%("+url_arg+")s",url_arg_value);} return url_prefix+url;};};var name,pattern,url,_i,_len,_ref;for(_i=0,_len=url_patterns.length;_i<_len;_i++){_ref=url_patterns[_i],name=_ref[0],pattern=_ref[1];self_url_patterns[name]=pattern;url=_get_url(name);Urls[name.replace(/[-_]+ (.)/g,function(_m,p1){return p1.toUpperCase();})]=url;Urls[name.replace(/-/g,'_')]=url;Urls[name]=url;} return Urls;} return data?factory(data):factory;})();</script><script defer="defer" src="/static/runtime.8526eb8e097690a55481.min.js"></script><script defer="defer" src="/static/sentry.4979312d335784982ae1.min.js"></script><script defer="defer" src="/static/vendors.5d57a04eb755ee1f0a21.min.js"></script><script defer="defer" src="/static/app.bf316b36cf3d6faed086.min.js"></script><link href="/static/vendors.5d57a04eb755ee1f0a21.min.css" rel="stylesheet"><link href="/static/styles.658e5c2a570de9f24acc.min.css" rel="stylesheet"></head><body><main id="app" class="slds-grid slds-grid_vertical" ><div role="status" class="slds-spinner slds-spinner_large"><span class="slds-assistive-text">Loading…</span><div class="slds-spinner__dot-a"></div><div class="slds-spinner__dot-b"></div></div></main></body></html>
Reproduction steps
Your CumulusCI and Python versions
CumulusCI version: 3.92.0 (C:\Users\janua.local\bin\cci) Python version: 3.11.1 (C:\Users\janua.local\pipx\venvs\cumulusci\Scripts\python.exe) Heroku App Stack: Heroku22
Operating System
Windows 11 Pro, Version 22H2
Windows environment
Bash on Windows
CumulusCI installation method
None
Error Gist
https://gist.github.com/posigithub/2e5a89abab65d027c04237c9106a3c9f
Additional information
No response