Dexter  Goodwin

Dexter Goodwin

1661227680

Conventional Changelog Action

Conventional Changelog action

This action will bump version, tag commit and generate a changelog with conventional commits.

Inputs

  • Optional github-token: Github token, if different permissions required than from checkout.
  • Optional git-message: Commit message that is used when committing the changelog.
  • Optional git-user-name: The git user.name to use for the commit. Default Conventional Changelog Action
  • Optional git-user-email: The git user.email to use for the commit. Default conventional.changelog.action@github.com
  • Optional git-pull-method: The git pull method used when pulling all changes from remote. Default --ff-only
  • Optional git-push: Push all the GIT changes. Default true
  • Optional preset: Preset that is used from conventional commits. Default angular.
  • Optional tag-prefix: Prefix for the git tags. Default v.
  • Optional output-file: File to output the changelog to. Default CHANGELOG.md, when providing 'false' no file will be generated / updated.
  • Optional release-count: Number of releases to preserve in changelog. Default 5, use 0 to regenerate all.
  • Optional version-file: The path to the file that contains the version to bump. Default ./package.json.
  • Optional version-path: The place inside the version file to bump. Default version.
  • Optional skip-on-empty: Boolean to specify if you want to skip empty release (no-changelog generated). This case occured when you push chore commit with angular for example. Default 'true'.
  • Optional skip-version-file: Do not update the version file. Default 'false'.
  • Optional skip-commit: Do not create a release commit. Default 'false'.
  • Optional pre-commit: Path to the pre-commit script file. No hook by default.
  • Optional fallback-version: The fallback version, if no older one can be detected, or if it is the first one. Default '0.1.0'
  • Optional config-file-path: Path to the conventional changelog config file. If set, the preset setting will be ignored
  • Optional pre-changelog-generation: Path to the pre-changelog-generation script file. No hook by default.

Pre-Commit hook

Function in a specified file will be run right before the git-add-git-commit phase, when the next version is already known and a new changelog has been generated. You can run any chores across your repository that should be added and commited with the release commit.

Specified path could be relative or absolute. If it is relative, then it will be based on the GITHUB_WORKSPACE path.

Script should:

  • be a CommonJS module
  • have a single export: exports.preCommit = (props) => { /* ... */ }
  • not have any return value
  • be bundled (contain all dependencies in itself, just like the bundled webapp)

preCommit function can be async.

Following props will be passed to the function as a single parameter:

interface Props {
  tag: string; // Next tag e.g. v1.12.3
  version: string; // Next version e.g. 1.12.3
}

export function preCommit(props: Props): void {}

A bunch of useful environment variables are available to the script with process.env. See docs.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables to learn more.

Pre-Changelog-Generation hook

Function in a specified file will be run right before the changelog generation phase, when the next version is already known, but it was not used anywhere yet. It can be useful if you want to manually update version or tag.

Same restrictions as for the pre-commit hook, but exported functions names should be preVersionGeneration for modifications to the version and preTagGeneration for modifications to the git tag.

Following props will be passed to the function as a single parameter and same output is expected:

// Next version e.g. 1.12.3
export function preVersionGeneration(version: string): string {}

// Next tag e.g. v1.12.3
export function preTagGeneration(tag: string): string {}

Config-File-Path

A config file to define the conventional commit settings. Use it if you need to override values like issuePrefix or issueUrlFormat. If you set a config-file-path, the preset setting will be ignored. Therefore use an existing config and override the values you want to adjust.

example:

'use strict'
const config = require('conventional-changelog-conventionalcommits');

module.exports = config({
    "issuePrefixes": ["TN-"],
    "issueUrlFormat": "https://jira.example.com/browse/{{prefix}}{{id}}"
})

The specified path can be relative or absolute. If it is relative, then it will be based on the GITHUB_WORKSPACE path.

Make sure to install all required packages in the workflow before executing this action.

Outputs

  • changelog: The generated changelog for the new version.
  • clean_changelog: The generated changelog for the new version without the version name in it (Better for Github releases)
  • version: The new version.
  • tag: The name of the generated tag.
  • skipped: Boolean ('true' or 'false') specifying if this step have been skipped

Example usages

Uses all the defaults

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}

