diff --git a/action.yml b/action.yml new file mode 100644 index 0000000..5f2250c --- /dev/null +++ b/action.yml @@ -0,0 +1,132 @@ +name: "run releaseit" +description: "generates release notes for an application and publishes it to different destinations" +author: "Semior001" +inputs: + # general changelog params + from: + description: "commit reference to start generating release notes from" + required: false + to: + description: "commit reference to stop generating release notes at" + required: false + timeout: + description: "timeout for the generating release notes" + required: false + squash-commit-rx: + description: "regular expression to match squash commits" + required: false + conf-location: + description: "location of the releaseit configuration file" + default: ".releaseit.yml" + required: false + extras: + description: "extra variables to pass to the template, in format of `key:value,key2:value2`" + required: false + + # github engine params + engine-github-timeout: + description: "timeout for github requests" + required: false + engine-github-basic-auth-username: + description: "username for github's basic authentication" + default: ${{ github.actor }} + required: false + engine-github-basic-auth-password: + description: "password for github's basic authentication" + required: false + + # notifier params + notify-stdout: + description: "whether to print release notes to stdout" + default: "true" + required: false + + # telegram notifier params + notify-telegram-chat-id: + description: "telegram chat id to send release notes to" + required: false + notify-telegram-token: + description: "telegram bot token to send release notes with" + required: false + notify-telegram-web-page-preview: + description: "whether to enable web page preview for telegram messages" + required: false + notify-telegram-timeout: + description: "timeout for telegram requests" + required: false + + # github release notifier params + notify-github-timeout: + description: "timeout for github requests" + required: false + notify-github-release-name-tmpl: + description: "template for github release name" + default: "Release {{ .Tag.Name }}" + required: false + notify-github-basic-auth-username: + description: "username for github's basic authentication" + default: ${{ github.actor }} + required: false + notify-github-basic-auth-password: + description: "password for github's basic authentication" + required: false + + # mattermost hook notifier params + notify-mattermost-hook-url: + description: "mattermost hook url to send release notes to" + required: false + notify-mattermost-hook-timeout: + description: "timeout for mattermost hook requests" + required: false + + # post request notifier params + notify-post-url: + description: "url to send release notes to" + required: false + notify-post-timeout: + description: "timeout for post requests" + required: false + + # repository parameters, usually shouldn't be changed + engine-github-repo-full-name: + description: "full name of the repository to generate release notes for" + default: ${{ github.repository }} + required: false + notify-github-repo-full-name: + description: "full name of the repository to send release notes to" + default: ${{ github.repository }} + required: false + +runs: + using: "docker" + image: "Dockerfile" + env: + FROM: ${{ inputs.from }} + TO: ${{ inputs.to }} + TIMEOUT: ${{ inputs.timeout }} + SQUASH_COMMIT_RX: ${{ inputs.squash-commit-rx }} + CONF_LOCATION: ${{ inputs.conf-location }} + EXTRAS: ${{ inputs.extras }} + ENGINE_TYPE: "github" + ENGINE_GITHUB_TIMEOUT: ${{ inputs.engine-github-timeout }} + ENGINE_GITHUB_REPO_FULL_NAME: ${{ inputs.engine-github-repo-full-name }} + ENGINE_GITHUB_BASIC_AUTH_USERNAME: ${{ inputs.engine-github-basic-auth-username }} + ENGINE_GITHUB_BASIC_AUTH_PASSWORD: ${{ inputs.engine-github-basic-auth-password }} + NOTIFY_STDOUT: ${{ inputs.notify-stdout }} + NOTIFY_TELEGRAM_CHAT_ID: ${{ inputs.notify-telegram-chat-id }} + NOTIFY_TELEGRAM_TOKEN: ${{ inputs.notify-telegram-token }} + NOTIFY_TELEGRAM_WEB_PAGE_PREVIEW: ${{ inputs.notify-telegram-web-page-preview }} + NOTIFY_TELEGRAM_TIMEOUT: ${{ inputs.notify-telegram-timeout }} + NOTIFY_GITHUB_TIMEOUT: ${{ inputs.notify-github-timeout }} + NOTIFY_GITHUB_RELEASE_NAME_TMPL: ${{ inputs.notify-github-release-name-tmpl }} + NOTIFY_GITHUB_REPO_FULL_NAME: ${{ inputs.notify-github-repo-full-name }} + NOTIFY_GITHUB_BASIC_AUTH_USERNAME: ${{ inputs.notify-github-basic-auth-username }} + NOTIFY_GITHUB_BASIC_AUTH_PASSWORD: ${{ inputs.notify-github-basic-auth-password }} + NOTIFY_MATTERMOST_HOOK_URL: ${{ inputs.notify-mattermost-hook-url }} + NOTIFY_MATTERMOST_HOOK_TIMEOUT: ${{ inputs.notify-mattermost-hook-timeout }} + NOTIFY_POST_URL: ${{ inputs.notify-post-url }} + NOTIFY_POST_TIMEOUT: ${{ inputs.notify-post-timeout }} + +branding: + icon: "shield" + color: "yellow" \ No newline at end of file