mirror of
				https://github.com/appleboy/scp-action.git
				synced 2025-11-04 07:43:48 +00:00 
			
		
		
		
	- Update actions/checkout to version 5 throughout workflow files - Update actions/download-artifact to version 5 - Update tj-actions/changed-files to version 46 in the testing workflow Signed-off-by: appleboy <appleboy.tw@gmail.com>
		
			
				
	
	
		
			151 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: lint and test
 | 
						|
on: [push]
 | 
						|
jobs:
 | 
						|
  testing:
 | 
						|
    name: test scp action
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - name: checkout
 | 
						|
        uses: actions/checkout@v5
 | 
						|
 | 
						|
      - 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@v5
 | 
						|
 | 
						|
      - run: echo hello > world.txt
 | 
						|
 | 
						|
      - uses: actions/upload-artifact@v4
 | 
						|
        with:
 | 
						|
          name: my-artifact
 | 
						|
          path: world.txt
 | 
						|
 | 
						|
      - uses: actions/download-artifact@v5
 | 
						|
        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@v5
 | 
						|
 | 
						|
      - name: Get changed files
 | 
						|
        id: changed-files
 | 
						|
        uses: tj-actions/changed-files@v46
 | 
						|
        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@v5
 | 
						|
 | 
						|
      - 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@v5
 | 
						|
 | 
						|
      - 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
 |