Compare commits

..

No commits in common. "master" and "v2.0.1" have entirely different histories.

6 changed files with 17 additions and 29 deletions

View File

@ -1,5 +1,5 @@
# Nextcloud Artifact Upload Action
Upload artifacts to nextcloud and output a shareable URL.
Upload artifacts to nextcloud and outputs a shareable URL.
### How it looks:
![image](https://user-images.githubusercontent.com/23460729/120891750-7f247380-c60a-11eb-9998-3b3b7f61066f.png)
@ -23,7 +23,7 @@ jobs:
with:
name: 'my-artifact' # Name of the artifact
path: 'bin/**/*.exe' # Globbing supported
nextcloud-url: 'https://nextcloud.example.com' # Nextcloud URL
nextcloud-url: 'https://nextcloud.example.com' # Format of test results
nextcloud-username: ${{ secrets.NEXTCLOUD_USERNAME }} # Username from repository secret
nextcloud-password: ${{ secrets.NEXTCLOUD_PASSWORD }} # Password from repository secret
```

View File

@ -30,5 +30,5 @@ inputs:
required: false
default: ${{ github.token }}
runs:
using: 'node20'
using: 'node12'
main: 'dist/index.js'

9
dist/index.js vendored
View File

@ -367,7 +367,6 @@ class NextcloudArtifact {
const client = new NextcloudClient_1.NextcloudClient(this.inputs.Endpoint, this.name, files.rootDirectory, this.inputs.Username, this.inputs.Password);
try {
const shareableUrl = await client.uploadFiles(files.filesToUpload);
core.setOutput('SHAREABLE_URL', shareableUrl);
core.info(`Nextcloud shareable URL: ${shareableUrl}`);
const resp = await this.octokit.rest.checks.update({
check_run_id: createResp.data.id,
@ -487,8 +486,7 @@ class NextcloudClient {
this.headers = { Authorization: 'Basic ' + Buffer.from(`${this.username}:${this.password}`).toString('base64') };
this.davClient = webdav.createClient(`${this.endpoint.href}remote.php/dav/files/${this.username}`, {
username: this.username,
password: this.password,
maxBodyLength: 1024 ** 3
password: this.password
});
}
async uploadFiles(files) {
@ -496,16 +494,11 @@ class NextcloudClient {
const spec = this.uploadSpec(files);
core.info('Zipping files...');
const zip = await this.zipFiles(spec);
try {
core.info('Uploading to Nextcloud...');
const filePath = await this.upload(zip);
core.info(`Remote file path: ${filePath}`);
return await this.shareFile(filePath);
}
finally {
await fs.unlink(zip);
}
}
uploadSpec(files) {
const specifications = [];
if (!fsSync.existsSync(this.rootDirectory)) {

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -83,7 +83,6 @@ export class NextcloudArtifact {
try {
const shareableUrl = await client.uploadFiles(files.filesToUpload)
core.setOutput('SHAREABLE_URL', shareableUrl)
core.info(`Nextcloud shareable URL: ${shareableUrl}`)
const resp = await this.octokit.rest.checks.update({
check_run_id: createResp.data.id,

View File

@ -32,8 +32,7 @@ export class NextcloudClient {
this.headers = { Authorization: 'Basic ' + Buffer.from(`${this.username}:${this.password}`).toString('base64') }
this.davClient = webdav.createClient(`${this.endpoint.href}remote.php/dav/files/${this.username}`, {
username: this.username,
password: this.password,
maxBodyLength: 1024 ** 3
password: this.password
})
}
@ -42,14 +41,11 @@ export class NextcloudClient {
const spec = this.uploadSpec(files)
core.info('Zipping files...')
const zip = await this.zipFiles(spec)
try {
core.info('Uploading to Nextcloud...')
const filePath = await this.upload(zip)
core.info(`Remote file path: ${filePath}`)
return await this.shareFile(filePath)
} finally {
await fs.unlink(zip)
}
}
private uploadSpec(files: string[]): FileSpec[] {
@ -129,7 +125,7 @@ export class NextcloudClient {
const remoteFilePath = `${remoteFileDir}/${this.artifact}.zip`
core.debug(`Transferring file... (${file})`)
await this.davClient.putFileContents(remoteFilePath, await fs.readFile(file))
await this.davClient.putFileContents(remoteFilePath, await fs.readFile(file));
return remoteFilePath
}