All Projects → meeDamian → github-release

meeDamian / github-release

Licence: MIT license
Github Action to create, update, or add files to Github Releases

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to github-release

release-notify-action
GitHub Action that triggers e-mails with release notes when these are created
Stars: ✭ 64 (+4.92%)
Mutual labels:  github-releases, github-actions
sentry-releases-action
A GitHub action that creates releases for Sentry.io.
Stars: ✭ 38 (-37.7%)
Mutual labels:  github-releases, github-actions
cibuildwheel
🎡 Build Python wheels for all the platforms on CI with minimal configuration.
Stars: ✭ 1,350 (+2113.11%)
Mutual labels:  build-automation, github-actions
travis-ci-latex-pdf
Overview of different methods to build LaTeX with GitHub Actions or Travis-CI (idea by @jackolney but completely rewritten by @PHPirates and contributors).
Stars: ✭ 113 (+85.25%)
Mutual labels:  github-releases, github-actions
Github-Actions-React-Native
Github Action for React Native Build 🦊
Stars: ✭ 99 (+62.3%)
Mutual labels:  build-automation, github-actions
AssetBundleCompiler
📦 Node.js wrapper around Unity3D's BuildPipeline to create AssetBundles from any files
Stars: ✭ 47 (-22.95%)
Mutual labels:  build-automation
resource-translator
A GitHub Action that automatically creates machine-translated PRs of translation files. Supported file formats include, .ini, .po, .restext, .resx, .xliff .json.
Stars: ✭ 44 (-27.87%)
Mutual labels:  github-actions
bazel rules pex
Python PEX rules for Bazel
Stars: ✭ 37 (-39.34%)
Mutual labels:  build-automation
Build Harness
🤖Collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more
Stars: ✭ 236 (+286.89%)
Mutual labels:  build-automation
action-setup-kube-tools
Github Action that setup Kubernetes tools (kubectl, kustomize, helm, kubeconform, conftest, yq, rancher, tilt, skaffold) very fast and cache them on the runner. Please [✩Star] if you're using it!
Stars: ✭ 45 (-26.23%)
Mutual labels:  github-actions
post-medium-action
This action is for posting markdown based posts to medium
Stars: ✭ 45 (-26.23%)
Mutual labels:  github-actions
18-comic-finder
禁漫天堂Github Actions下载器🧘
Stars: ✭ 264 (+332.79%)
Mutual labels:  github-actions
kraken
Kraken CI is a continuous integration and testing system.
Stars: ✭ 87 (+42.62%)
Mutual labels:  build-automation
code-coverage-action
GitHub Action that generates code coverage reports
Stars: ✭ 28 (-54.1%)
Mutual labels:  github-actions
gitlabci-ue4
No description or website provided.
Stars: ✭ 32 (-47.54%)
Mutual labels:  build-automation
poc-github-actions
Various proofs of concept examples using Github Actions 🤖
Stars: ✭ 103 (+68.85%)
Mutual labels:  github-actions
Conform
Policy enforcement for your pipelines.
Stars: ✭ 252 (+313.11%)
Mutual labels:  build-automation
github-wiki-publish-action
GitHub Action that publishes the contents of a directory to your project's wiki
Stars: ✭ 75 (+22.95%)
Mutual labels:  github-actions
py-dependency-install
A GitHub Action that installs Python package dependencies from a user-defined requirements.txt file path with optional pip, setuptools, and wheel installs/updates
Stars: ✭ 23 (-62.3%)
Mutual labels:  github-actions
juejin-actions
掘金每天自动签到 github actions 。组织了每周一起学习200行左右的【源码共读】活动,感兴趣可以加我微信 ruochuan12 参与。
Stars: ✭ 47 (-22.95%)
Mutual labels:  github-actions

meeDamian/github-release

branches_gh_action_svg gh_last_release_svg tippin_svg

The sane way of creating new and updating existing Github Releases with assets.

Usage

See action.yml

Minimal

steps:
- uses: actions/checkout@v2

- uses: meeDamian/[email protected]
  with:
    token: ${{ secrets.GITHUB_TOKEN }}

token is the only always required parameter to be passed to this action. Everything else can use sane defaults in some circumstances. See arguments to learn more.

Arguments

All inputs are available as a normal Action input (set as keys of with: map):

name required description
token always Github Access token. Can be accessed using ${{ secrets.GITHUB_TOKEN }} in the workflow file.
tag sometimes If triggered by git tag push, tag is picked up automatically. Otherwise tag: has to be set.
commitish no Commit hash this release should point to. Unnecessary, if tag is a git tag. Otherwise, current master is used. more
name no Name the release, the more creative, the better. Defaults to the name of the tag used. more
body no Longer description of the release, ex changelog, or info about contributors. Defaults to the commit message of the reference commit. more
draft no Set to true to create a release, but not publish it. false by default. more
prerelease no Mark this release as a pre-release. false by default. more
files no A space-separated list of files to be uploaded. When left empty, no files are uploaded. More on files below
gzip no Set whether to gzip uploaded assets, or not. Available options are: true, false, and folders which uploads files unchanged, but compresses directories/folders. Defaults to true. Note: it errors if set to false, and files: argument contains path to a directory.
allow_override no Allow override of release, if one with the same tag already exists. Defaults to false

Using ENV vars

In a step before this action, run ex:

steps:
    ...
    - name: Set enviroment for github-release
      run: |
        echo ::set-env name=RELEASE_TAG::"v1.0.0"
        echo ::set-env name=RELEASE_NAME::"$GITHUB_WORKFLOW"

    - uses: meeDamian/[email protected]
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
        tag: ${{ env.RELEASE_TAG }}
        name: ${{ env.RELEASE_NAME }}
    ...

To learn more about notation used above see this.

Files syntax

In its simplest form it takes a single file/folder to be compressed & uploaded:

with:
  
  files: release/

Each uploaded element can also be named by prefixing the path to it with: <name>:, example:

with:
  
  files: release-v1.0.0:release/

As of Aug 2019, Github Actions doesn't support YAML-list arguments to actions, so multiple files need to be passed as a space-separated string. YAML multiline syntax can be used to increase readability by having each file on a separate line, example:

with:
  
  files: >
    release-v1.0.0-linux:release/linux/
    release-v1.0.0-mac:release/darwin/
    release-v1.0.0-windows:release/not-supported-notice
    checksums.txt      

Advanced example

steps:
- uses: actions/checkout@v2

- uses: meeDamian/[email protected]
  with:
    token: ${{ secrets.GITHUB_TOKEN }}
    tag: ${{ env.MY_CUSTOM_TAG }}
    name: My Creative Name
    body: >
      This release actually changes the fabric of the reality, so be careful 
      while applying, as error in database migration, can irrecoverably wipe 
      some laws of physics.  
    gzip: folders
    files: >
      Dockerfile
      action.yml
     .github/
      license:LICENSE
      work-flows:.github/

Versioning

As of Aug 2019, Github Actions doesn't natively understand shortened tags in uses: directive.

To go around that and not do what git-tag-manual calls "The insane thing", a permanent git tag, following v-prefixed, semver format is created, as well as git branches following latest minor versions. See the process here.

Ex. 1.4 branch always points to the newest v1.4.x tag, etc.

In practice:

# For exact version
steps:
  uses: meeDamian/[email protected]

Or

# For newest minor version 2.0
steps:
  uses: meeDamian/[email protected]

Note: It's likely branches will be deprecated once Github Actions fixes its limitation.

License

The scripts and documentation in this project are released under the MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].