2019-09-28 10:54:49 +08:00
|
|
|
name: scp files
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
2019-05-11 17:01:31 +08:00
|
|
|
|
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:
|
2020-02-14 00:49:23 +08:00
|
|
|
- name: checkout
|
2022-06-15 22:11:02 +08:00
|
|
|
uses: actions/checkout@v3
|
2020-02-14 00:49:23 +08:00
|
|
|
|
2019-09-28 10:54:49 +08:00
|
|
|
- name: copy file via ssh password
|
2020-02-14 00:49:23 +08:00
|
|
|
uses: ./
|
2019-09-28 10:54:49 +08:00
|
|
|
with:
|
2019-09-28 12:13:03 +08:00
|
|
|
host: ${{ secrets.HOST }}
|
|
|
|
username: ${{ secrets.USERNAME }}
|
|
|
|
password: ${{ secrets.PASSWORD }}
|
|
|
|
port: ${{ secrets.PORT }}
|
2019-09-28 10:54:49 +08:00
|
|
|
source: "tests/a.txt,tests/b.txt"
|
2019-09-28 11:37:34 +08:00
|
|
|
target: "test"
|
2019-09-28 12:01:18 +08:00
|
|
|
|
|
|
|
- name: copy file via ssh key
|
2020-02-14 00:49:23 +08:00
|
|
|
uses: ./
|
2019-09-28 12:01:18 +08:00
|
|
|
with:
|
2019-09-28 12:16:21 +08:00
|
|
|
host: ${{ secrets.HOST }}
|
|
|
|
username: ${{ secrets.USERNAME }}
|
|
|
|
key: ${{ secrets.KEY }}
|
|
|
|
port: ${{ secrets.PORT }}
|
2019-09-28 12:01:18 +08:00
|
|
|
source: "tests/a.txt,tests/b.txt"
|
|
|
|
target: "test"
|
2019-09-28 12:26:40 +08:00
|
|
|
|
|
|
|
- name: remove the specified number of leading path elements
|
2020-02-14 00:49:23 +08:00
|
|
|
uses: ./
|
2019-09-28 12:26:40 +08:00
|
|
|
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
|
2020-01-20 22:51:17 +08:00
|
|
|
|
|
|
|
- name: ssh key with passphrase
|
2020-02-14 00:49:23 +08:00
|
|
|
uses: ./
|
2020-01-20 22:51:17 +08:00
|
|
|
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"
|
2020-05-24 14:24:45 +08:00
|
|
|
|
|
|
|
- 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 16:49:19 +08:00
|
|
|
|
2023-04-09 17:13:24 +08:00
|
|
|
- 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"
|
|
|
|
|
2023-04-09 16:49:19 +08:00
|
|
|
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
|
2023-04-09 18:10:17 +08:00
|
|
|
|
|
|
|
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
|