Overwrite everything

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    git-message: 'chore(release): {version}'
    git-user-name: 'Awesome Changelog Action'
    git-user-email: 'awesome_changelog@github.actions.com'
    preset: 'angular'
    tag-prefix: 'v'
    output-file: 'MY_CUSTOM_CHANGELOG.md'
    release-count: '10'
    version-file: './my_custom_version_file.json' // or .yml, .yaml, .toml
    version-path: 'path.to.version'
    skip-on-empty: 'false'
    skip-version-file: 'false'
    skip-commit: 'false'

No file changelog

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    output-file: "false"

Tag only

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    skip-commit: "true"

Use a custom file for versioning

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    version-file: "my-custom-file.yaml"

Use a pre-commit hook

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    pre-commit: some/path/pre-commit.js

Github releases

- name: Conventional Changelog Action
  id: changelog
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    output-file: "false"

- name: Create Release
  uses: actions/create-release@v1
  if: ${{ steps.changelog.outputs.skipped == 'false' }}
  env:
    GITHUB_TOKEN: ${{ secrets.github_token }}
  with:
    tag_name: ${{ steps.changelog.outputs.tag }}
    release_name: ${{ steps.changelog.outputs.tag }}
    body: ${{ steps.changelog.outputs.clean_changelog }}

Use a deploy key

- name: Checkout GitHub Action
  uses: actions/checkout@v2
  with:
    ssh-key: ${{ secrets.SSH_DEPLOY_KEY }}
- name: Conventional Changelog Action
  id: changelog
  uses: TriPSs/conventional-changelog-action@v3

Development

If you'd like to contribute to this project, all you need to do is clone and install act this project and run:

Make sure that main: 'src/index.js' is updated to main: '../src/index.js' inside the action.yml Note: The image used is 18 gb!

$ yarn install

# To run / test json versioning
$ act -j test-json -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / test git versioning
$ act -j test-git -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / test git fallback versioning
$ act -j test-git-fallback -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / test yaml versioning
$ act -j test-yaml -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / test toml versioning
$ act -j test-toml -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / test empty / new files test
$ act -j test-[json/toml/yaml]-[empty/new] -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run pre-commit test
$ act -j test-pre-commit -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / multiple files test
$ act -j multiple-files -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / config file path test
$ act -j test-config-file-path -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run pre-changelog-generation test
$ act -j test-pre-changelog-generation -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

Collaboration

If you have questions or issues, please open an issue!

Download Details:

Author: TriPSs
Source Code: https://github.com/TriPSs/conventional-changelog-action 
License: MIT license

#javascript #action #github 

What is GEEK

Buddha Community

Conventional Changelog Action
Derek  Champlin

Derek Champlin

1597035960

GitHub Action Hero: Swechhya Bista

GitHub Actions gives you the power to automate your workflow. Connect with the tools you know and love. Have more freedom to innovate and be creative. Deploy to any cloud, build containers, automate messages, and lots more. It’s time to take control.

There’s lots of amazing Actions being built every day. We spoke to some of the coolest developers building the latest workflows and automations. Last week, we shared Samson’s story. This week we have Swechhya Bista. She also participated in our recent GitHub Actions Hackathon. Read her story for inspiration, lessons, and why developers choose to build.

#community #marketplace #open source #actions #github actions #r-action #swechhya bista

Dexter  Goodwin

Dexter Goodwin

1661227680

Conventional Changelog Action

Conventional Changelog action

This action will bump version, tag commit and generate a changelog with conventional commits.

