name: "Pulumi Copy Stack"
description: "Copy Pulumi Stack From Source & PR if you want"
author: VelocityLight

inputs:
  PULUMI_ACCESS_TOKEN:
    required: true
    description: "pulumi token [environment variable]"
  PULUMI_CONFIG_PASSPHRASE:
    required: true
    description: "pulumi passphrase [environment variable]"
  pulumi_dir:
    description: "pulumi dictionary"
    required: true
  source_stack_name:
    description: "source stack name"
    required: true
  target_stack_name:
    description: "target stack name"
    required: true

runs:
  using: "composite"
  steps:
    - uses: pulumi/setup-pulumi@v2

    - name: ensure pulumi stack and image
      working-directory: ${{ inputs.pulumi_dir }}
      run: |
        pulumi stack select ${{ inputs.target_stack_name }} --create
        pulumi stack select ${{ inputs.source_stack_name }} --create
        pulumi config cp -d ${{ inputs.target_stack_name }}

        pulumi stack select ${{ inputs.target_stack_name }}
        pulumi stack ls
      env:
        PULUMI_ACCESS_TOKEN: ${{ inputs.PULUMI_ACCESS_TOKEN }}
        PULUMI_CONFIG_PASSPHRASE: ${{ inputs.PULUMI_CONFIG_PASSPHRASE }}
      shell: bash
