GitHub Action to upload multiple assets to a release
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
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 📖 🤓
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
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 exampleasset_paths: '["bin/*", "dist/js/*"]'
browser_download_urls
- the paths to download the uploaded assets
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.
Getting started:
npm i -g @vercel/ncc
Build:
npm i
npm run build
MIT
- Any contributions must be proposed via a GitHub issue for discussion before being worked on.
- You should also use
git commit -s
and follow the DCO.