diff --git a/posit-bakery/posit_bakery/config/image/posit_product/const.py b/posit-bakery/posit_bakery/config/image/posit_product/const.py index 1df0316f..d46709ff 100644 --- a/posit-bakery/posit_bakery/config/image/posit_product/const.py +++ b/posit-bakery/posit_bakery/config/image/posit_product/const.py @@ -27,6 +27,7 @@ ) WORKBENCH_DAILY_URL = "https://dailies.rstudio.com/rstudio/latest/index.json" +WORKBENCH_PREVIEW_URL = "https://dailies.rstudio.com/rstudio/{channel}/index.json" PACKAGE_MANAGER_DAILY_URL = "https://cdn.posit.co/package-manager/deb/amd64/rstudio-pm-main-latest.txt" PACKAGE_MANAGER_PREVIEW_URL = "https://cdn.posit.co/package-manager/deb/amd64/rstudio-pm-rc-latest.txt" CONNECT_DAILY_URL = "https://cdn.posit.co/connect/latest-packages.json" @@ -51,8 +52,7 @@ class ReleaseStreamEnum(str, Enum): ProductEnum.PACKAGE_MANAGER: [ReleaseStreamEnum.RELEASE, ReleaseStreamEnum.PREVIEW, ReleaseStreamEnum.DAILY], ProductEnum.WORKBENCH: [ ReleaseStreamEnum.RELEASE, - # FIXME: This stream seems out of date - # ReleaseStreamEnum.PREVIEW, + ReleaseStreamEnum.PREVIEW, ReleaseStreamEnum.DAILY, ], } diff --git a/posit-bakery/posit_bakery/config/image/posit_product/main.py b/posit-bakery/posit_bakery/config/image/posit_product/main.py index 1412378b..302078c2 100644 --- a/posit-bakery/posit_bakery/config/image/posit_product/main.py +++ b/posit-bakery/posit_bakery/config/image/posit_product/main.py @@ -12,6 +12,7 @@ ProductEnum, ReleaseStreamEnum, WORKBENCH_DAILY_URL, + WORKBENCH_PREVIEW_URL, PACKAGE_MANAGER_DAILY_URL, PACKAGE_MANAGER_PREVIEW_URL, CONNECT_DAILY_URL, @@ -154,18 +155,17 @@ def get(self, metadata: dict) -> ReleaseStreamResult: ), }, ), - # FIXME: This stream seems out of date - # ReleaseStreamEnum.PREVIEW: ReleaseStreamPath( - # DOWNLOADS_JSON_URL, - # { - # "version": resolvers.StringMapPathResolver( - # ["rstudio", "pro", "preview", "server", "installer", "{download_json_os}", "version"] - # ), - # "download_url": resolvers.StringMapPathResolver( - # ["rstudio", "pro", "preview", "server", "installer", "{download_json_os}", "url"] - # ), - # }, - # ), + ReleaseStreamEnum.PREVIEW: ReleaseStreamPath( + WORKBENCH_PREVIEW_URL, + { + "version": resolvers.StringMapPathResolver( + ["workbench", "platforms", "{download_json_os}-{arch_identifier}", "version"] + ), + "download_url": resolvers.StringMapPathResolver( + ["workbench", "platforms", "{download_json_os}-{arch_identifier}", "link"] + ), + }, + ), ReleaseStreamEnum.DAILY: ReleaseStreamPath( WORKBENCH_DAILY_URL, { @@ -190,18 +190,17 @@ def get(self, metadata: dict) -> ReleaseStreamResult: ), }, ), - # FIXME: This stream seems out of date - # ReleaseStreamEnum.PREVIEW: ReleaseStreamPath( - # DOWNLOADS_JSON_URL, - # { - # "version": resolvers.StringMapPathResolver( - # ["rstudio", "pro", "preview", "session", "installer", "{download_json_os}", "version"] - # ), - # "download_url": resolvers.StringMapPathResolver( - # ["rstudio", "pro", "preview", "session", "installer", "{download_json_os}", "url"] - # ), - # }, - # ), + ReleaseStreamEnum.PREVIEW: ReleaseStreamPath( + WORKBENCH_PREVIEW_URL, + { + "version": resolvers.StringMapPathResolver( + ["session", "platforms", "{download_json_os}-{arch_identifier}", "version"] + ), + "download_url": resolvers.StringMapPathResolver( + ["session", "platforms", "{download_json_os}-{arch_identifier}", "link"] + ), + }, + ), ReleaseStreamEnum.DAILY: ReleaseStreamPath( WORKBENCH_DAILY_URL, {