-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.yml
62 lines (59 loc) · 2.3 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
name: 'Upload to ShotGrid'
author: 'Fabian Geisler'
description: 'Upload an artifact to a ShotGrid entity field.'
branding:
icon: upload-cloud
color: blue
inputs:
upload_file:
description: 'Path to the file you want to upload. Glob patterns are supported, but
only the first found file will be uploaded.'
required: true
delete_file_after_upload:
description: 'Whether the uploaded file should be removed from disk after upload.'
required: false
default: false
shotgrid_base_url:
description: 'The URL of the ShotGrid site you use as a cpenv repo. Store as a github secret.'
required: true
shotgrid_script_name:
description: 'Name of ShotGrid api script. Store as a github secret.'
required: true
shotgrid_api_key:
description: 'ShotGrid api script key. Store as github secret.'
required: true
entity_type:
description: 'Name of ShotGrid entity like, "PipelineConfiguration".'
required: true
entity_id:
description: 'ID of ShotGrid entity.'
required: true
field_name:
description: 'The field of ShotGrid entity to upload to. (eg."uploaded_config")'
required: true
runs:
using: 'composite'
steps:
- name: "Install dependencies"
working-directory: ${{ github.action_path }}
# Note: The "setup-python" GitHub action can be tricky to setup on self hosted runners.
# We skip this action here and setup our dependencies manually.
run: |
python3 -m pip download -r requirements.txt
unzip -q shotgun-api3-*.zip
echo "PYTHONPATH=`pwd`/shotgun-api3" >> $GITHUB_ENV
shell: bash
- name: Upload file to ShotGrid
run: python "${{ github.action_path }}/sg_uploader.py" -type "${{ inputs.entity_type }}" -id ${{ inputs.entity_id }} -field "${{ inputs.field_name }}" -i "${{ inputs.upload_file }}"${{ fromJson(inputs.delete_file_after_upload) && ' --delete_file_after_upload' || '' }}
shell: bash
env:
SHOTGRID_SITE: "${{ inputs.shotgrid_base_url }}"
SHOTGRID_SCRIPT_USER: "${{ inputs.shotgrid_script_name }}"
SHOTGRID_APPLICATION_KEY: "${{ inputs.shotgrid_api_key }}"
- name: Cleanup resources
working-directory: ${{ github.action_path }}
if: always()
run: |
rm shotgun-api3-*.zip
rm -rf shotgun-api3
shell: bash