2019-09-28 10:54:49 +08:00
|
|
|
name: scp files
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
2023-04-09 16:49:19 +08:00
|
|
|
testing:
|
|
|
|
name: test scp action
|
2019-09-28 10:54:49 +08:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2023-12-25 21:52:55 +08:00
|
|
|
- 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
|
2023-04-09 17:13:24 +08:00
|
|
|
|
2023-04-09 16:49:19 +08:00
|
|
|
deploy:
|
2023-04-15 08:32:05 +08:00
|
|
|
name: test deploy artifact
|
2023-04-09 16:49:19 +08:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2023-12-25 21:52:55 +08:00
|
|
|
- name: checkout
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- run: echo hello > world.txt
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
|
with:
|
|
|
|
name: my-artifact
|
|
|
|
path: world.txt
|
|
|
|
|
2023-12-26 10:39:54 +08:00
|
|
|
- uses: actions/download-artifact@v4
|
2023-12-25 21:52:55 +08:00
|
|
|
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
|
2023-04-09 18:10:17 +08:00
|
|
|
|
|
|
|
changes:
|
|
|
|
name: test changed-files
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2023-12-25 21:52:55 +08:00
|
|
|
- name: checkout
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- name: Get changed files
|
|
|
|
id: changed-files
|
|
|
|
uses: tj-actions/changed-files@v37
|
|
|
|
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
|
2023-04-15 08:32:05 +08:00
|
|
|
|
|
|
|
target:
|
|
|
|
name: test target folder
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2023-12-25 21:52:55 +08:00
|
|
|
- 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
|
2023-04-16 11:44:14 +08:00
|
|
|
|
|
|
|
multipleHost:
|
|
|
|
name: test Multiple Host
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2023-12-25 21:52:55 +08:00
|
|
|
- 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
|