From 0e0bd99213b03a75a0097080b8c17150e51703bc Mon Sep 17 00:00:00 2001 From: Gabor Greif Date: Thu, 19 Jan 2023 15:07:12 +0100 Subject: [PATCH 1/5] first attemt to transform back substituted characters --- src/main.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main.ts b/src/main.ts index 5c9ccb8..bc994a6 100644 --- a/src/main.ts +++ b/src/main.ts @@ -143,6 +143,9 @@ async function run(): Promise { const prerelease = core.getInput('prerelease') == 'true' ? true : false const release_name = core.getInput('release_name') const body = core.getInput('body') + .replace(/%25/g, '%') + .replace(/%0A/g, '\n') + .replace(/%0D/g, '\r') const octokit = github.getOctokit(token) const release = await get_release_by_tag( From 50a5b0990c290a8282fb765265c97f62823dedc1 Mon Sep 17 00:00:00 2001 From: Gabor Greif Date: Thu, 19 Jan 2023 15:15:10 +0100 Subject: [PATCH 2/5] also lowercase --- src/main.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.ts b/src/main.ts index bc994a6..54e69f5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -144,8 +144,8 @@ async function run(): Promise { const release_name = core.getInput('release_name') const body = core.getInput('body') .replace(/%25/g, '%') - .replace(/%0A/g, '\n') - .replace(/%0D/g, '\r') + .replace(/%0A/ig, '\n') + .replace(/%0D/ig, '\r') const octokit = github.getOctokit(token) const release = await get_release_by_tag( From df11ebfac270de6963be1035f4c5e920f63100aa Mon Sep 17 00:00:00 2001 From: Gabor Greif Date: Thu, 19 Jan 2023 15:19:07 +0100 Subject: [PATCH 3/5] test `%` too --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3af5c23..940cc7b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: tag: ci-test-${{ matrix.os }}-${{ github.run_id }} overwrite: true prerelease: true - body: "rofl lol test%0Aianal fubar" + body: "rofl lol test%0Aianal %25 fubar" - name: Check that the uploaded asset is readable uses: actions/github-script@v2 with: @@ -47,7 +47,7 @@ jobs: tag: "ci-test-${{ matrix.os }}-${{ github.run_id }}", }) assert.deepStrictEqual(release.data.prerelease, true) - assert.deepStrictEqual(release.data.body, "rofl lol test\nianal fubar") + assert.deepStrictEqual(release.data.body, "rofl lol test\nianal % fubar") assert.deepStrictEqual(release.data.assets[0].name, "TEST.md") const actual = child_process.execSync(`curl -Ls ${release.data.assets[0].browser_download_url}`) assert.deepStrictEqual(expected, actual) From 5cbce4f5ee4181ff22f51108e23b741b3c358f69 Mon Sep 17 00:00:00 2001 From: Gabor Greif Date: Fri, 20 Jan 2023 03:39:20 +0100 Subject: [PATCH 4/5] do the transpilation --- dist/index.js | 5 ++++- src/main.ts | 9 +++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/dist/index.js b/dist/index.js index 366b69d..a0f111b 100644 --- a/dist/index.js +++ b/dist/index.js @@ -133,7 +133,10 @@ function run() { const overwrite = core.getInput('overwrite') == 'true' ? true : false; const prerelease = core.getInput('prerelease') == 'true' ? true : false; const release_name = core.getInput('release_name'); - const body = core.getInput('body'); + const body = core.getInput('body') + .replace(/%25/g, '%') + .replace(/%0A/ig, '\n') + .replace(/%0D/ig, '\r'); const octokit = github.getOctokit(token); const release = yield get_release_by_tag(tag, prerelease, release_name, body, octokit); if (file_glob) { diff --git a/src/main.ts b/src/main.ts index 54e69f5..328c8b7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -142,10 +142,11 @@ async function run(): Promise { const overwrite = core.getInput('overwrite') == 'true' ? true : false const prerelease = core.getInput('prerelease') == 'true' ? true : false const release_name = core.getInput('release_name') - const body = core.getInput('body') - .replace(/%25/g, '%') - .replace(/%0A/ig, '\n') - .replace(/%0D/ig, '\r') + const body = core + .getInput('body') + .replace(/%25/g, '%') + .replace(/%0A/gi, '\n') + .replace(/%0D/gi, '\r') const octokit = github.getOctokit(token) const release = await get_release_by_tag( From 0e6c75888adfbe14bf184b5f61940983f8c75754 Mon Sep 17 00:00:00 2001 From: Gabor Greif Date: Fri, 20 Jan 2023 14:40:32 +0100 Subject: [PATCH 5/5] move percent recovery to the last step --- dist/index.js | 9 +++++---- src/main.ts | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/dist/index.js b/dist/index.js index a0f111b..07bb82c 100644 --- a/dist/index.js +++ b/dist/index.js @@ -133,10 +133,11 @@ function run() { const overwrite = core.getInput('overwrite') == 'true' ? true : false; const prerelease = core.getInput('prerelease') == 'true' ? true : false; const release_name = core.getInput('release_name'); - const body = core.getInput('body') - .replace(/%25/g, '%') - .replace(/%0A/ig, '\n') - .replace(/%0D/ig, '\r'); + const body = core + .getInput('body') + .replace(/%0A/gi, '\n') + .replace(/%0D/gi, '\r') + .replace(/%25/g, '%'); const octokit = github.getOctokit(token); const release = yield get_release_by_tag(tag, prerelease, release_name, body, octokit); if (file_glob) { diff --git a/src/main.ts b/src/main.ts index 328c8b7..e93d9d3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -144,9 +144,9 @@ async function run(): Promise { const release_name = core.getInput('release_name') const body = core .getInput('body') - .replace(/%25/g, '%') .replace(/%0A/gi, '\n') .replace(/%0D/gi, '\r') + .replace(/%25/g, '%') const octokit = github.getOctokit(token) const release = await get_release_by_tag(