GitHub action that can be used to create release archive using zip or tar.
It works on all platforms: Linux, MacOS and Windows.
An example workflow config:
name: Create Archive
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Archive Release
uses: thedoctor0/zip-release@main
with:
type: 'zip'
filename: 'release.zip'
exclusions: '*.git* /*node_modules/* .editorconfig'
The generated archive will be placed as specified by directory
and filename
.
If you want to attach it to the latest release use another action like ncipollo/release-action
:
- name: Upload Release
uses: ncipollo/release-action@v1
with:
artifacts: "release.zip"
token: ${{ secrets.GITHUB_TOKEN }}
Default: release.zip
The filename for the generated archive, relative to directory
.
If you use type: tar
it's recommended to set the filename to a tar.gz
(the tarball is always gzip compressed).
Default: .
The path to the files or directory that should be archived, relative to directory
Default: .
The working directory where the zip or tar actually runs.
Default: zip
Either zip
or tar
.
Defines if either a ZIP-file is created, or a tar archive (the latter gzipped).
On Windows platform 7zip is used to zip files as zip command is not available there.
Default: none
List of excluded files or directories.
Please note: this handles slightly differently, depending on if you use type: zip
or type: tar
.
ZIP requires you to specify wildcards or full filenames.
TAR allows you to specify only the filename, no matter if it's in a subdirectory.
Default: none
Alternative to exclusions
that allows you to specify a list of recursive wildcards.
Only applies to type: zip
on Windows where 7zip is used.
For example:
exclusions: *.txt
will only exclude files ending with .txt
recursive_exclusions: *.txt
will exclude files ending with .txt
in any subdirectory.