Skip to content

Commit

Permalink
honor body_path input when provided. fixes actions#22
Browse files Browse the repository at this point in the history
  • Loading branch information
softprops committed Sep 29, 2019
1 parent 07c8c20 commit ba42ad9
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 4 deletions.
1 change: 1 addition & 0 deletions __tests__/release.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bar
58 changes: 57 additions & 1 deletion __tests__/util.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
import { isTag, paths, parseConfig, parseInputFiles } from "../src/util";
import {
releaseBody,
isTag,
paths,
parseConfig,
parseInputFiles
} from "../src/util";
import * as assert from "assert";

describe("util", () => {
Expand All @@ -16,6 +22,56 @@ describe("util", () => {
);
});
});
describe("releaseBody", () => {
it("uses input body", () => {
assert.equal(
"foo",
releaseBody({
github_ref: "",
github_repository: "",
github_token: "",
input_body: "foo",
input_body_path: undefined,
input_draft: false,
input_prerelease: false,
input_files: [],
input_name: undefined
})
);
});
it("uses input body path", () => {
assert.equal(
"bar",
releaseBody({
github_ref: "",
github_repository: "",
github_token: "",
input_body: undefined,
input_body_path: "__tests__/release.txt",
input_draft: false,
input_prerelease: false,
input_files: [],
input_name: undefined
})
);
});
it("defaults to body when both body and body path are provided", () => {
assert.equal(
"foo",
releaseBody({
github_ref: "",
github_repository: "",
github_token: "",
input_body: "foo",
input_body_path: "__tests__/release.txt",
input_draft: false,
input_prerelease: false,
input_files: [],
input_name: undefined
})
);
});
});
describe("parseConfig", () => {
it("parses basic config", () => {
assert.deepStrictEqual(parseConfig({}), {
Expand Down
4 changes: 2 additions & 2 deletions src/github.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { GitHub } from "@actions/github";
import { Config } from "./util";
import { Config, releaseBody } from "./util";
import { lstatSync, readFileSync } from "fs";
import { getType } from "mime";
import { basename } from "path";
Expand Down Expand Up @@ -138,7 +138,7 @@ export const release = async (
try {
const tag_name = tag;
const name = config.input_name || tag;
const body = config.input_body;
const body = releaseBody(config);
const draft = config.input_draft;
const prerelease = config.input_prerelease;
console.log(`👩‍🏭 Creating new GitHub release for tag ${tag_name}...`);
Expand Down
10 changes: 9 additions & 1 deletion src/util.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as glob from "glob";
import { lstatSync } from "fs";
import { lstatSync, readFileSync } from "fs";

export interface Config {
github_token: string;
Expand All @@ -14,6 +14,14 @@ export interface Config {
input_prerelease?: boolean;
}

export const releaseBody = (config: Config): string | undefined => {
return (
config.input_body ||
(config.input_body_path &&
readFileSync(config.input_body_path).toString("utf8"))
);
};

type Env = { [key: string]: string | undefined };

export const parseInputFiles = (files: string): string[] => {
Expand Down

0 comments on commit ba42ad9

Please sign in to comment.