Skip to content

Commit

Permalink
Render propose version and possible app name in release title
Browse files Browse the repository at this point in the history
  • Loading branch information
darioblanco committed Mar 9, 2020
1 parent a20edfa commit 4fc7472
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 34 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ Creates a Github release with parsed commits into a given Markdown template.

[![main](https://github.com/minddocdev/mou-release-action/workflows/main/badge.svg)](https://github.com/minddocdev/mou-release-action/actions?workflow=main)

Actually, the `mou-release-action` creates [releases](https://github.com/minddocdev/mou-release-action/releases)
for `mou-release-action`.

![xzibit](https://i.imgur.com/FP1KQOR.png?1)

## Usage

Use the action to create a release.
Expand Down
2 changes: 1 addition & 1 deletion dist/run.js

Large diffs are not rendered by default.

10 changes: 2 additions & 8 deletions src/lib/release.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,10 @@ import * as core from '@actions/core';
import { context, GitHub } from '@actions/github';

export function renderReleaseName(
draft: boolean,
prerelease: boolean,
releaseVersion: string,
app?: string,
) {
let releaseName = `release ${app || ''}`;
if (draft || prerelease) {
releaseName = `${draft ? 'draft ' : ''}${prerelease ? 'prerelease ' : ''}${app || ''}`;
}
// Capitalize string
return `${releaseName[0].toUpperCase()}${releaseName.slice(1)}`.trim();
return `${app ? `${app}@` : ''}${releaseVersion}`.trim();
}

export function renderReleaseBody(
Expand Down
3 changes: 1 addition & 2 deletions src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,7 @@ export async function run() {
// Won't replace it if release tag is given manually
const releaseVersion = releaseTag.replace(tagPrefix, '');
const releaseName =
core.getInput('releaseName', { required: false }) ||
renderReleaseName(draft, prerelease, app);
core.getInput('releaseName', { required: false }) || renderReleaseName(releaseVersion, app);
const body = renderReleaseBody(
templatePath,
app,
Expand Down
26 changes: 4 additions & 22 deletions test/lib/release.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,29 +27,11 @@ const createReleaseResponse = {

describe('release', () => {
describe('render release name', () => {
test('with draft and prerelease', () => {
expect(renderReleaseName(true, true)).toBe('Draft prerelease');
test('without app', () => {
expect(renderReleaseName('0.0.1')).toBe('0.0.1');
});
test('with draft', () => {
expect(renderReleaseName(true, false)).toBe('Draft');
});
test('with prerelease', () => {
expect(renderReleaseName(false, true)).toBe('Prerelease');
});
test('when release is detected', () => {
expect(renderReleaseName(false, false)).toBe('Release');
});
test('with draft, prerelease and app', () => {
expect(renderReleaseName(true, true, 'myapp')).toBe('Draft prerelease myapp');
});
test('with draft and app', () => {
expect(renderReleaseName(true, false, 'myapp')).toBe('Draft myapp');
});
test('with prerelease and app', () => {
expect(renderReleaseName(false, true, 'myapp')).toBe('Prerelease myapp');
});
test('when release is detected and app is given', () => {
expect(renderReleaseName(false, false, 'myapp')).toBe('Release myapp');
test('with app', () => {
expect(renderReleaseName('0.0.1', 'myapp')).toBe('[email protected]');
});
});

Expand Down
2 changes: 1 addition & 1 deletion test/main.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ describe('run', () => {
undefined,
undefined,
);
expect(renderReleaseName).toBeCalledWith(draft, prerelease, undefined);
expect(renderReleaseName).toBeCalledWith(releaseVersion, undefined);
expect(renderReleaseBody).toBeCalledWith(
templatePath,
undefined,
Expand Down

0 comments on commit 4fc7472

Please sign in to comment.