Skip to content

Should output the content URL during deployment failure #678

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
cgraham-rs opened this issue Jun 4, 2025 · 1 comment
Open

Should output the content URL during deployment failure #678

cgraham-rs opened this issue Jun 4, 2025 · 1 comment

Comments

@cgraham-rs
Copy link

When deploying to Connect the content URL should be output in all scenarios, including failure. This would allow the user to easily jump to Connect to review the relevant logs.

It could also output the URL to the content log of the failed job.

In the logs below you see an error An error occurred while building the content (build-failed-error) but no URL. The workaround is to manually find the GUID in the existing logging and then manually compose the relevant URL using the GUID.

❯ rsconnect version
1.26.0
❯ rsconnect deploy manifest manifest.json

Validating server...    [OK]
Validating app mode...  [OK]
Making bundle ...       [OK]
Deploying bundle ...    [OK]
Saving deployed information...  [OK]
Building Quarto document...
Bundle created with Python version 3.11.7 (~=3.11) and Quarto version 1.4.557 (~=1.4) is compatible with environment Local with Python version 3.13.3 from /opt/python/3.13.3/bin/python3.13 and Quarto version 1.6.43 from /opt/quarto/1.6.43/bin/quarto 
Bundle requested Python version 3.11.7 (~=3.11); using /opt/python/3.13.3/bin/python3.13 from Local which has version 3.13.3
2025/06/04 18:46:27.930629202 [rsc-session] Content GUID: 359fd2ac-97a1-441d-946f-f0a5a13395d9
2025/06/04 18:46:27.930666117 [rsc-session] Content ID: 82311
2025/06/04 18:46:27.930671531 [rsc-session] Bundle ID: 276890
2025/06/04 18:46:27.930675175 [rsc-session] Job Key: sCMqbXlIXRJhRjjn
Determining session server location ...
Connecting to session server http://127.0.0.1:44225 ...
Connected to session server http://127.0.0.1:44225
2025/06/04 18:46:28.029019135 Running on host: ip-10-0-145-34
2025/06/04 18:46:28.029055285 Process ID: 1752511
2025/06/04 18:46:28.040178685 Linux distribution: Ubuntu 22.04.5 LTS (jammy)
2025/06/04 18:46:28.041894376 Running as user: uid=998(rstudio-connect) gid=999(rstudio-connect) groups=999(rstudio-connect)
2025/06/04 18:46:28.041929811 Connect version: 2025.06.0-dev+35-g7225834aeb
2025/06/04 18:46:28.041959968 LANG: C.UTF-8
2025/06/04 18:46:28.041963511 Working directory: /opt/rstudio-connect/mnt/app
2025/06/04 18:46:28.041982320 Building environment using Python 3.13.3 (main, Apr 22 2025, 14:51:02) [GCC 11.4.0] at /opt/python/3.13.3/bin/python3.13
2025/06/04 18:46:28.047088566 Requested packages: ipython==8.12.3, great_tables, pandas==2.2.3, requests==2.31.0, css-inline==9.14.6
2025/06/04 18:46:28.064632830 Creating environment: Z_S5_UnJ_21Pj8Pmwa01CA
2025/06/04 18:46:28.206058223 Work in progress: /opt/rstudio-connect/mnt/python-environments/uv/3.13.3/Z_S5_UnJ_21Pj8Pmwa01CA_20250604184628_393abbe2417411f0abc5cbf2e309271c
2025/06/04 18:46:28.819142597 Looking in links: /opt/rstudio-connect/mnt/python-environments/_packages_cache/uv/3.13.3/pypiuv
2025/06/04 18:46:28.833937071 Processing /opt/rstudio-connect/mnt/python-environments/_packages_cache/uv/3.13.3/pypiuv/uv-0.7.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2025/06/04 18:46:28.896895320 Requirement already satisfied: setuptools in /opt/python/3.13.3/lib/python3.13/site-packages (79.0.0)
2025/06/04 18:46:28.897569830 Requirement already satisfied: wheel in /opt/python/3.13.3/lib/python3.13/site-packages (0.45.1)
2025/06/04 18:46:28.923876831 Installing collected packages: uv
2025/06/04 18:46:29.782308192 Successfully installed uv-0.7.10
2025/06/04 18:46:30.745683275 Using Python 3.13.3 environment at: /opt/rstudio-connect/mnt/python-environments/uv/3.13.3/Z_S5_UnJ_21Pj8Pmwa01CA_20250604184628_393abbe2417411f0abc5cbf2e309271c
2025/06/04 18:46:31.448652507   × No solution found when resolving dependencies:
2025/06/04 18:46:31.448719848   ╰─▶ Because there is no version of css-inline==9.14.6 and you require
2025/06/04 18:46:31.448769452       css-inline==9.14.6, we can conclude that your requirements are
2025/06/04 18:46:31.448782841       unsatisfiable.
2025/06/04 18:46:31.465031958 Environment Z_S5_UnJ_21Pj8Pmwa01CA_20250604184628_393abbe2417411f0abc5cbf2e309271c failed with pip install failed with exit code 1, removing it
2025/06/04 18:46:31.640431376 pip install failed with exit code 1
Stopped session pings to http://127.0.0.1:44225
Build error: exit status 1
An error occurred while building the content (build-failed-error)
Error from Connect server: exit status 1
Error: Task exited with status 1.
@jonkeane
Copy link
Contributor

jonkeane commented Jun 6, 2025

Ah, I see — we added log URL printing when the item's environment was restored, but then it didn't start with #642 but the item you were running into wasn't getting to the check to see if the app was live yet because it failed before that.

I wonder if we could add something like f"\n\t For more information: {self.app_config(app_guid).get('logs_url')}" (or just to the item URL) to somewhere around

log_callback("Error from Connect server: " + err)
to achieve what you're looking for? Do you want to give that a shot @cgraham-rs ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants