51 lines
2.1 KiB
YAML
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" |