Skip to content

Commit

Permalink
ci: move updateVersions script to folder, enable sorting and improve …
Browse files Browse the repository at this point in the history
…logging
  • Loading branch information
hensou committed May 24, 2024
1 parent 3c35867 commit d792f6c
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 6 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/update-versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: cd updateVersionsAction
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install node dependencies
run: npm install
- run: node updateVersions.mjs
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
27 changes: 27 additions & 0 deletions updateVersionsAction/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions updateVersionsAction/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "asdf-dotnet-release-action",
"version": "1.0.0",
"description": "",
"type": "module",
"main": "updateVersions.mjs",
"scripts": {
"start": "node updateVersions.mjs"
},
"author": "",
"license": "ISC",
"dependencies": {
"semver": "^7.6.2"
}
}
17 changes: 11 additions & 6 deletions updateVersions.mjs → updateVersionsAction/updateVersions.mjs
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import { writeFile } from "fs/promises";
import parse from "semver/functions/parse.js";
import compare from "semver/functions/compare.js";

(async () => {
const channelReleasesURL =
"https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases-index.json";

console.info("fetching channel releases");
const res = await fetch(channelReleasesURL);
const data = await res.json();
const channelReleases = data["releases-index"];
Expand All @@ -15,6 +18,9 @@ import { writeFile } from "fs/promises";
const releasesURL = channelRelease["releases.json"];
const res = await fetch(releasesURL);
const data = await res.json();
console.info(
`extracting versions from channel-version=${data["channel-version"]}`,
);
const releasesSdks = data["releases"].flatMap((r) => {
if ("sdks" in r && r["sdks"] != null) {
return r.sdks;
Expand All @@ -28,12 +34,11 @@ import { writeFile } from "fs/promises";
versions.push(...sdkVersions);
}, Promise.resolve());

const content =
versions
.flatMap((v) => v)
.reverse()
.join("\n") + "\n";
await writeFile("versions.txt", content, {
const content = versions.flatMap(parse).sort(compare).join("\n") + "\n";

console.info(`writing versions.txt file`);
await writeFile("../versions.txt", content, {
flag: "w+",
});
console.info(`done`);
})();

0 comments on commit d792f6c

Please sign in to comment.