pack/action.yml

51 lines
2.1 KiB
YAML

name: 'pack'
description: 'Use pack to upload a package'
inputs:
file:
description: 'the file to upload'
required: true
feature:
description: 'the feature to upload to, i.e docs, nightly'
required: true
secret:
description: 'the secret for pack'
required: true
prefix:
description: 'an optional prefix for the filename'
required: false
default: ''
is_folder:
description: 'specify as "true" if uploading a folder'
required: false
default: false
runs:
using: 'composite'
steps:
- run: if [ ${{ inputs.is_folder }} == true ] && [ ! -d ${{ inputs.file }} ]; then echo "Not a folder!"; exit 1; fi
- run: if [ ${{ inputs.is_folder }} == false ] && [ ! -f ${{ inputs.file }} ]; then echo "Not a file!"; exit 1; fi
- run: |
if [ ${{ inputs.is_folder }} == true ]; then \
echo "Packaging folder..." &&
cd ${{ inputs.file }} &&
tar -czf file.tgz * &&
echo "Uploading '${{ inputs.file }}' to '${{ vars.PACK_HOST }}/api/upload/${{ gitea.repository }}/${{ inputs.feature }}'" &&
curl -v -H 'Authorization: Bearer ${{ inputs.secret }}' \
-F sha=${{ gitea.sha }} \
-F ref='${{ gitea.ref }}' \
-F prefix='${{ inputs.prefix }}' \
-F filename=file.tgz \
-F data=@file.tgz \
-F is_folder='${{ inputs.is_folder }}' \
${{ vars.PACK_HOST }}/api/upload/${{ gitea.repository }}/${{ inputs.feature }}
else
echo "Uploading '${{ inputs.file }}' to '${{ vars.PACK_HOST }}/api/upload/${{ gitea.repository }}/${{ inputs.feature }}'" &&
curl -v -H 'Authorization: Bearer ${{ inputs.secret }}' \
-F sha=${{ gitea.sha }} \
-F ref='${{ gitea.ref }}' \
-F prefix='${{ inputs.prefix }}' \
-F filename='${{ inputs.file }}' \
-F data=@'${{ inputs.file }}' \
-F is_folder='${{ inputs.is_folder }}' \
${{ vars.PACK_HOST }}/api/upload/${{ gitea.repository }}/${{ inputs.feature }}
fi
- run: echo "Upload complete"