Skip to content

Commit 7efcc94

Browse files
committed
delete release on error during build
1 parent 60d83bb commit 7efcc94

6 files changed

Lines changed: 55 additions & 12 deletions

File tree

.github/release-notes.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const { readFileSync, writeFileSync, existsSync } = require("fs");
2+
3+
const [name, body] = process.argv.slice(2);
4+
5+
let releaseNotes = "";
6+
7+
if (existsSync("./release-notes.md")) {
8+
releaseNotes = readFileSync("./release-notes.md", "utf8");
9+
}
10+
11+
releaseNotes = `## ${name}\n\n${body}\n\n${releaseNotes}`;
12+
13+
writeFileSync("./release-notes.md", releaseNotes);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { readFileSync, writeFileSync } from "fs";
1+
const { readFileSync, writeFileSync } = require("fs");
22

33
const version = process.argv[2];
44

.github/workflows/release.yml

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,28 @@ jobs:
1919

2020
- name: Checkout
2121
uses: actions/checkout@v2.4.2
22-
with:
23-
ref: master
2422

25-
- name: Install packages
26-
run: yarn install
23+
- name: Install
24+
run: |
25+
sudo apt-get -y install moreutils
26+
yarn install
27+
28+
- name: Lint
29+
run: yarn lint
30+
31+
- name: Test
32+
run: yarn test
2733

2834
- name: Run version-bump
29-
run: node .github/version-bump.mjs ${{ github.event.release.tag_name }}
35+
run: node .github/version-bump.js ${{ github.event.release.tag_name }}
36+
37+
# build release notes
38+
- name: Update release notes
39+
run: node .github/release-notes.js ${{ github.event.release.tag_name }} ${{ github.event.release.body }}
40+
41+
# build now, so that no side-effects when build fails and release get deleted
42+
- name: Build
43+
run: yarn build:prod
3044

3145
- name: Commit and push changes
3246
run: |
@@ -37,11 +51,16 @@ jobs:
3751
git commit -m "chore(versions): index minAppVersion for latest release"
3852
git push origin master
3953
40-
- name: Build
41-
run: yarn build:prod
42-
4354
- name: Upload assets to a Release
4455
uses: AButler/upload-release-assets@v2.0
4556
with:
4657
repo-token: ${{ github.token }}
4758
files: "main.js;manifest.json"
59+
60+
- uses: actions/github-script@v4
61+
if: failure()
62+
with:
63+
github-token: ${{secrets.GITHUB_TOKEN}}
64+
script: |
65+
const { owner, repo } = context.repo
66+
await github.repos.deleteRelease({ owner, repo, release_id: context.payload.release.id })

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
"license": "MIT",
88
"private": true,
99
"scripts": {
10-
"build:prod": "yarn lint -c .eslintrc.prod.json && webpack --env=production",
11-
"build": "yarn lint && webpack",
10+
"build:prod": "webpack --env=production",
11+
"build:dev": "webpack",
12+
"build": "yarn build:dev",
13+
"lint:prod": "yarn eslint -c .eslintrc.prod.json .",
1214
"test": "jest",
1315
"format": "yarn prettier --write .",
1416
"lint": "yarn eslint -c .eslintrc.json .",

release-notes.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## 2.0.0
2+
3+
A new release. Yehoo!
4+
5+
## 2.0.0
6+
7+
A new release. Yehoo!

src/common/types.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ export type rendererType = "interactive" | "image";
1212
export type chartType = Chart & EventEmitter;
1313

1414
//Custom utility type:
15-
export type DeepNonNullable<T> = { [K in keyof T]: DeepNonNullable<NonNullable<T[K]>> };
15+
export type DeepNonNullable<T> = {
16+
[K in keyof T]: DeepNonNullable<NonNullable<T[K]>>;
17+
};
1618

1719
export interface FunctionInputs {
1820
id: string | null;

0 commit comments

Comments
 (0)