Inputs

  • Optional github-token: Github token, if different permissions required than from checkout.
  • Optional git-message: Commit message that is used when committing the changelog.
  • Optional git-user-name: The git user.name to use for the commit. Default Conventional Changelog Action
  • Optional git-user-email: The git user.email to use for the commit. Default conventional.changelog.action@github.com
  • Optional git-pull-method: The git pull method used when pulling all changes from remote. Default --ff-only
  • Optional git-push: Push all the GIT changes. Default true
  • Optional preset: Preset that is used from conventional commits. Default angular.
  • Optional tag-prefix: Prefix for the git tags. Default v.
  • Optional output-file: File to output the changelog to. Default CHANGELOG.md, when providing 'false' no file will be generated / updated.
  • Optional release-count: Number of releases to preserve in changelog. Default 5, use 0 to regenerate all.
  • Optional version-file: The path to the file that contains the version to bump. Default ./package.json.
  • Optional version-path: The place inside the version file to bump. Default version.
  • Optional skip-on-empty: Boolean to specify if you want to skip empty release (no-changelog generated). This case occured when you push chore commit with angular for example. Default 'true'.
  • Optional skip-version-file: Do not update the version file. Default 'false'.
  • Optional skip-commit: Do not create a release commit. Default 'false'.
  • Optional pre-commit: Path to the pre-commit script file. No hook by default.
  • Optional fallback-version: The fallback version, if no older one can be detected, or if it is the first one. Default '0.1.0'
  • Optional config-file-path: Path to the conventional changelog config file. If set, the preset setting will be ignored
  • Optional pre-changelog-generation: Path to the pre-changelog-generation script file. No hook by default.

Pre-Commit hook

Function in a specified file will be run right before the git-add-git-commit phase, when the next version is already known and a new changelog has been generated. You can run any chores across your repository that should be added and commited with the release commit.

Specified path could be relative or absolute. If it is relative, then it will be based on the GITHUB_WORKSPACE path.

Script should:

  • be a CommonJS module
  • have a single export: exports.preCommit = (props) => { /* ... */ }
  • not have any return value
  • be bundled (contain all dependencies in itself, just like the bundled webapp)

preCommit function can be async.

Following props will be passed to the function as a single parameter:

interface Props {
  tag: string; // Next tag e.g. v1.12.3
  version: string; // Next version e.g. 1.12.3
}

export function preCommit(props: Props): void {}

A bunch of useful environment variables are available to the script with process.env. See docs.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables to learn more.

Pre-Changelog-Generation hook

Function in a specified file will be run right before the changelog generation phase, when the next version is already known, but it was not used anywhere yet. It can be useful if you want to manually update version or tag.

Same restrictions as for the pre-commit hook, but exported functions names should be preVersionGeneration for modifications to the version and preTagGeneration for modifications to the git tag.

Following props will be passed to the function as a single parameter and same output is expected:

// Next version e.g. 1.12.3
export function preVersionGeneration(version: string): string {}

// Next tag e.g. v1.12.3
export function preTagGeneration(tag: string): string {}

Config-File-Path

A config file to define the conventional commit settings. Use it if you need to override values like issuePrefix or issueUrlFormat. If you set a config-file-path, the preset setting will be ignored. Therefore use an existing config and override the values you want to adjust.

example:

'use strict'
const config = require('conventional-changelog-conventionalcommits');

module.exports = config({
    "issuePrefixes": ["TN-"],
    "issueUrlFormat": "https://jira.example.com/browse/{{prefix}}{{id}}"
})

The specified path can be relative or absolute. If it is relative, then it will be based on the GITHUB_WORKSPACE path.

Make sure to install all required packages in the workflow before executing this action.

Outputs

  • changelog: The generated changelog for the new version.
  • clean_changelog: The generated changelog for the new version without the version name in it (Better for Github releases)
  • version: The new version.
  • tag: The name of the generated tag.
  • skipped: Boolean ('true' or 'false') specifying if this step have been skipped

Example usages

Uses all the defaults

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}

Overwrite everything

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    git-message: 'chore(release): {version}'
    git-user-name: 'Awesome Changelog Action'
    git-user-email: 'awesome_changelog@github.actions.com'
    preset: 'angular'
    tag-prefix: 'v'
    output-file: 'MY_CUSTOM_CHANGELOG.md'
    release-count: '10'
    version-file: './my_custom_version_file.json' // or .yml, .yaml, .toml
    version-path: 'path.to.version'
    skip-on-empty: 'false'
    skip-version-file: 'false'
    skip-commit: 'false'

No file changelog

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    output-file: "false"

Tag only

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    skip-commit: "true"

Use a custom file for versioning

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    version-file: "my-custom-file.yaml"

Use a pre-commit hook

- name: Conventional Changelog Action
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    pre-commit: some/path/pre-commit.js

Github releases

