/upload-assets

GitHub Action to upload multiple assets to a release

Primary LanguageJavaScriptMIT LicenseMIT

upload-assets

GitHub Action to upload multiple assets to a release

Features

This action aims to resolve several outstanding user requests with @actions/upload-release-asset.

  • Getting the latest release tag for upload
  • Globbing i.e. ./bin/*
  • Succinct - no need to populate content_type and a separate path input

Check out my eBooks 📖 🤓

You can sponsor me on GitHub, or check out my eBooks on Golang for Cloud Native Developers or Node.js for Serverless

Visit my: eBook store 📖 🤓

Requirements:

You can run into a "socket hangup", if you do, then add permissions for the action to write to contents.

    permissions:
      contents: write
      checks: write

      actions: read
      issues: read
      packages: write
      pull-requests: read
      repository-projects: read
      statuses: read

Input variables

You must provide:

  • asset_paths - the paths to the assets you want to upload as a JSON array. You can use a glob pattern. For example asset_paths: '["bin/*", "dist/js/*"]'

Output variables

  • browser_download_urls - the paths to download the uploaded assets

Example

name: publish

on:
  push:
    tags:
      - '*'

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
        with:
          fetch-depth: 1
      - name: Make all
        run: make all
      - name: Upload release binaries
        uses: alexellis/upload-assets@0.4.0
        env:
          GITHUB_TOKEN: ${{ github.token }}
        with:
          asset_paths: '["./bin/release-it*"]'

Example taken from this sample project.

Creating a new version

Getting started:

npm i -g  @vercel/ncc

Build:

npm i
npm run build

License

MIT

Contribution guide

  1. Any contributions must be proposed via a GitHub issue for discussion before being worked on.
  2. You should also use git commit -s and follow the DCO.