zip/README.md
2019-10-31 08:07:50 +01:00

75 lines
1.9 KiB
Markdown

# Zip Files Action
This GitHub action exposes the zip command for use in building/archiving.
## Usage
Zipping the directory `vendor` into `vendor.zip`:
```yaml
- uses: montudor/action-zip@v0.1.0
with:
args: zip -qq -r ./dir.zip ./dir
```
Unzipping a `vendor.zip` file:
```yaml
- uses: montudor/action-zip@v0.1.0
with:
args: unzip -qq dir.zip -d ./dir
```
Reusing the same zip between steps in a `PHP` CI with unit and mutation tests:
*Note that we're putting the zip in the `vendor-zip` directory, this is required
because the artifact upload/download expects a directory not a file.*
```yaml
name: Continuous Integration
on:
push:
pull_request:
jobs:
composer-install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- run: composer install --ansi --no-progress --no-interaction --prefer-dist
- run: mkdir vendor-zip
- uses: montudor/action-zip@v0.1.0
with:
args: zip -qq -r ./vendor-zip/vendor.zip ./vendor
- uses: actions/upload-artifact@master
with:
name: vendor
path: vendor-zip
tests:
needs: composer-install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/download-artifact@master
with:
name: vendor
path: vendor-zip
- uses: montudor/action-zip@v0.1.0
with:
args: unzip -qq ./vendor-zip/vendor.zip -d ./vendor
- run: rm -Rf ./vendor-zip
- run: ./vendor/bin/phpunit
mutation:
needs: composer-install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/download-artifact@master
with:
name: vendor
path: vendor-zip
- uses: montudor/action-zip@v0.1.0
with:
args: unzip -qq ./vendor-zip/vendor.zip -d ./vendor
- run: rm -Rf ./vendor-zip
- run: ./vendor/bin/infection
```