Skip to content

Commit

Permalink
finally finish this
Browse files Browse the repository at this point in the history
Signed-off-by: IThundxr <[email protected]>
  • Loading branch information
IThundxr committed Jul 26, 2023
1 parent 66ca4bc commit 83dcf94
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 17 deletions.
1 change: 0 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import 'dotenv/config';
import commandHandler from './handlers/command.handler';
import { logHandler } from './handlers/log.handler';
import './webserver';
import { green } from 'colorette';

export const client = new Client({
intents: [
Expand Down
61 changes: 45 additions & 16 deletions src/webserver/github.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ const actionStart = async (client: Client, req: Request) => {
const unix_started_at = Math.floor(
Date.parse(workflow_run.run_started_at) / 1000
);
const run_number = await getRunNumber(workflow_run.url);
const version = await getVersion(workflow_run.url);
const version = await getVersion(workflow_run.url, workflow_run.run_number);

const commitString = generateCommitsString(workflow_run.head_sha);

Expand All @@ -72,7 +71,7 @@ const actionStart = async (client: Client, req: Request) => {
})
.setDescription(
`## Build <t:${unix_started_at}:R>
Status: Build is running for **#${run_number}** ${process.env.LOADING_EMOJI}
Status: Build is running for **#${workflow_run.run_number}** ${process.env.LOADING_EMOJI}
Version: ${version}
${commitString}
`
Expand Down Expand Up @@ -100,8 +99,7 @@ const actionCompleted = async (client: Client, req: Request) => {
const unix_started_at = Math.floor(
Date.parse(workflow_run.run_started_at) / 1000
);
const run_number = await getRunNumber(workflow_run.url);
const version = await getVersion(workflow_run.url);
const version = await getVersion(workflow_run.url, workflow_run.run_number);

const status =
workflow_run.conclusion === 'success'
Expand Down Expand Up @@ -134,7 +132,7 @@ const actionCompleted = async (client: Client, req: Request) => {
})
.setDescription(
`## Build <t:${unix_started_at}:R>
Status: **${status} #${run_number}** in ${timeTaken}
Status: **${status} #${workflow_run.run_number}** in ${timeTaken}
Version: ${version}
${commitString}
`
Expand All @@ -146,14 +144,25 @@ const actionCompleted = async (client: Client, req: Request) => {
.setColor(statusColor);

if (workflow_run.conclusion == 'success') {
const mod_version = await getRawVersion(workflow_run.url, 'mod');
const minecraft_version = await getRawVersion(
workflow_run.url,
'minecraft'
);

const versionFabric = `${mod_version}+fabric-mc${minecraft_version}-build.${workflow_run.run_number}`;
const versionForge = `${mod_version}+forge-mc${minecraft_version}-build.${workflow_run.run_number}`;
const fabricJar = `${process.env.MAVEN_REPO}${versionFabric}/Steam_Rails-${versionFabric}.jar`;
const forgeJar = `${process.env.MAVEN_REPO}${versionForge}/Steam_Rails-${versionForge}.jar`;

const fabricButton = new ButtonBuilder()
.setStyle(ButtonStyle.Link)
.setLabel('Fabric')
.setURL(`${process.env.MAVEN_REPO}`);
.setURL(fabricJar);
const forgeButton = new ButtonBuilder()
.setStyle(ButtonStyle.Link)
.setLabel('Forge')
.setURL(`${process.env.MAVEN_REPO}`);
.setURL(forgeJar);

const actionRow = new ActionRowBuilder<ButtonBuilder>().addComponents(
fabricButton,
Expand Down Expand Up @@ -197,13 +206,30 @@ const getTimeTaken = (time: number) => {
return timeTaken;
};

const getRunNumber = async (url: URL) => {
const request = await fetch(url);
const data = await request.json();
return data.run_number;
const getVersion = async (apiurl: URL, run_number: string) => {
const runDataRequest = await fetch(apiurl);
const runData = await runDataRequest.json();

const request = await fetch(
`https://raw.githubusercontent.com/${runData.repository.full_name}/${runData.head_commit.id}/gradle.properties`
);
const data = await request.text();

const lines = data.split('\n');
const modVersionLine = lines.find((line) => line.startsWith('mod_version'));
const minecraftVersionLine = lines.find((line) =>
line.startsWith('minecraft_version')
);
if (modVersionLine && minecraftVersionLine) {
const modVersion = modVersionLine.split('=')[1].trim();
const minecraftVersion = minecraftVersionLine.split('=')[1].trim();
return `${modVersion}-mc${minecraftVersion}.${run_number}`;
} else {
return "Couldn't find version";
}
};

const getVersion = async (apiurl: URL) => {
const getRawVersion = async (apiurl: URL, type: string) => {
const runDataRequest = await fetch(apiurl);
const runData = await runDataRequest.json();

Expand All @@ -220,9 +246,12 @@ const getVersion = async (apiurl: URL) => {
if (modVersionLine && minecraftVersionLine) {
const modVersion = modVersionLine.split('=')[1].trim();
const minecraftVersion = minecraftVersionLine.split('=')[1].trim();
return `${modVersion}-mc${minecraftVersion}.${await getRunNumber(
apiurl
)}`;
if (type == 'mod') {
return modVersion;
} else if (type == 'minecraft') {
return minecraftVersion;
}
return "Couldn't find version";
} else {
return "Couldn't find version";
}
Expand Down

0 comments on commit 83dcf94

Please sign in to comment.