|
1 | 1 | library(fs) |
2 | 2 | library(stringr) |
3 | 3 | library(glue) |
| 4 | +library(jsonlite) |
| 5 | +library(gh) |
| 6 | + |
| 7 | +downloads <- path("docs", "download") |
| 8 | + |
| 9 | +# Current versions ------------------------------------------------------- |
| 10 | + |
| 11 | +# Based on updated download files |
| 12 | +new_release <- read_json(path(downloads, "_download.json"))$version |
| 13 | +new_prerelease <- read_json(path(downloads, "_prerelease.json"))$version |
| 14 | + |
| 15 | +# Old version from Git history ------------------------------------------- |
| 16 | + |
| 17 | +# Need version at two commits ago |
| 18 | +previous_commit <- gh("https://api.github.com/repos/:owner/:repo/commits", |
| 19 | + owner = "quarto-dev", repo = "quarto-web", |
| 20 | + path = "docs/download/_download.json", |
| 21 | + per_page = 2) |
| 22 | + |
| 23 | +previous_commit_ref <- previous_commit[[2]]$sha |
| 24 | + |
| 25 | +previous_contents <- gh("/repos/{owner}/{repo}/contents/{path}", |
| 26 | + owner = "quarto-dev", repo = "quarto-web", |
| 27 | + path = "docs/download/_download.json", |
| 28 | + ref = previous_commit_ref, |
| 29 | + .accept = "application/vnd.github.raw+json") |
| 30 | +previous_contents_json <- parse_json(previous_contents$message) |
| 31 | + |
| 32 | +old_release <- previous_contents_json$version |
| 33 | +old_release_date <- previous_contents_json$created |
4 | 34 |
|
5 | 35 | # Version numbers |
6 | | -old_release <- "v1.5.57" |
7 | | -new_release_major <- "1.6" |
8 | | -new_prerelease_major <- "1.7" |
| 36 | +extract_major <- function(x){ |
| 37 | + str_extract(x, "(\\d+)\\.(\\d+)") |
| 38 | +} |
9 | 39 |
|
10 | | -major_version <- str_extract(old_release, "(\\d+)\\.(\\d+)") |
| 40 | +new_release_major <- extract_major(new_release) |
| 41 | +new_prerelease_major <- extract_major(new_prerelease) |
| 42 | +major_version <- extract_major(old_release) |
11 | 43 |
|
12 | | -downloads <- path("docs", "download") |
| 44 | +cat("Release:", old_release, "->", new_release, "\n") |
| 45 | +cat("Prerelease:", major_version, "->", new_prerelease_major, "\n") |
13 | 46 |
|
14 | 47 | # Create new changelog content ------------------------------------------- |
15 | 48 |
|
16 | | -changelog_url <- paste0("https://github.com/quarto-dev/quarto-cli/releases/download/", |
| 49 | +changelog_url <- paste0("https://github.com/quarto-dev/quarto-cli/releases/download/v", |
17 | 50 | old_release, "/changelog.md") |
18 | 51 | changelog_dir <- dir_create(path(downloads, "changelog", major_version)) |
19 | 52 |
|
|
0 commit comments