action-scp/.github/workflows/ci.yml

174 lines
4.4 KiB
YAML
Raw Normal View History

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