All Projects → actions → Upload Release Asset

actions / Upload Release Asset

Licence: mit
An Action to upload a release asset via the GitHub Release API

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Upload Release Asset

Releaser Tools
Create a GitHub/GitLab/etc. release using a project's commit messages and metadata.
Stars: ✭ 283 (-47.3%)
Mutual labels:  release, release-automation
Release It
🚀 Automate versioning and package publishing
Stars: ✭ 4,773 (+788.83%)
Mutual labels:  release, release-automation
Github Release Notes
Node module to create a release or a changelog from a tag and uses issues or commits to creating the release notes.
Stars: ✭ 705 (+31.28%)
Mutual labels:  release, release-automation
Git Changelog Lib
Library for parsing and generating a changelog, or releasenotes, from a GIT repository
Stars: ✭ 117 (-78.21%)
Mutual labels:  release, release-automation
attribution
Generate changelogs from commit tags and shortlogs
Stars: ✭ 20 (-96.28%)
Mutual labels:  release, release-automation
Gh Action Pypi Publish
GitHub Action, for publishing distribution files to PyPI
Stars: ✭ 317 (-40.97%)
Mutual labels:  release, release-automation
Create Release
An Action to create releases via the GitHub Release API
Stars: ✭ 976 (+81.75%)
Mutual labels:  release, release-automation
Semantic Release
📦🚀 Fully automated version management and package publishing
Stars: ✭ 14,364 (+2574.86%)
Mutual labels:  release, release-automation
release-changelog-builder-action
A GitHub action that builds your release notes / changelog fast, easy and exactly the way you want.
Stars: ✭ 515 (-4.1%)
Mutual labels:  release, release-automation
generate-changelog
generates changelog from git based on jira tickets
Stars: ✭ 18 (-96.65%)
Mutual labels:  release, release-automation
Axion Release Plugin
Gradle release & version management plugin.
Stars: ✭ 372 (-30.73%)
Mutual labels:  release, release-automation
Cli
🆑📍 Setup automated semver compliant package publishing
Stars: ✭ 272 (-49.35%)
Mutual labels:  release
Devops Readme.md
What to Read to Learn More About DevOps
Stars: ✭ 398 (-25.88%)
Mutual labels:  release
Scorecardpy
Scorecard Development in python, 评分卡
Stars: ✭ 433 (-19.37%)
Mutual labels:  release
Python Semver
Python package to work with Semantic Versioning (http://semver.org/)
Stars: ✭ 264 (-50.84%)
Mutual labels:  release
Githubupdates
Cocoa framework to install application updates from GitHub releases.
Stars: ✭ 393 (-26.82%)
Mutual labels:  release
Sbt Sonatype
A sbt plugin for publishing Scala/Java projects to the Maven central.
Stars: ✭ 265 (-50.65%)
Mutual labels:  release-automation
Keep A Changelog
If you build software, keep a changelog.
Stars: ✭ 5,065 (+843.2%)
Mutual labels:  release
release-auth
Handles the authentication for `release`
Stars: ✭ 20 (-96.28%)
Mutual labels:  release
change
A simple tool that automates generating and updating a changelog
Stars: ✭ 47 (-91.25%)
Mutual labels:  release

GitHub Action - Releases API

Please note: This repository is currently unmaintained by a team of developers at GitHub. The repository is here and you can use it as an example, or in Actions. However please be aware that we are not going to be updating issues or pull requests on this repository.

Maintained Actions:

To reflect this state we’ve marked this repository as Archived.

If you are having an issue or question about GitHub Actions then please contact customer support.

If you have found a security issue please submit it here.


This GitHub Action (written in JavaScript) wraps the GitHub Release API, specifically the Upload a Release Asset endpoint, to allow you to leverage GitHub Actions to upload release assets.

GitHub Actions status

Usage

Pre-requisites

Create a workflow .yml file in your repositories .github/workflows directory. An example workflow is available below. For more information, reference the GitHub Help Documentation for Creating a workflow file. You also will need to have a release to upload your asset to, which could be created programmatically by @actions/create-release as show in the example workflow.

Inputs

For more information on these inputs, see the API Documentation

  • upload_url: The URL for uploading assets to the release, which could come from another GitHub Action, for example the @actions/create-release GitHub Action

Outputs

For more information on these outputs, see the API Documentation for an example of what these outputs look like

  • id: The ID of the asset
  • browser_download_url: The URL users can navigate to in order to download the release asset. i.e. https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip

Example workflow - upload a release asset

On every push to a tag matching the pattern v*, create a release and upload a release asset. This Workflow example assumes you have the @actions/create-release Action in a previous step:

on:
  push:
    # Sequence of patterns matched against refs/tags
    tags:
    - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10

name: Upload Release Asset

jobs:
  build:
    name: Upload Release Asset
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/[email protected]
      - name: Build project # This would actually build your project, using zip for an example artifact
        run: |
          zip --junk-paths my-artifact README.md
      - name: Create Release
        id: create_release
        uses: actions/[email protected]
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          draft: false
          prerelease: false
      - name: Upload Release Asset
        id: upload-release-asset 
        uses: actions/[email protected]
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps 
          asset_path: ./my-artifact.zip
          asset_name: my-artifact.zip
          asset_content_type: application/zip

This will upload a release artifact to an existing release, outputting the browser_download_url for the asset which could be handled by a third party service, or by GitHub Actions for additional uses. For more information, see the GitHub Documentation for the upload a release asset endpoint.

Contributing

We would love you to contribute to @actions/upload-release-asset, pull requests are welcome! Please see the CONTRIBUTING.md for more information.

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].