name: remote ssh command
on: [push]
jobs:

  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
    - name: checkout
      uses: actions/checkout@v1

    - name: executing remote ssh commands using password
      uses: ./
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        password: ${{ secrets.PASSWORD }}
        port: ${{ secrets.PORT }}
        script: whoami

    - name: executing remote ssh commands using ssh key
      uses: ./
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.KEY }}
        port: ${{ secrets.PORT }}
        script: whoami

    - name: multiple command
      uses: ./
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.KEY }}
        port: ${{ secrets.PORT }}
        script: |
          whoami
          ls -al

    # - name: stop script if command error
    #   uses: ./
    #   with:
    #     host: ${{ secrets.HOST }}
    #     username: ${{ secrets.USERNAME }}
    #     key: ${{ secrets.KEY }}
    #     port: ${{ secrets.PORT }}
    #     script_stop: true
    #     script: |
    #       mkdir abc/def
    #       ls -al

    - name: pass environment
      uses: ./
      env:
        FOO: "BAR"
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.KEY }}
        port: ${{ secrets.PORT }}
        envs: FOO
        script: |
          echo "I am $FOO, thanks"
          echo "I am $BAR, thanks"

    - name: pass multiple environment
      uses: ./
      env:
        FOO: "BAR"
        BAR: "FOO"
        SHA: ${{ github.sha }}
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.KEY }}
        port: ${{ secrets.PORT }}
        envs: FOO,BAR,SHA
        script: |
          echo "I am $FOO, thanks"
          echo "I am $BAR, thanks"
          echo "sha: $SHA"

    - name: ssh key passphrase
      uses: ./
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.SSH2 }}
        port: ${{ secrets.PORT }}
        passphrase: ${{ secrets.PASSPHRASE }}
        script: |
          whoami
          ls -al

    - name: use insecure cipher
      uses: ./
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        password: ${{ secrets.PASSWORD }}
        port: ${{ secrets.PORT }}
        script: whoami
        use_insecure_cipher: true