name: scp files on: [push] jobs: testing: name: test scp action runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v3 - name: copy file via ssh password uses: ./ with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} password: ${{ secrets.PASSWORD }} port: ${{ secrets.PORT }} source: "tests/a.txt,tests/b.txt" target: "test" - name: copy file via ssh key uses: ./ with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} port: ${{ secrets.PORT }} source: "tests/a.txt,tests/b.txt" target: "test" - name: remove the specified number of leading path elements uses: ./ with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} port: ${{ secrets.PORT }} source: "tests/a.txt,tests/b.txt" target: "foobar" strip_components: 1 - name: ssh key with passphrase uses: ./ with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.SSH2 }} passphrase: ${{ secrets.PASSPHRASE }} port: ${{ secrets.PORT }} source: "tests/a.txt,tests/b.txt" target: "test" - name: use insecure cipher uses: ./ with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.SSH2 }} passphrase: ${{ secrets.PASSPHRASE }} port: ${{ secrets.PORT }} source: "tests/a.txt,tests/b.txt" target: "test" use_insecure_cipher: true - name: correct key but wrong password uses: appleboy/scp-action@7af00892de6f8397c5c3393cfb3b32ae7f91b94b with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} password: abcdefg port: ${{ secrets.PORT }} source: "tests/a.txt,tests/b.txt" target: "test" - name: correct password but wrong key uses: appleboy/scp-action@7af00892de6f8397c5c3393cfb3b32ae7f91b94b with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: abcdefg password: ${{ secrets.PASSWORD }} port: ${{ secrets.PORT }} source: "tests/a.txt,tests/b.txt" target: "test" deploy: name: test deploy artifact runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v3 - run: echo hello > world.txt - uses: actions/upload-artifact@v3 with: name: my-artifact path: world.txt - uses: actions/download-artifact@v3 with: name: my-artifact path: distfiles - name: copy file to server uses: ./ with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} port: ${{ secrets.PORT }} source: distfiles/* target: test changes: name: test changed-files runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v3 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 with: since_last_remote_commit: true separator: "," - name: copy file to server uses: ./ with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} port: ${{ secrets.PORT }} source: ${{ steps.changed-files.outputs.all_changed_files }} target: test target: name: test target folder runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v3 - name: copy file to server uses: ./ with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} port: ${{ secrets.PORT }} source: tests/a.txt,tests/b.txt target: test foobar multipleHost: name: test Multiple Host runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v3 - name: copy file to server uses: ./ with: host: ${{ secrets.HOST }}:${{ secrets.PORT }},${{ secrets.HOST }}:${{ secrets.PORT }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} port: 1024 source: tests/a.txt,tests/b.txt target: foobar