- name: Conventional Changelog Action
  id: changelog
  uses: TriPSs/conventional-changelog-action@v3
  with:
    github-token: ${{ secrets.github_token }}
    output-file: "false"

- name: Create Release
  uses: actions/create-release@v1
  if: ${{ steps.changelog.outputs.skipped == 'false' }}
  env:
    GITHUB_TOKEN: ${{ secrets.github_token }}
  with:
    tag_name: ${{ steps.changelog.outputs.tag }}
    release_name: ${{ steps.changelog.outputs.tag }}
    body: ${{ steps.changelog.outputs.clean_changelog }}

Use a deploy key

- name: Checkout GitHub Action
  uses: actions/checkout@v2
  with:
    ssh-key: ${{ secrets.SSH_DEPLOY_KEY }}
- name: Conventional Changelog Action
  id: changelog
  uses: TriPSs/conventional-changelog-action@v3

Development

If you'd like to contribute to this project, all you need to do is clone and install act this project and run:

Make sure that main: 'src/index.js' is updated to main: '../src/index.js' inside the action.yml Note: The image used is 18 gb!

$ yarn install

# To run / test json versioning
$ act -j test-json -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / test git versioning
$ act -j test-git -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / test git fallback versioning
$ act -j test-git-fallback -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / test yaml versioning
$ act -j test-yaml -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / test toml versioning
$ act -j test-toml -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / test empty / new files test
$ act -j test-[json/toml/yaml]-[empty/new] -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run pre-commit test
$ act -j test-pre-commit -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / multiple files test
$ act -j multiple-files -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run / config file path test
$ act -j test-config-file-path -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

# To run pre-changelog-generation test
$ act -j test-pre-changelog-generation -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token

Collaboration

If you have questions or issues, please open an issue!

Download Details:

Author: TriPSs
Source Code: https://github.com/TriPSs/conventional-changelog-action 
License: MIT license

#javascript #action #github 

Ian  Robinson

Ian Robinson

1624422240

Actionable Insights Steer Industries Towards Better Business Decisions

In the current digital world, there is no industry that won’t benefit from actionable insights. With time, every industry will adapt to it. For example, in financial technology, a problem that requires actionable insights is credit risk assessment. A well-structured fintech algorithm can easily use machine learning to suggest to employees whether they can approve and reject a loan application. That advice is actionable insight.

The algorithm assesses the applicant’s probability of load success by training on heaps of historical data and market conditions. The result of the algorithm is the insightful judgment of the applicant’s acceptable or unacceptable risk. Action, in this case, is the human loan agent’s decision to grant the loan or deny it. The majority of businesses in today’s day and age depend on such insights. They require actionable insights incorporated in the workflows to drive better business outcomes without people having to leave their primary tasks to sieve through data for answers.

#big data #data analytics #action #decision to #actionable insights #actionable insights steer industries towards better business decisions

Adele Hansley

Adele Hansley

1624095520

What Are Generic Conventions And Their Implications?

Generic conventions are elements that assist the reader or viewer to identify the genre and relate to it. You could also don’t forget them because the capabilities expressed through the texts permit them to be placed into a particular style. If you are a student of arts or literature, you want to be privy to conventional conventions.

Types Of Generic Conventions
Theme:
The theme is the principal concept or view supplied within the literature, which may be depicted both directly or indirectly. It’s a primary topic of the work, that’s specified in one phrase like rage, solitude, love, and many others. By going through a piece of work, you can recognize how the subject works. The thing of the topic is classified into sets of thematic standards and statements

Iconography
Iconography is a prevalent conference that offers reputation, narrative, elucidation of the subject, categorization, visual context, and logos. It identifies the standards and creativeness used by the creator of their works.

Characters
Among all of the established conference deals, characters stand out to be the most crucial. The character can be any lively individual or thin within the storyline. As such, the character may be an animal, man or woman, or any creature. Through the usage of characters, writers bring their ideas.
The characters are subjected to movement and communication for the glide of the tale. A tale is meaningful, regardless of a single individual. The storyline is created across the protagonist – the main man or woman the use of the other characters.

Setting
This Generic convention is wherein the plot or number one storyline is constructed up. Selecting the right setting is very important for a well-prepared work or literature. The setting is what provides the main attributes like standards, tone, emotion, and greater for your literature or work. Therefore, the placing performs a pivotal role in establishing the storyline of any literature or artwork.

