appleboy / appleboy/scp-action
This doesn't allow copy of files to a windows server
- Dominant language
- Shell
- Stars
- 1.6k
- Forks
- 178
- PR merge metrics
- No merged PRs in 30d
Description
I am currently running the following in a github action
- name: Upload devops files using SCP
uses: appleboy/scp-action@v1.0.0
with:
host: ${{ github.event.inputs.newVMName }}.internal.domain.com
username: svc_buildagent
password: ${{ secrets.INTERNAL_DOMAIN_JOIN_SVC_BUILDAGENT }}
source: "./devops/testserver/*"
target: c:/devops
tar_dereference: true
port: 22
rm: false
debug: true
This does actually copy the files but it fails the action because it can't delete the temp files (I think). It looks like it's expecting to delete the files on a linux server
Github Action log below
Drone SCP version 1.8.0
=======================================
main.Plugin {
Config: main.Config {
Host: []string:1:1 {
"rntest3.internal.domain.com",
},
Port: 22,
Protocol: "tcp",
Username: "svc_buildagent",
Password: "***",
Key: "",
Passphrase: "",
Fingerprint: "",
KeyPath: "",
Timeout: 30s,
CommandTimeout: 10m0s,
Target: []string:1:1 {
"c:/devops",
},
Source: []string:1:1 {
"./devops/testserver/*",
},
Remove: false,
StripComponents: 0,
TarExec: "tar",
TarTmpPath: "",
Proxy: easyssh.DefaultConfig {
User: "",
Server: "",
Key: "",
KeyPath: "",
Port: "22",
Protocol: "tcp",
Passphrase: "",
Password: "",
Timeout: 30s,
Ciphers: []string(nil),
KeyExchanges: []string(nil),
Fingerprint: "",
UseInsecureCipher: false,
},
Debug: true,
Overwrite: false,
UnlinkFirst: false,
Ciphers: []string(nil),
UseInsecureCipher: false,
TarDereference: true,
},
DestFile: "",
}
drone-scp version: 1.8.0
tar all files into /tmp/RLIWPxTKPz.tar.gz
$ tar --dereference -zcf /tmp/RLIWPxTKPz.tar.gz devops/testserver/Activate-DashworksLicense.ps1 devops/testserver/ConfigureSSLReWriterules.xml devops/testserver/CreateDbs.testserver.xml devops/testserver/Expand-Golddata.ps1 devops/testserver/Grafana-Alloy-Config.ps1 devops/testserver/IIS-Config.ps1 devops/testserver/RebuildSQL-RemoveDBFile.ps1 devops/testserver/Restore-GoldData.ps1 devops/testserver/Robocopy-Files.ps1 devops/testserver/Run-CubeUpgrades.ps1 devops/testserver/Run-DBConfiguration.ps1 devops/testserver/Run-DBDeployment.ps1 devops/testserver/Run-DatabasePatches.ps1 devops/testserver/SQL devops/testserver/SplitFeaturesIntoTests.ps1 devops/testserver/Start-AppPool-Sites.ps1 devops/testserver/automation-refresh.ps1 devops/testserver/runtransformtests-all.ps1
remote server os type is unix
scp file to server.
create folder c:/devops
untar file RLIWPxTKPz.tar.gz
$ tar -zxf RLIWPxTKPz.tar.gz -C c:/devops
remove file RLIWPxTKPz.tar.gz
drone-scp error: Process exited with status 1
drone-scp rollback: remove all target tmp file
remove file RLIWPxTKPz.tar.gz
2025/07/17 10:05:39 Process exited with status 1
Error: Process completed with exit code 1.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the reported GitHub Action configuration against the Windows server and inspect the logged tar extraction and temporary-file removal steps. The fix is done when copying the files completes successfully without failing during temporary-file cleanup on the target server.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, shell
- Domain
- devops
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100