50 lines
1.6 KiB
JavaScript
50 lines
1.6 KiB
JavaScript
const core = require("@actions/core");
|
|
|
|
|
|
function parseVersion(str){
|
|
if (typeof(str) != 'string') { return false; }
|
|
|
|
var arr = str.split('.');
|
|
|
|
// parse int or default to 0
|
|
var maj = parseInt(arr[0]) || 0;
|
|
var min = parseInt(arr[1]) || 0;
|
|
var patch = parseInt(arr[2]) || 0;
|
|
return {
|
|
major: maj,
|
|
minor: min,
|
|
patch: patch
|
|
}
|
|
}
|
|
|
|
|
|
async function increase_version_part(url, version, version_part) {
|
|
while (True) {
|
|
let url_with_version = "";
|
|
if (url_with_version == url) {
|
|
throw new Error('The url does not contain an {{VERSION}} marker!');
|
|
}
|
|
results = fetch(url)
|
|
if (results.status == 200) {
|
|
version_part = parseVersion(test_vor_existence)
|
|
if (version_type == "minor") {
|
|
test_vor_existence = `${existing_version.major}.${existing_version.minor + 1}.0`
|
|
} else if (version_part == "micro") {
|
|
test_vor_existence = `${existing_version.major}.${existing_version.minor}.${existing_version.micro + 1}`
|
|
} else {
|
|
throw new Error('The url does not contain an {{VERSION}} marker!');
|
|
}
|
|
} else {
|
|
return `${existing_version.major}.${existing_version.minor}.${existing_version.micro}`
|
|
}
|
|
}
|
|
}
|
|
|
|
async function increase_version() {
|
|
let url="https://dl.gitea.com/act_runner/{{VERSION}}/act_runner-{{VERSION}}-linux-arm-7"
|
|
let version = "0.1.1"
|
|
let minor = increase_version_part(url, version, version_part="minor")
|
|
return str(increase_version_part(url, minor, version_part="micro"))
|
|
}
|
|
|
|
increase_version() |