Importance Of Generic Conventions From The Audience Perspective:

The audience had been uncovered to the huge range of concern rely and there will need to make sure that unique writing style is maintained as in line with the style which the writing belongs to. This may be essential for appealing to the sensibilities and needs of the audience individuals and create on spot means of connecting with the target audience. As such, generic conventions will ensure that the sensibilities and needs of the target market might be properly understood for which a powerful writing style might be adopted.

Online assignmemt help experts can assist you with writing perfect assignments if you are dealing with any issues related to generic conventions.

#generic conventions #types of generic conventions #importance of generic conventions #online assignmemt help

Dexter  Goodwin

Dexter Goodwin

1661255460

Conventional Changelog with Emojis Support

@favoloso/conventional-changelog-emoji  

Conventional Changelog with Emojis support 🎉

Installation

yarn add --dev @favoloso/conventional-changelog-emoji

or

npm install --save-dev @favoloso/conventional-changelog-emoji

Usage

conventional-changelog -p @favoloso/emoji -i CHANGELOG.md -s

Usage with release-it

You can use conventional-changelog plugin (v11+) with the @favoloso/emoji preset.

"release-it": {
  "plugins": {
    "@release-it/conventional-changelog": {
      "preset": "@favoloso/emoji",
      "infile": "CHANGELOG.md"
    }
  }
}

Lint (and fix) commit messages

This package provides an additional bin script emoji-commit-lint.

The scripts lints and eventually changes commit messages, from traditional conventional changelog format (i.e. feat: Add a magic feature) to corresponding emoji (i.e. ✨ Add a magic feature), checks and applies correct casing (i.e. lower-case) and many more, as configured by Linter Rules.

To use it, install husky

yarn add --dev husky

Now in your package.json add:

{
  "husky": {
    "hooks": {
      "commit-msg": "emoji-commit-lint"
    }
  }
}

Now linter will check your commits. Any commit like <type>: <msg> will be automatically transformed with related emoji. See Available Emojis to see available types.

Configuration

The package works as-is, but its behaviour may be customized with the following options.

Note: This package supports cosmiconfig to provide configuration options with favolosoEmoji module name.

emojis (default: {})

An object allowing you to customize conventional-changelog types used (as Available Emojis table).

You should provide an object, where the key is the type you want to edit (or add), and the value is the updated configuration. Configurations will be merged with originals if existing.

See the Custom Emoji wiki page for further details.

rules (default: {})

Allows to customize linter rules. See the Linter Rules wiki page for further details.

showEmojiPerCommit (default: false)

In the changelog, shows emoji for each commit. In the default mode (false), emojis are omitted from commits and only the heading contains them (i.e. 🐛 Bug Fixes)

minorForBreakingInDevelopment (default: true)

Breaking changes during development will be considered as minor instead of major bumps (see semver spec).

  1. Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.

language (default: en)

Allows to translate commits group heading in CHANGELOG.md (i.e. 🐛 Bug Fixes) and in linter messages. Languages available: en, it

Example config in package.json

{
  "favolosoEmoji": {
    "showEmojiPerCommit": false
  }
}

Available Emojis

 

EmojiAliasesTypeType AliasesVersion BumpIn Changelog?HeadingOrder
🚨 breaking major🚨 Breaking Changes10
🌟, 💫, 🌠feat minor✨ Features20
🔒 security patch🔒 Security25
🛠 improvementimppatch🛠 Improvements30
⚡️ perfperformancepatch⚡️ Performance35
🐛🐞fix patch🐛 Bug Fixes40
📚📖docsdocpatch📚 Documentation50
🏗⚙️chorechorespatch🏗 Chore60
♻️ refactor patch ♻️ Refactoring90
🚦test patch 🚦 Test90
🎨💄stylecleanuppatch 🎨 Style90
📦 builddepspatch 📦 Build90
🔖 release patch 🔖 Release90
🚧 wip patch 🚧 Wip90

 Download Details:

Author: Favoloso
Source Code: https://github.com/favoloso/conventional-changelog-emoji 
License: MIT license

#javascript #emoji #changelog