Compare commits

..

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

6 changed files with 15 additions and 25 deletions

View File

@ -1,5 +1,5 @@
# Nextcloud Artifact Upload Action # 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: ### How it looks:
![image](https://user-images.githubusercontent.com/23460729/120891750-7f247380-c60a-11eb-9998-3b3b7f61066f.png) ![image](https://user-images.githubusercontent.com/23460729/120891750-7f247380-c60a-11eb-9998-3b3b7f61066f.png)
@ -23,7 +23,7 @@ jobs:
with: with:
name: 'my-artifact' # Name of the artifact name: 'my-artifact' # Name of the artifact
path: 'bin/**/*.exe' # Globbing supported 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-username: ${{ secrets.NEXTCLOUD_USERNAME }} # Username from repository secret
nextcloud-password: ${{ secrets.NEXTCLOUD_PASSWORD }} # Password from repository secret nextcloud-password: ${{ secrets.NEXTCLOUD_PASSWORD }} # Password from repository secret
``` ```

View File

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

14
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); const client = new NextcloudClient_1.NextcloudClient(this.inputs.Endpoint, this.name, files.rootDirectory, this.inputs.Username, this.inputs.Password);
try { try {
const shareableUrl = await client.uploadFiles(files.filesToUpload); const shareableUrl = await client.uploadFiles(files.filesToUpload);
core.setOutput('SHAREABLE_URL', shareableUrl);
core.info(`Nextcloud shareable URL: ${shareableUrl}`); core.info(`Nextcloud shareable URL: ${shareableUrl}`);
const resp = await this.octokit.rest.checks.update({ const resp = await this.octokit.rest.checks.update({
check_run_id: createResp.data.id, check_run_id: createResp.data.id,
@ -496,15 +495,10 @@ class NextcloudClient {
const spec = this.uploadSpec(files); const spec = this.uploadSpec(files);
core.info('Zipping files...'); core.info('Zipping files...');
const zip = await this.zipFiles(spec); const zip = await this.zipFiles(spec);
try { core.info('Uploading to Nextcloud...');
core.info('Uploading to Nextcloud...'); const filePath = await this.upload(zip);
const filePath = await this.upload(zip); core.info(`Remote file path: ${filePath}`);
core.info(`Remote file path: ${filePath}`); return await this.shareFile(filePath);
return await this.shareFile(filePath);
}
finally {
await fs.unlink(zip);
}
} }
uploadSpec(files) { uploadSpec(files) {
const specifications = []; const specifications = [];

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 { try {
const shareableUrl = await client.uploadFiles(files.filesToUpload) const shareableUrl = await client.uploadFiles(files.filesToUpload)
core.setOutput('SHAREABLE_URL', shareableUrl)
core.info(`Nextcloud shareable URL: ${shareableUrl}`) core.info(`Nextcloud shareable URL: ${shareableUrl}`)
const resp = await this.octokit.rest.checks.update({ const resp = await this.octokit.rest.checks.update({
check_run_id: createResp.data.id, check_run_id: createResp.data.id,

View File

@ -42,14 +42,11 @@ export class NextcloudClient {
const spec = this.uploadSpec(files) const spec = this.uploadSpec(files)
core.info('Zipping files...') core.info('Zipping files...')
const zip = await this.zipFiles(spec) const zip = await this.zipFiles(spec)
try {
core.info('Uploading to Nextcloud...') core.info('Uploading to Nextcloud...')
const filePath = await this.upload(zip) const filePath = await this.upload(zip)
core.info(`Remote file path: ${filePath}`) core.info(`Remote file path: ${filePath}`)
return await this.shareFile(filePath) return await this.shareFile(filePath)
} finally {
await fs.unlink(zip)
}
} }
private uploadSpec(files: string[]): FileSpec[] { private uploadSpec(files: string[]): FileSpec[] {
@ -129,7 +126,7 @@ export class NextcloudClient {
const remoteFilePath = `${remoteFileDir}/${this.artifact}.zip` const remoteFilePath = `${remoteFileDir}/${this.artifact}.zip`
core.debug(`Transferring file... (${file})`) 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 return remoteFilePath
} }