First development of the deploy action #6

Merged
Philipp merged 14 commits from develop-action into main 2023-11-26 18:31:53 +01:00
1039 changed files with 228399 additions and 0 deletions
Showing only changes of commit 5d6e23178e - Show all commits

View File

@ -1,33 +1,33 @@
name: 'Upload to Screeps' name: Upload to Screeps
description: 'This action uploads code to the Screeps server.' description: This action uploads code to the Screeps server.
inputs: inputs:
protocol: protocol:
description: 'The protocol to use (default: https).' description: 'The protocol to use (default: https).'
required: false required: false
default: 'https' default: https
hostname: hostname:
description: 'The hostname of the Screeps server (default: screeps.com).' description: 'The hostname of the Screeps server (default: screeps.com).'
required: false required: false
default: 'screeps.com' default: screeps.com
port: port:
description: 'The port to use (default: 443).' description: 'The port to use (default: 443).'
required: false required: false
default: '443' default: '443'
path: path:
description: 'The path for the API.' description: The path for the API.
required: false required: false
default: '/' default: /
token: token:
description: 'Authentication token for Screeps.' description: Authentication token for Screeps.
required: true required: true
username: username:
description: 'Username for Screeps account. Used if no token is provided.' description: Username for Screeps account. Used if no token is provided.
required: false required: false
password: password:
description: 'Password for Screeps account. Used if no token is provided.' description: Password for Screeps account. Used if no token is provided.
required: false required: false
prefix: prefix:
description: 'Directory prefix for file paths.' description: Directory prefix for file paths.
required: false required: false
pattern: pattern:
description: 'Glob pattern to match files (default: *.js).' description: 'Glob pattern to match files (default: *.js).'
@ -36,7 +36,7 @@ inputs:
branch: branch:
description: 'Branch in Screeps to which the code will be uploaded (default: default).' description: 'Branch in Screeps to which the code will be uploaded (default: default).'
required: false required: false
default: 'default' default: default
runs: runs:
using: 'node12' using: node12
main: 'index.js' main: index.js

View File

@ -1,8 +1,8 @@
const { ScreepsAPI } = require('screeps-api'); const { ScreepsAPI } = require("screeps-api");
const core = require("@actions/core"); const core = require("@actions/core");
const fs = require('fs'); const fs = require("fs");
const glob = require('glob'); const glob = require("glob");
const path = require('path'); const path = require("path");
/** /**
* Reads files matching a glob pattern into a dictionary. * Reads files matching a glob pattern into a dictionary.
@ -23,9 +23,8 @@ function readFilesIntoDict(pattern, prefix) {
let fileDict = {}; let fileDict = {};
let readPromises = []; let readPromises = [];
files.forEach(file => { files.forEach((file) => {
let readPromise = fs.promises.readFile(file, 'utf8') let readPromise = fs.promises.readFile(file, "utf8").then((content) => {
.then(content => {
// Remove the prefix from the filename and drop the file suffix // Remove the prefix from the filename and drop the file suffix
let key = file; let key = file;
if (prefix && file.startsWith(prefix)) { if (prefix && file.startsWith(prefix)) {
@ -91,24 +90,24 @@ async function postCode() {
const files_to_push = await readFilesIntoDict(pattern, prefix); const files_to_push = await readFilesIntoDict(pattern, prefix);
Object.keys(files_to_push).forEach(key => { Object.keys(files_to_push).forEach((key) => {
core.info(`Key: ${key}`); core.info(`Key: ${key}`);
}); });
core.info(files_to_push); core.info(files_to_push);
const login_arguments = { const login_arguments = {
"token": token, token: token,
"username": username, username: username,
"password": password, password: password,
"protocol": protocol, protocol: protocol,
"hostname": hostname, hostname: hostname,
"port": port, port: port,
"path": path, path: path,
}; };
core.info(`Trying to upload the following files to ${branch}:`) core.info(`Trying to upload the following files to ${branch}:`);
Object.keys(login_arguments).forEach(key => { Object.keys(login_arguments).forEach((key) => {
core.info(`Key: ${key}`); core.info(`Key: ${key}`);
}); });