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: 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@v2 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