name: scp files on: [push] jobs: testing: name: test scp action runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v4 - 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 deploy: name: test deploy artifact runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v4 - run: echo hello > world.txt - uses: actions/upload-artifact@v4 with: name: my-artifact path: world.txt - uses: actions/download-artifact@v4 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@v4 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v45 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@v4 - 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: foobar foobar 1234 multipleHost: name: test Multiple Host runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v4 - 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