modded7/tools/tasks/misc/releaseCommit.ts

238 lines
7.9 KiB
TypeScript
Raw Normal View History

New Buildscript (#434) /* Category: */ [INTERNAL] /* Fixup for previous commits' bad syntax: */ [FIXUP] [[fixes]] sha = "4f966073890315ae0eb103b6011cdac7e6e960c0" newTitle = "Update GregTech CEu to v2.7.4" newBody = """ [COMBINE] commits = ["bd58b9072f45d647734ae66168cbd27bf9b2f220"] [COMBINE] """ [[fixes]] sha = "bd58b9072f45d647734ae66168cbd27bf9b2f220" newTitle = "Update GT and Related Mods for 1.7" newBody = """ [EXPAND] [[messages]] messageTitle = \"Update GT to 2.7.4\" messageBody = \"\"\" [BREAKING] [DETAILS] details = [ \\"**Lots of Recipes have been moved to the Assembly Line, and now require Assembly Line Research.**\\", \\"Adds Assembly Line Research\\", \\"Adds ME Hatches and Buses, for combining Multiblocks with AE Networks\\", \\"Adds EU Multiblock Power Storage\\", \\"Adds Multiblock Transformer and Laser Power Transfer\\", \\"Adds Long Distance Pipes\\", \\"Reworked & Improved Multiblock UIs\\", \\"Creating Waypoints in the Prospector\\", \\"Fixing many bugs\\", \\"And many more!\\" ] [DETAILS] \"\"\" [EXPAND] """ [[fixes]] sha = "1a40bd87f9c648429059c77a90470e55e0e39c5e" newTitle = "Update QB Jsons and Lang" newBody = "[SKIP]" [[fixes]] sha = "bcae6f4eebf5616766edcc3e735df7cbf6276440" newTitle = "Russian Content Tweaker Translation (#429)" newBody = "[FEATURE]" [[fixes]] sha = "ca64e658083d5ff41f15ce37fe817842018031d3" newTitle = "Update NAE2 to v1.3.1 (#424)" newBody = "[BUG]" [[fixes]] sha = "1a35ae82d9830c5444c5634d93268e3b857f07bd" newTitle = "Fix Description of The First Tier Two Circuits Quest" newBody = "[QB]" [[fixes]] sha = "c66f5428818e02051b77d84fa01792bf2a6d9dcf" newTitle = "Make Neeve Quest Ignore NBT" newBody = "[QB]" [[fixes]] sha = "5b5d13710abe0f96c41ba4a3505969c0a98e23bc" newTitle = "Update and Rewrite Mixer Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "342d988e322a45e0d141227c9aa34ec8e53663e7" newTitle = "Remove Mention of HV Batteries in Iron Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "d037ee5f466cec066fac1d14a762a377426a032d" newTitle = "Remove Reward for Bending Machine Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "03d61c8d5fbaa0439fc823b5aef3a4859b17a444" newTitle = "Move Multiblock Machine Previews Quest" newBody = """ [QB] [DETAILS] details = [\"Moved From `The Beginning` to `Genesis`\"] [DETAILS] """ [[fixes]] sha = "a52b91d97ac6849fe74623e3cc08362eb3ad99fa" newTitle = "Change Mold Quest Task from Ball Mold -> Rotor Mold" newBody = "[QB]\n[HM]" [[fixes]] sha = "fcb48d4bc9f27058c6a2dcca7bf813f3d7f6a6d9" newTitle = "Mention how to Mute Machines in Steam Machines Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "f59eecad41745f65348da88a3f4c057300459782" newTitle = "Adjust Steam Dynamo Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "02eaf67bd168eb11a7a71f4d346eb591841d0af3" newTitle = "Specify that Alloy Smelter is used to make Rubber Sheets" newBody = "[QB]\n[HM]" [[fixes]] sha = "a988d2df30e4d01b973870cc85350962a9125f5c" newTitle = "Fix Grammar Errors in 'From Ingots to Wires' Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "8df9f6e3180323946cc6553cd0fb5e1e96f0ac03" newTitle = "Add Molds Quest to Genesis, Make Glass Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "5d51fda1c6740edc5021657f90f6ecd1de954d29" newTitle = "Make Drawer Quest Accept Either Task" newBody = "[QB]\n[HM]" [[fixes]] sha = "a02ef21fbae24df59e5fa9a5ef4640752baf835f" newTitle = "New Data Textures (#419)" newBody = "[FEATURE]" [[fixes]] sha = "758f7e704ca8b13031f7ca859e6bc9c0f0a9e786" newTitle = "Fix DML Multiblock Recipes" newBody = "[BUG]" [[fixes]] sha = "5671bca7fe7b685ac3495ef2497c3711a0baa2a0" newTitle = "Improve Mac/Linux Pack Mode Switcher" newBody = "[INTERNAL]" [[fixes]] sha = "5538fe4524dcb0b64a333b756bfeeec34e12661c" newTitle = "Enable shufflemode on main menu (#414)" newBody = "[FEATURE]" [[fixes]] sha = "644491a9f53c0ee300dbaf345f23e5b3f08b3c8a" newTitle = "Release 1.6.1a" newBody = "[NO CATEGORY]" [FIXUP] /* Description: */ TODO: - [x] Changelog Generation - [x] Decomp Expand - [x] Decomp Details - [x] Add Commit Details to Mod Changes - [x] Allow changing of dir - [x] Catch parsing errors - [x] Move to TOML instead of YAML - [x] GHA Workflows - [x] Split workflows into called and callers (See https://docs.github.com/en/actions/using-workflows/reusing-workflows) - [x] Create workflow to generate Release Commit + Changelog, changelog in another branch - [x] Create workflow to grab Changelog from another branch, then deploy - [x] Create workflow to combine previous two - [x] Create workflow to test new commits' body syntax - [x] Split workflows into jobs - [x] Cleanup Code - [x] Split code into multiple files - [x] Document Code (JS Docs) - [x] CONTRIBUTING.md Documentation on workflows, and on templates - [x] Remove changelog files New TODO: - [x] Make workflow to update modlist - [x] Add modlist updating to release commit workflow, split into jobs - [x] https://discord.com/channels/927050775073534012/1131899853052575785/1162897825173086299 - [ ] Update Documentation /* Commits: */ * Create releasecommit.yml * Update releasecommit.yml * Update setup-node & various tasks to v3, improve .gitignore * Working method to add version to Issue Templates Produces weird artifacts... * Revert "Working method to add version to Issue Templates" This reverts commit f63480e2eba4b8ef5269ebc0a26cebd146fbe45e. * WIP method to update release content, using templates * Finish Release Commit Npx Gulp Task * Update Files * Allow for non-release commits * Actually update version.txt * Remove unneded env in updateqb.yml * Fix releasecommit.yml * Remove random patches config file transforming in `version.ts` * Remove note about regex * Add tag to release commits * Allow changelog task to compare with any commit, seperate changelog task * Add generation for CF changelog, begin detailed changelog * Add new formatted commitList * test change to CHANGELOG.md * Fix HTML file formatting; test new MD file formatting * Another HTML File formatting fix * New formatting logic * cleanup quest transform npx task * Cleanup * Progress * Small Fixes * Fix formatting * Fix commits appearing twice * Changelog Categories * Remove Tags from Commit Messages * New Storage System for ChangelogSections * Fix Formatting * Progress of version info for changed mods * Allow external deps * Cleanup Version, Fix Crash, temp change compare to 1.5.2...1.6 * Cleanup code * Cleanup Code, use templates instead of ifs * Expand Decomp, fix some commits not being added * Testing time * What the changelog looks like * Test * Sort logs, with newest on top. Sort Commit Log * Transform markdown entries into HTML at end * Remove section matter npm package * Test * Update changelog * Test nested Details * update changelog files * Begin Commit SHAs of Mod Changes Section Just need to add support, in formatting funct, for multi commits * Test new formatting * Formatting Test * Allow for multi commits in changelog messages * Fix not showing multi commits * Fix formatting * formatting * Add Performance Category * Remove debug messages + date in changelog messages * sort multi authors * Allow for commits to go in multi categories * Start Cleanup Code * Allow changing of output dir * More Cleanup + Create Post 1.7 Version * Catch parsing errors of manifest.json View the magical changelog, from the first file commit, to this commit! * Catch errors in Expand Task, more cleanup * Catch parsing errors in Details task * Make UpdateQB Task not return an error if no changes * Remove Comma Expressions * Catch edge case parsing errors, improve error descriptions * Cleanup parsing errors code, display original body * TOML Test * TOML * Delete test.txt * Update Post 1.7 Version * Test no error qb task * Test * cleanup updateqb.yml * Formatting * Update Changelogs (after rebase to TOML syntax) * Fix Deploy GH Task * Remove uneeded code * Allow for fetching/making changelog in build task * Fix Changelog Fetching * Change Changelog Output Dir to build root dir * Add new features to Github Release Task * Combine Version & GitHub_TAG * Create GHA files, improve TS code (#446) * Setup Action * test * test again * Update releasecommit.yml * Move setup.yml * Update releasecommit.yml * Update releasecommit.yml * Update setup.yml * Update releasecommit.yml * Update deploygh.yml * Delete .github/workflows/setup.yml * Create build-pack.yml * Update build-pack.yml * test * Update build-pack.yml * more test * Stupid me using download job for upload * more testing... * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Create build-pack-manual.yml * Move file * Revert "Move file" This reverts commit 506a523aed2d5d8af21094b943aa2b7e2b7ee688. * Update build-pack-manual.yml * Update build-pack-manual.yml * Create deploy.yml * Delete .github/workflows/deploygh.yml * Rename deploy.yml to deploygh.yml * Update deploygh.yml * Create deploy.yml * Update deploy.yml * Update deploy.yml * Update deploy.yml * Update deploygh.yml * Remove debug logging * Update build-pack.yml * Delete .github/workflows/build-pack-manual.yml * Update deploygh.yml * Update build-pack.yml * Update deploy.yml * Update deploygh.yml * Update deploygh.yml * Update build-pack.yml * Update build-pack.yml * Update deploy.yml * Update build-pack.yml * Update deploygh.yml * Update deploy.yml * Update releasecommit.yml * Release 5.0 * Update releasecommit.yml * Release 6.0 * Update Issue, Server and RP Config Files from Templates * Update releasecommit.yml * Release 7.0 * Add release title in changelog, remove more code * Add link to full changelog, format release name * Release 7.1 * Update deploy.yml * Alpha Release 7.2 * Fix tags excaping, improve full changelog * Release 7.3 * Add to CF Release, Cleanup Code * Delete .github/workflows/deploycfrc.yml * Update deploycf.yml * Update deploy.yml * Update gulpfile * Alpha Release 8.0-alpha-1 * Update deploycf.yml * Update deploycf.yml * Fix Curseforge Changelog * Beta Release 8.0-beta-2 * Update releasecommit.yml * Rename build-pack.yml to buildpack.yml * Update deploy.yml * Add CF redirect * Fix existing version detection * Create releasedeploy.yml * Update releasedeploy.yml * Update releasedeploy.yml * Release 8.0 * Update releasedeploy.yml * Create test.yml * Delete .github/workflows/test.yml * Create makechangelog.yml * Update makechangelog.yml * Update and rename makechangelog.yml to createchangelog.yml * Rename: MakeChangelog -> CreateChangelog * Update createchangelog.yml * Create releasechangelog.yml * Update releasechangelog.yml * Update createchangelog.yml * Beta Release 9.0-beta-1 * Release 9.0 * Release 9.1 * Update releasechangelog.yml * Alpha Release 9.1-alpha-1 * Remove extra versions * Fix more changed version numbers * Update Issue, Server and RP Config Files from Templates * Update versions.txt * Update Issue, Server and RP Config Files from Templates * Update Post 1.7 Version * Start writing more in CONTRIBUTING * Add basic Table Of Contents structure, qb contributing * test * Fix wrong html tag * Final Formatting * Script contributing information + cleanup * More Contribution Information * Begin Maintainer Information * Improve documentation, make submessages not include author/sha * Finish Changelog Workflow Documentation * Create structure * Write section for create release commit workflow * Provide a overview table of all keys * Documentation on Deploy Task * Artifacts information + start build pack documentation * test new way to center elements * Allow for Cutting Edge Build in build task * Actually use release_type input in build task * Finish Contributing information * Remove changelog files * JS documentation * MMC zips + allow for build pack task to upload seperately * test * test selective artifact method, allow for selectively deploying * Finish Buildscript (#457) * mention contributing stuff in wiki * Transform PR Tags in Message into links
2023-10-20 11:00:55 +11:00
import fs from "fs";
import upath from "upath";
import { configFolder, configOverridesFolder, rootDirectory, templatesFolder } from "../../globals";
import mustache from "mustache";
import gulp from "gulp";
import dedent from "dedent-js";
import { checkEnvironmentalVariables } from "../../util/util";
import sortedStringify from "json-stable-stringify-without-jsonify";
import log, { error } from "fancy-log";
New Buildscript (#434) /* Category: */ [INTERNAL] /* Fixup for previous commits' bad syntax: */ [FIXUP] [[fixes]] sha = "4f966073890315ae0eb103b6011cdac7e6e960c0" newTitle = "Update GregTech CEu to v2.7.4" newBody = """ [COMBINE] commits = ["bd58b9072f45d647734ae66168cbd27bf9b2f220"] [COMBINE] """ [[fixes]] sha = "bd58b9072f45d647734ae66168cbd27bf9b2f220" newTitle = "Update GT and Related Mods for 1.7" newBody = """ [EXPAND] [[messages]] messageTitle = \"Update GT to 2.7.4\" messageBody = \"\"\" [BREAKING] [DETAILS] details = [ \\"**Lots of Recipes have been moved to the Assembly Line, and now require Assembly Line Research.**\\", \\"Adds Assembly Line Research\\", \\"Adds ME Hatches and Buses, for combining Multiblocks with AE Networks\\", \\"Adds EU Multiblock Power Storage\\", \\"Adds Multiblock Transformer and Laser Power Transfer\\", \\"Adds Long Distance Pipes\\", \\"Reworked & Improved Multiblock UIs\\", \\"Creating Waypoints in the Prospector\\", \\"Fixing many bugs\\", \\"And many more!\\" ] [DETAILS] \"\"\" [EXPAND] """ [[fixes]] sha = "1a40bd87f9c648429059c77a90470e55e0e39c5e" newTitle = "Update QB Jsons and Lang" newBody = "[SKIP]" [[fixes]] sha = "bcae6f4eebf5616766edcc3e735df7cbf6276440" newTitle = "Russian Content Tweaker Translation (#429)" newBody = "[FEATURE]" [[fixes]] sha = "ca64e658083d5ff41f15ce37fe817842018031d3" newTitle = "Update NAE2 to v1.3.1 (#424)" newBody = "[BUG]" [[fixes]] sha = "1a35ae82d9830c5444c5634d93268e3b857f07bd" newTitle = "Fix Description of The First Tier Two Circuits Quest" newBody = "[QB]" [[fixes]] sha = "c66f5428818e02051b77d84fa01792bf2a6d9dcf" newTitle = "Make Neeve Quest Ignore NBT" newBody = "[QB]" [[fixes]] sha = "5b5d13710abe0f96c41ba4a3505969c0a98e23bc" newTitle = "Update and Rewrite Mixer Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "342d988e322a45e0d141227c9aa34ec8e53663e7" newTitle = "Remove Mention of HV Batteries in Iron Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "d037ee5f466cec066fac1d14a762a377426a032d" newTitle = "Remove Reward for Bending Machine Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "03d61c8d5fbaa0439fc823b5aef3a4859b17a444" newTitle = "Move Multiblock Machine Previews Quest" newBody = """ [QB] [DETAILS] details = [\"Moved From `The Beginning` to `Genesis`\"] [DETAILS] """ [[fixes]] sha = "a52b91d97ac6849fe74623e3cc08362eb3ad99fa" newTitle = "Change Mold Quest Task from Ball Mold -> Rotor Mold" newBody = "[QB]\n[HM]" [[fixes]] sha = "fcb48d4bc9f27058c6a2dcca7bf813f3d7f6a6d9" newTitle = "Mention how to Mute Machines in Steam Machines Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "f59eecad41745f65348da88a3f4c057300459782" newTitle = "Adjust Steam Dynamo Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "02eaf67bd168eb11a7a71f4d346eb591841d0af3" newTitle = "Specify that Alloy Smelter is used to make Rubber Sheets" newBody = "[QB]\n[HM]" [[fixes]] sha = "a988d2df30e4d01b973870cc85350962a9125f5c" newTitle = "Fix Grammar Errors in 'From Ingots to Wires' Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "8df9f6e3180323946cc6553cd0fb5e1e96f0ac03" newTitle = "Add Molds Quest to Genesis, Make Glass Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "5d51fda1c6740edc5021657f90f6ecd1de954d29" newTitle = "Make Drawer Quest Accept Either Task" newBody = "[QB]\n[HM]" [[fixes]] sha = "a02ef21fbae24df59e5fa9a5ef4640752baf835f" newTitle = "New Data Textures (#419)" newBody = "[FEATURE]" [[fixes]] sha = "758f7e704ca8b13031f7ca859e6bc9c0f0a9e786" newTitle = "Fix DML Multiblock Recipes" newBody = "[BUG]" [[fixes]] sha = "5671bca7fe7b685ac3495ef2497c3711a0baa2a0" newTitle = "Improve Mac/Linux Pack Mode Switcher" newBody = "[INTERNAL]" [[fixes]] sha = "5538fe4524dcb0b64a333b756bfeeec34e12661c" newTitle = "Enable shufflemode on main menu (#414)" newBody = "[FEATURE]" [[fixes]] sha = "644491a9f53c0ee300dbaf345f23e5b3f08b3c8a" newTitle = "Release 1.6.1a" newBody = "[NO CATEGORY]" [FIXUP] /* Description: */ TODO: - [x] Changelog Generation - [x] Decomp Expand - [x] Decomp Details - [x] Add Commit Details to Mod Changes - [x] Allow changing of dir - [x] Catch parsing errors - [x] Move to TOML instead of YAML - [x] GHA Workflows - [x] Split workflows into called and callers (See https://docs.github.com/en/actions/using-workflows/reusing-workflows) - [x] Create workflow to generate Release Commit + Changelog, changelog in another branch - [x] Create workflow to grab Changelog from another branch, then deploy - [x] Create workflow to combine previous two - [x] Create workflow to test new commits' body syntax - [x] Split workflows into jobs - [x] Cleanup Code - [x] Split code into multiple files - [x] Document Code (JS Docs) - [x] CONTRIBUTING.md Documentation on workflows, and on templates - [x] Remove changelog files New TODO: - [x] Make workflow to update modlist - [x] Add modlist updating to release commit workflow, split into jobs - [x] https://discord.com/channels/927050775073534012/1131899853052575785/1162897825173086299 - [ ] Update Documentation /* Commits: */ * Create releasecommit.yml * Update releasecommit.yml * Update setup-node & various tasks to v3, improve .gitignore * Working method to add version to Issue Templates Produces weird artifacts... * Revert "Working method to add version to Issue Templates" This reverts commit f63480e2eba4b8ef5269ebc0a26cebd146fbe45e. * WIP method to update release content, using templates * Finish Release Commit Npx Gulp Task * Update Files * Allow for non-release commits * Actually update version.txt * Remove unneded env in updateqb.yml * Fix releasecommit.yml * Remove random patches config file transforming in `version.ts` * Remove note about regex * Add tag to release commits * Allow changelog task to compare with any commit, seperate changelog task * Add generation for CF changelog, begin detailed changelog * Add new formatted commitList * test change to CHANGELOG.md * Fix HTML file formatting; test new MD file formatting * Another HTML File formatting fix * New formatting logic * cleanup quest transform npx task * Cleanup * Progress * Small Fixes * Fix formatting * Fix commits appearing twice * Changelog Categories * Remove Tags from Commit Messages * New Storage System for ChangelogSections * Fix Formatting * Progress of version info for changed mods * Allow external deps * Cleanup Version, Fix Crash, temp change compare to 1.5.2...1.6 * Cleanup code * Cleanup Code, use templates instead of ifs * Expand Decomp, fix some commits not being added * Testing time * What the changelog looks like * Test * Sort logs, with newest on top. Sort Commit Log * Transform markdown entries into HTML at end * Remove section matter npm package * Test * Update changelog * Test nested Details * update changelog files * Begin Commit SHAs of Mod Changes Section Just need to add support, in formatting funct, for multi commits * Test new formatting * Formatting Test * Allow for multi commits in changelog messages * Fix not showing multi commits * Fix formatting * formatting * Add Performance Category * Remove debug messages + date in changelog messages * sort multi authors * Allow for commits to go in multi categories * Start Cleanup Code * Allow changing of output dir * More Cleanup + Create Post 1.7 Version * Catch parsing errors of manifest.json View the magical changelog, from the first file commit, to this commit! * Catch errors in Expand Task, more cleanup * Catch parsing errors in Details task * Make UpdateQB Task not return an error if no changes * Remove Comma Expressions * Catch edge case parsing errors, improve error descriptions * Cleanup parsing errors code, display original body * TOML Test * TOML * Delete test.txt * Update Post 1.7 Version * Test no error qb task * Test * cleanup updateqb.yml * Formatting * Update Changelogs (after rebase to TOML syntax) * Fix Deploy GH Task * Remove uneeded code * Allow for fetching/making changelog in build task * Fix Changelog Fetching * Change Changelog Output Dir to build root dir * Add new features to Github Release Task * Combine Version & GitHub_TAG * Create GHA files, improve TS code (#446) * Setup Action * test * test again * Update releasecommit.yml * Move setup.yml * Update releasecommit.yml * Update releasecommit.yml * Update setup.yml * Update releasecommit.yml * Update deploygh.yml * Delete .github/workflows/setup.yml * Create build-pack.yml * Update build-pack.yml * test * Update build-pack.yml * more test * Stupid me using download job for upload * more testing... * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Create build-pack-manual.yml * Move file * Revert "Move file" This reverts commit 506a523aed2d5d8af21094b943aa2b7e2b7ee688. * Update build-pack-manual.yml * Update build-pack-manual.yml * Create deploy.yml * Delete .github/workflows/deploygh.yml * Rename deploy.yml to deploygh.yml * Update deploygh.yml * Create deploy.yml * Update deploy.yml * Update deploy.yml * Update deploy.yml * Update deploygh.yml * Remove debug logging * Update build-pack.yml * Delete .github/workflows/build-pack-manual.yml * Update deploygh.yml * Update build-pack.yml * Update deploy.yml * Update deploygh.yml * Update deploygh.yml * Update build-pack.yml * Update build-pack.yml * Update deploy.yml * Update build-pack.yml * Update deploygh.yml * Update deploy.yml * Update releasecommit.yml * Release 5.0 * Update releasecommit.yml * Release 6.0 * Update Issue, Server and RP Config Files from Templates * Update releasecommit.yml * Release 7.0 * Add release title in changelog, remove more code * Add link to full changelog, format release name * Release 7.1 * Update deploy.yml * Alpha Release 7.2 * Fix tags excaping, improve full changelog * Release 7.3 * Add to CF Release, Cleanup Code * Delete .github/workflows/deploycfrc.yml * Update deploycf.yml * Update deploy.yml * Update gulpfile * Alpha Release 8.0-alpha-1 * Update deploycf.yml * Update deploycf.yml * Fix Curseforge Changelog * Beta Release 8.0-beta-2 * Update releasecommit.yml * Rename build-pack.yml to buildpack.yml * Update deploy.yml * Add CF redirect * Fix existing version detection * Create releasedeploy.yml * Update releasedeploy.yml * Update releasedeploy.yml * Release 8.0 * Update releasedeploy.yml * Create test.yml * Delete .github/workflows/test.yml * Create makechangelog.yml * Update makechangelog.yml * Update and rename makechangelog.yml to createchangelog.yml * Rename: MakeChangelog -> CreateChangelog * Update createchangelog.yml * Create releasechangelog.yml * Update releasechangelog.yml * Update createchangelog.yml * Beta Release 9.0-beta-1 * Release 9.0 * Release 9.1 * Update releasechangelog.yml * Alpha Release 9.1-alpha-1 * Remove extra versions * Fix more changed version numbers * Update Issue, Server and RP Config Files from Templates * Update versions.txt * Update Issue, Server and RP Config Files from Templates * Update Post 1.7 Version * Start writing more in CONTRIBUTING * Add basic Table Of Contents structure, qb contributing * test * Fix wrong html tag * Final Formatting * Script contributing information + cleanup * More Contribution Information * Begin Maintainer Information * Improve documentation, make submessages not include author/sha * Finish Changelog Workflow Documentation * Create structure * Write section for create release commit workflow * Provide a overview table of all keys * Documentation on Deploy Task * Artifacts information + start build pack documentation * test new way to center elements * Allow for Cutting Edge Build in build task * Actually use release_type input in build task * Finish Contributing information * Remove changelog files * JS documentation * MMC zips + allow for build pack task to upload seperately * test * test selective artifact method, allow for selectively deploying * Finish Buildscript (#457) * mention contributing stuff in wiki * Transform PR Tags in Message into links
2023-10-20 11:00:55 +11:00
// This updates all the files, for a release.
// IF DEBUGGING:
// Change debug value to true
// Change version to a string
const debug = false;
const version: string = process.env.VERSION;
// If it is not a release, and thus no changes to versions need to be made.
// This occurs when the files are to be updated from the templates outside of a release.
// Optional variable to set.
let notRelease = false;
/**
* Checks if env variable are set, creates versions.txt if file does not exist, and checks if new version already exists in versions.txt.
*/
export async function check(): Promise<void> {
if (!debug) {
checkEnvironmentalVariables(["VERSION"]);
}
const versionsFilePath: string = upath.join(templatesFolder, "versions.txt");
if (notRelease) {
log("Detected that this is not a release commit.");
log("Version info will not change, but the files will be updated from the template.");
New Buildscript (#434) /* Category: */ [INTERNAL] /* Fixup for previous commits' bad syntax: */ [FIXUP] [[fixes]] sha = "4f966073890315ae0eb103b6011cdac7e6e960c0" newTitle = "Update GregTech CEu to v2.7.4" newBody = """ [COMBINE] commits = ["bd58b9072f45d647734ae66168cbd27bf9b2f220"] [COMBINE] """ [[fixes]] sha = "bd58b9072f45d647734ae66168cbd27bf9b2f220" newTitle = "Update GT and Related Mods for 1.7" newBody = """ [EXPAND] [[messages]] messageTitle = \"Update GT to 2.7.4\" messageBody = \"\"\" [BREAKING] [DETAILS] details = [ \\"**Lots of Recipes have been moved to the Assembly Line, and now require Assembly Line Research.**\\", \\"Adds Assembly Line Research\\", \\"Adds ME Hatches and Buses, for combining Multiblocks with AE Networks\\", \\"Adds EU Multiblock Power Storage\\", \\"Adds Multiblock Transformer and Laser Power Transfer\\", \\"Adds Long Distance Pipes\\", \\"Reworked & Improved Multiblock UIs\\", \\"Creating Waypoints in the Prospector\\", \\"Fixing many bugs\\", \\"And many more!\\" ] [DETAILS] \"\"\" [EXPAND] """ [[fixes]] sha = "1a40bd87f9c648429059c77a90470e55e0e39c5e" newTitle = "Update QB Jsons and Lang" newBody = "[SKIP]" [[fixes]] sha = "bcae6f4eebf5616766edcc3e735df7cbf6276440" newTitle = "Russian Content Tweaker Translation (#429)" newBody = "[FEATURE]" [[fixes]] sha = "ca64e658083d5ff41f15ce37fe817842018031d3" newTitle = "Update NAE2 to v1.3.1 (#424)" newBody = "[BUG]" [[fixes]] sha = "1a35ae82d9830c5444c5634d93268e3b857f07bd" newTitle = "Fix Description of The First Tier Two Circuits Quest" newBody = "[QB]" [[fixes]] sha = "c66f5428818e02051b77d84fa01792bf2a6d9dcf" newTitle = "Make Neeve Quest Ignore NBT" newBody = "[QB]" [[fixes]] sha = "5b5d13710abe0f96c41ba4a3505969c0a98e23bc" newTitle = "Update and Rewrite Mixer Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "342d988e322a45e0d141227c9aa34ec8e53663e7" newTitle = "Remove Mention of HV Batteries in Iron Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "d037ee5f466cec066fac1d14a762a377426a032d" newTitle = "Remove Reward for Bending Machine Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "03d61c8d5fbaa0439fc823b5aef3a4859b17a444" newTitle = "Move Multiblock Machine Previews Quest" newBody = """ [QB] [DETAILS] details = [\"Moved From `The Beginning` to `Genesis`\"] [DETAILS] """ [[fixes]] sha = "a52b91d97ac6849fe74623e3cc08362eb3ad99fa" newTitle = "Change Mold Quest Task from Ball Mold -> Rotor Mold" newBody = "[QB]\n[HM]" [[fixes]] sha = "fcb48d4bc9f27058c6a2dcca7bf813f3d7f6a6d9" newTitle = "Mention how to Mute Machines in Steam Machines Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "f59eecad41745f65348da88a3f4c057300459782" newTitle = "Adjust Steam Dynamo Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "02eaf67bd168eb11a7a71f4d346eb591841d0af3" newTitle = "Specify that Alloy Smelter is used to make Rubber Sheets" newBody = "[QB]\n[HM]" [[fixes]] sha = "a988d2df30e4d01b973870cc85350962a9125f5c" newTitle = "Fix Grammar Errors in 'From Ingots to Wires' Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "8df9f6e3180323946cc6553cd0fb5e1e96f0ac03" newTitle = "Add Molds Quest to Genesis, Make Glass Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "5d51fda1c6740edc5021657f90f6ecd1de954d29" newTitle = "Make Drawer Quest Accept Either Task" newBody = "[QB]\n[HM]" [[fixes]] sha = "a02ef21fbae24df59e5fa9a5ef4640752baf835f" newTitle = "New Data Textures (#419)" newBody = "[FEATURE]" [[fixes]] sha = "758f7e704ca8b13031f7ca859e6bc9c0f0a9e786" newTitle = "Fix DML Multiblock Recipes" newBody = "[BUG]" [[fixes]] sha = "5671bca7fe7b685ac3495ef2497c3711a0baa2a0" newTitle = "Improve Mac/Linux Pack Mode Switcher" newBody = "[INTERNAL]" [[fixes]] sha = "5538fe4524dcb0b64a333b756bfeeec34e12661c" newTitle = "Enable shufflemode on main menu (#414)" newBody = "[FEATURE]" [[fixes]] sha = "644491a9f53c0ee300dbaf345f23e5b3f08b3c8a" newTitle = "Release 1.6.1a" newBody = "[NO CATEGORY]" [FIXUP] /* Description: */ TODO: - [x] Changelog Generation - [x] Decomp Expand - [x] Decomp Details - [x] Add Commit Details to Mod Changes - [x] Allow changing of dir - [x] Catch parsing errors - [x] Move to TOML instead of YAML - [x] GHA Workflows - [x] Split workflows into called and callers (See https://docs.github.com/en/actions/using-workflows/reusing-workflows) - [x] Create workflow to generate Release Commit + Changelog, changelog in another branch - [x] Create workflow to grab Changelog from another branch, then deploy - [x] Create workflow to combine previous two - [x] Create workflow to test new commits' body syntax - [x] Split workflows into jobs - [x] Cleanup Code - [x] Split code into multiple files - [x] Document Code (JS Docs) - [x] CONTRIBUTING.md Documentation on workflows, and on templates - [x] Remove changelog files New TODO: - [x] Make workflow to update modlist - [x] Add modlist updating to release commit workflow, split into jobs - [x] https://discord.com/channels/927050775073534012/1131899853052575785/1162897825173086299 - [ ] Update Documentation /* Commits: */ * Create releasecommit.yml * Update releasecommit.yml * Update setup-node & various tasks to v3, improve .gitignore * Working method to add version to Issue Templates Produces weird artifacts... * Revert "Working method to add version to Issue Templates" This reverts commit f63480e2eba4b8ef5269ebc0a26cebd146fbe45e. * WIP method to update release content, using templates * Finish Release Commit Npx Gulp Task * Update Files * Allow for non-release commits * Actually update version.txt * Remove unneded env in updateqb.yml * Fix releasecommit.yml * Remove random patches config file transforming in `version.ts` * Remove note about regex * Add tag to release commits * Allow changelog task to compare with any commit, seperate changelog task * Add generation for CF changelog, begin detailed changelog * Add new formatted commitList * test change to CHANGELOG.md * Fix HTML file formatting; test new MD file formatting * Another HTML File formatting fix * New formatting logic * cleanup quest transform npx task * Cleanup * Progress * Small Fixes * Fix formatting * Fix commits appearing twice * Changelog Categories * Remove Tags from Commit Messages * New Storage System for ChangelogSections * Fix Formatting * Progress of version info for changed mods * Allow external deps * Cleanup Version, Fix Crash, temp change compare to 1.5.2...1.6 * Cleanup code * Cleanup Code, use templates instead of ifs * Expand Decomp, fix some commits not being added * Testing time * What the changelog looks like * Test * Sort logs, with newest on top. Sort Commit Log * Transform markdown entries into HTML at end * Remove section matter npm package * Test * Update changelog * Test nested Details * update changelog files * Begin Commit SHAs of Mod Changes Section Just need to add support, in formatting funct, for multi commits * Test new formatting * Formatting Test * Allow for multi commits in changelog messages * Fix not showing multi commits * Fix formatting * formatting * Add Performance Category * Remove debug messages + date in changelog messages * sort multi authors * Allow for commits to go in multi categories * Start Cleanup Code * Allow changing of output dir * More Cleanup + Create Post 1.7 Version * Catch parsing errors of manifest.json View the magical changelog, from the first file commit, to this commit! * Catch errors in Expand Task, more cleanup * Catch parsing errors in Details task * Make UpdateQB Task not return an error if no changes * Remove Comma Expressions * Catch edge case parsing errors, improve error descriptions * Cleanup parsing errors code, display original body * TOML Test * TOML * Delete test.txt * Update Post 1.7 Version * Test no error qb task * Test * cleanup updateqb.yml * Formatting * Update Changelogs (after rebase to TOML syntax) * Fix Deploy GH Task * Remove uneeded code * Allow for fetching/making changelog in build task * Fix Changelog Fetching * Change Changelog Output Dir to build root dir * Add new features to Github Release Task * Combine Version & GitHub_TAG * Create GHA files, improve TS code (#446) * Setup Action * test * test again * Update releasecommit.yml * Move setup.yml * Update releasecommit.yml * Update releasecommit.yml * Update setup.yml * Update releasecommit.yml * Update deploygh.yml * Delete .github/workflows/setup.yml * Create build-pack.yml * Update build-pack.yml * test * Update build-pack.yml * more test * Stupid me using download job for upload * more testing... * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Create build-pack-manual.yml * Move file * Revert "Move file" This reverts commit 506a523aed2d5d8af21094b943aa2b7e2b7ee688. * Update build-pack-manual.yml * Update build-pack-manual.yml * Create deploy.yml * Delete .github/workflows/deploygh.yml * Rename deploy.yml to deploygh.yml * Update deploygh.yml * Create deploy.yml * Update deploy.yml * Update deploy.yml * Update deploy.yml * Update deploygh.yml * Remove debug logging * Update build-pack.yml * Delete .github/workflows/build-pack-manual.yml * Update deploygh.yml * Update build-pack.yml * Update deploy.yml * Update deploygh.yml * Update deploygh.yml * Update build-pack.yml * Update build-pack.yml * Update deploy.yml * Update build-pack.yml * Update deploygh.yml * Update deploy.yml * Update releasecommit.yml * Release 5.0 * Update releasecommit.yml * Release 6.0 * Update Issue, Server and RP Config Files from Templates * Update releasecommit.yml * Release 7.0 * Add release title in changelog, remove more code * Add link to full changelog, format release name * Release 7.1 * Update deploy.yml * Alpha Release 7.2 * Fix tags excaping, improve full changelog * Release 7.3 * Add to CF Release, Cleanup Code * Delete .github/workflows/deploycfrc.yml * Update deploycf.yml * Update deploy.yml * Update gulpfile * Alpha Release 8.0-alpha-1 * Update deploycf.yml * Update deploycf.yml * Fix Curseforge Changelog * Beta Release 8.0-beta-2 * Update releasecommit.yml * Rename build-pack.yml to buildpack.yml * Update deploy.yml * Add CF redirect * Fix existing version detection * Create releasedeploy.yml * Update releasedeploy.yml * Update releasedeploy.yml * Release 8.0 * Update releasedeploy.yml * Create test.yml * Delete .github/workflows/test.yml * Create makechangelog.yml * Update makechangelog.yml * Update and rename makechangelog.yml to createchangelog.yml * Rename: MakeChangelog -> CreateChangelog * Update createchangelog.yml * Create releasechangelog.yml * Update releasechangelog.yml * Update createchangelog.yml * Beta Release 9.0-beta-1 * Release 9.0 * Release 9.1 * Update releasechangelog.yml * Alpha Release 9.1-alpha-1 * Remove extra versions * Fix more changed version numbers * Update Issue, Server and RP Config Files from Templates * Update versions.txt * Update Issue, Server and RP Config Files from Templates * Update Post 1.7 Version * Start writing more in CONTRIBUTING * Add basic Table Of Contents structure, qb contributing * test * Fix wrong html tag * Final Formatting * Script contributing information + cleanup * More Contribution Information * Begin Maintainer Information * Improve documentation, make submessages not include author/sha * Finish Changelog Workflow Documentation * Create structure * Write section for create release commit workflow * Provide a overview table of all keys * Documentation on Deploy Task * Artifacts information + start build pack documentation * test new way to center elements * Allow for Cutting Edge Build in build task * Actually use release_type input in build task * Finish Contributing information * Remove changelog files * JS documentation * MMC zips + allow for build pack task to upload seperately * test * test selective artifact method, allow for selectively deploying * Finish Buildscript (#457) * mention contributing stuff in wiki * Transform PR Tags in Message into links
2023-10-20 11:00:55 +11:00
await checkNotRelease(versionsFilePath);
} else {
log("Detected that this is a release commit.");
New Buildscript (#434) /* Category: */ [INTERNAL] /* Fixup for previous commits' bad syntax: */ [FIXUP] [[fixes]] sha = "4f966073890315ae0eb103b6011cdac7e6e960c0" newTitle = "Update GregTech CEu to v2.7.4" newBody = """ [COMBINE] commits = ["bd58b9072f45d647734ae66168cbd27bf9b2f220"] [COMBINE] """ [[fixes]] sha = "bd58b9072f45d647734ae66168cbd27bf9b2f220" newTitle = "Update GT and Related Mods for 1.7" newBody = """ [EXPAND] [[messages]] messageTitle = \"Update GT to 2.7.4\" messageBody = \"\"\" [BREAKING] [DETAILS] details = [ \\"**Lots of Recipes have been moved to the Assembly Line, and now require Assembly Line Research.**\\", \\"Adds Assembly Line Research\\", \\"Adds ME Hatches and Buses, for combining Multiblocks with AE Networks\\", \\"Adds EU Multiblock Power Storage\\", \\"Adds Multiblock Transformer and Laser Power Transfer\\", \\"Adds Long Distance Pipes\\", \\"Reworked & Improved Multiblock UIs\\", \\"Creating Waypoints in the Prospector\\", \\"Fixing many bugs\\", \\"And many more!\\" ] [DETAILS] \"\"\" [EXPAND] """ [[fixes]] sha = "1a40bd87f9c648429059c77a90470e55e0e39c5e" newTitle = "Update QB Jsons and Lang" newBody = "[SKIP]" [[fixes]] sha = "bcae6f4eebf5616766edcc3e735df7cbf6276440" newTitle = "Russian Content Tweaker Translation (#429)" newBody = "[FEATURE]" [[fixes]] sha = "ca64e658083d5ff41f15ce37fe817842018031d3" newTitle = "Update NAE2 to v1.3.1 (#424)" newBody = "[BUG]" [[fixes]] sha = "1a35ae82d9830c5444c5634d93268e3b857f07bd" newTitle = "Fix Description of The First Tier Two Circuits Quest" newBody = "[QB]" [[fixes]] sha = "c66f5428818e02051b77d84fa01792bf2a6d9dcf" newTitle = "Make Neeve Quest Ignore NBT" newBody = "[QB]" [[fixes]] sha = "5b5d13710abe0f96c41ba4a3505969c0a98e23bc" newTitle = "Update and Rewrite Mixer Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "342d988e322a45e0d141227c9aa34ec8e53663e7" newTitle = "Remove Mention of HV Batteries in Iron Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "d037ee5f466cec066fac1d14a762a377426a032d" newTitle = "Remove Reward for Bending Machine Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "03d61c8d5fbaa0439fc823b5aef3a4859b17a444" newTitle = "Move Multiblock Machine Previews Quest" newBody = """ [QB] [DETAILS] details = [\"Moved From `The Beginning` to `Genesis`\"] [DETAILS] """ [[fixes]] sha = "a52b91d97ac6849fe74623e3cc08362eb3ad99fa" newTitle = "Change Mold Quest Task from Ball Mold -> Rotor Mold" newBody = "[QB]\n[HM]" [[fixes]] sha = "fcb48d4bc9f27058c6a2dcca7bf813f3d7f6a6d9" newTitle = "Mention how to Mute Machines in Steam Machines Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "f59eecad41745f65348da88a3f4c057300459782" newTitle = "Adjust Steam Dynamo Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "02eaf67bd168eb11a7a71f4d346eb591841d0af3" newTitle = "Specify that Alloy Smelter is used to make Rubber Sheets" newBody = "[QB]\n[HM]" [[fixes]] sha = "a988d2df30e4d01b973870cc85350962a9125f5c" newTitle = "Fix Grammar Errors in 'From Ingots to Wires' Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "8df9f6e3180323946cc6553cd0fb5e1e96f0ac03" newTitle = "Add Molds Quest to Genesis, Make Glass Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "5d51fda1c6740edc5021657f90f6ecd1de954d29" newTitle = "Make Drawer Quest Accept Either Task" newBody = "[QB]\n[HM]" [[fixes]] sha = "a02ef21fbae24df59e5fa9a5ef4640752baf835f" newTitle = "New Data Textures (#419)" newBody = "[FEATURE]" [[fixes]] sha = "758f7e704ca8b13031f7ca859e6bc9c0f0a9e786" newTitle = "Fix DML Multiblock Recipes" newBody = "[BUG]" [[fixes]] sha = "5671bca7fe7b685ac3495ef2497c3711a0baa2a0" newTitle = "Improve Mac/Linux Pack Mode Switcher" newBody = "[INTERNAL]" [[fixes]] sha = "5538fe4524dcb0b64a333b756bfeeec34e12661c" newTitle = "Enable shufflemode on main menu (#414)" newBody = "[FEATURE]" [[fixes]] sha = "644491a9f53c0ee300dbaf345f23e5b3f08b3c8a" newTitle = "Release 1.6.1a" newBody = "[NO CATEGORY]" [FIXUP] /* Description: */ TODO: - [x] Changelog Generation - [x] Decomp Expand - [x] Decomp Details - [x] Add Commit Details to Mod Changes - [x] Allow changing of dir - [x] Catch parsing errors - [x] Move to TOML instead of YAML - [x] GHA Workflows - [x] Split workflows into called and callers (See https://docs.github.com/en/actions/using-workflows/reusing-workflows) - [x] Create workflow to generate Release Commit + Changelog, changelog in another branch - [x] Create workflow to grab Changelog from another branch, then deploy - [x] Create workflow to combine previous two - [x] Create workflow to test new commits' body syntax - [x] Split workflows into jobs - [x] Cleanup Code - [x] Split code into multiple files - [x] Document Code (JS Docs) - [x] CONTRIBUTING.md Documentation on workflows, and on templates - [x] Remove changelog files New TODO: - [x] Make workflow to update modlist - [x] Add modlist updating to release commit workflow, split into jobs - [x] https://discord.com/channels/927050775073534012/1131899853052575785/1162897825173086299 - [ ] Update Documentation /* Commits: */ * Create releasecommit.yml * Update releasecommit.yml * Update setup-node & various tasks to v3, improve .gitignore * Working method to add version to Issue Templates Produces weird artifacts... * Revert "Working method to add version to Issue Templates" This reverts commit f63480e2eba4b8ef5269ebc0a26cebd146fbe45e. * WIP method to update release content, using templates * Finish Release Commit Npx Gulp Task * Update Files * Allow for non-release commits * Actually update version.txt * Remove unneded env in updateqb.yml * Fix releasecommit.yml * Remove random patches config file transforming in `version.ts` * Remove note about regex * Add tag to release commits * Allow changelog task to compare with any commit, seperate changelog task * Add generation for CF changelog, begin detailed changelog * Add new formatted commitList * test change to CHANGELOG.md * Fix HTML file formatting; test new MD file formatting * Another HTML File formatting fix * New formatting logic * cleanup quest transform npx task * Cleanup * Progress * Small Fixes * Fix formatting * Fix commits appearing twice * Changelog Categories * Remove Tags from Commit Messages * New Storage System for ChangelogSections * Fix Formatting * Progress of version info for changed mods * Allow external deps * Cleanup Version, Fix Crash, temp change compare to 1.5.2...1.6 * Cleanup code * Cleanup Code, use templates instead of ifs * Expand Decomp, fix some commits not being added * Testing time * What the changelog looks like * Test * Sort logs, with newest on top. Sort Commit Log * Transform markdown entries into HTML at end * Remove section matter npm package * Test * Update changelog * Test nested Details * update changelog files * Begin Commit SHAs of Mod Changes Section Just need to add support, in formatting funct, for multi commits * Test new formatting * Formatting Test * Allow for multi commits in changelog messages * Fix not showing multi commits * Fix formatting * formatting * Add Performance Category * Remove debug messages + date in changelog messages * sort multi authors * Allow for commits to go in multi categories * Start Cleanup Code * Allow changing of output dir * More Cleanup + Create Post 1.7 Version * Catch parsing errors of manifest.json View the magical changelog, from the first file commit, to this commit! * Catch errors in Expand Task, more cleanup * Catch parsing errors in Details task * Make UpdateQB Task not return an error if no changes * Remove Comma Expressions * Catch edge case parsing errors, improve error descriptions * Cleanup parsing errors code, display original body * TOML Test * TOML * Delete test.txt * Update Post 1.7 Version * Test no error qb task * Test * cleanup updateqb.yml * Formatting * Update Changelogs (after rebase to TOML syntax) * Fix Deploy GH Task * Remove uneeded code * Allow for fetching/making changelog in build task * Fix Changelog Fetching * Change Changelog Output Dir to build root dir * Add new features to Github Release Task * Combine Version & GitHub_TAG * Create GHA files, improve TS code (#446) * Setup Action * test * test again * Update releasecommit.yml * Move setup.yml * Update releasecommit.yml * Update releasecommit.yml * Update setup.yml * Update releasecommit.yml * Update deploygh.yml * Delete .github/workflows/setup.yml * Create build-pack.yml * Update build-pack.yml * test * Update build-pack.yml * more test * Stupid me using download job for upload * more testing... * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Create build-pack-manual.yml * Move file * Revert "Move file" This reverts commit 506a523aed2d5d8af21094b943aa2b7e2b7ee688. * Update build-pack-manual.yml * Update build-pack-manual.yml * Create deploy.yml * Delete .github/workflows/deploygh.yml * Rename deploy.yml to deploygh.yml * Update deploygh.yml * Create deploy.yml * Update deploy.yml * Update deploy.yml * Update deploy.yml * Update deploygh.yml * Remove debug logging * Update build-pack.yml * Delete .github/workflows/build-pack-manual.yml * Update deploygh.yml * Update build-pack.yml * Update deploy.yml * Update deploygh.yml * Update deploygh.yml * Update build-pack.yml * Update build-pack.yml * Update deploy.yml * Update build-pack.yml * Update deploygh.yml * Update deploy.yml * Update releasecommit.yml * Release 5.0 * Update releasecommit.yml * Release 6.0 * Update Issue, Server and RP Config Files from Templates * Update releasecommit.yml * Release 7.0 * Add release title in changelog, remove more code * Add link to full changelog, format release name * Release 7.1 * Update deploy.yml * Alpha Release 7.2 * Fix tags excaping, improve full changelog * Release 7.3 * Add to CF Release, Cleanup Code * Delete .github/workflows/deploycfrc.yml * Update deploycf.yml * Update deploy.yml * Update gulpfile * Alpha Release 8.0-alpha-1 * Update deploycf.yml * Update deploycf.yml * Fix Curseforge Changelog * Beta Release 8.0-beta-2 * Update releasecommit.yml * Rename build-pack.yml to buildpack.yml * Update deploy.yml * Add CF redirect * Fix existing version detection * Create releasedeploy.yml * Update releasedeploy.yml * Update releasedeploy.yml * Release 8.0 * Update releasedeploy.yml * Create test.yml * Delete .github/workflows/test.yml * Create makechangelog.yml * Update makechangelog.yml * Update and rename makechangelog.yml to createchangelog.yml * Rename: MakeChangelog -> CreateChangelog * Update createchangelog.yml * Create releasechangelog.yml * Update releasechangelog.yml * Update createchangelog.yml * Beta Release 9.0-beta-1 * Release 9.0 * Release 9.1 * Update releasechangelog.yml * Alpha Release 9.1-alpha-1 * Remove extra versions * Fix more changed version numbers * Update Issue, Server and RP Config Files from Templates * Update versions.txt * Update Issue, Server and RP Config Files from Templates * Update Post 1.7 Version * Start writing more in CONTRIBUTING * Add basic Table Of Contents structure, qb contributing * test * Fix wrong html tag * Final Formatting * Script contributing information + cleanup * More Contribution Information * Begin Maintainer Information * Improve documentation, make submessages not include author/sha * Finish Changelog Workflow Documentation * Create structure * Write section for create release commit workflow * Provide a overview table of all keys * Documentation on Deploy Task * Artifacts information + start build pack documentation * test new way to center elements * Allow for Cutting Edge Build in build task * Actually use release_type input in build task * Finish Contributing information * Remove changelog files * JS documentation * MMC zips + allow for build pack task to upload seperately * test * test selective artifact method, allow for selectively deploying * Finish Buildscript (#457) * mention contributing stuff in wiki * Transform PR Tags in Message into links
2023-10-20 11:00:55 +11:00
await checkRelease(versionsFilePath);
}
}
/**
* Sets this workflow as a non-release.
*/
export async function setNotRelease(): Promise<void> {
notRelease = true;
}
// Checks for non-release commits
async function checkNotRelease(versionsFilePath: string) {
// Check if versions.txt exists
if (!fs.existsSync(versionsFilePath)) {
error(`Version.txt does not exist. Creating empty file, and adding ${version} to it. This may be an error.`);
New Buildscript (#434) /* Category: */ [INTERNAL] /* Fixup for previous commits' bad syntax: */ [FIXUP] [[fixes]] sha = "4f966073890315ae0eb103b6011cdac7e6e960c0" newTitle = "Update GregTech CEu to v2.7.4" newBody = """ [COMBINE] commits = ["bd58b9072f45d647734ae66168cbd27bf9b2f220"] [COMBINE] """ [[fixes]] sha = "bd58b9072f45d647734ae66168cbd27bf9b2f220" newTitle = "Update GT and Related Mods for 1.7" newBody = """ [EXPAND] [[messages]] messageTitle = \"Update GT to 2.7.4\" messageBody = \"\"\" [BREAKING] [DETAILS] details = [ \\"**Lots of Recipes have been moved to the Assembly Line, and now require Assembly Line Research.**\\", \\"Adds Assembly Line Research\\", \\"Adds ME Hatches and Buses, for combining Multiblocks with AE Networks\\", \\"Adds EU Multiblock Power Storage\\", \\"Adds Multiblock Transformer and Laser Power Transfer\\", \\"Adds Long Distance Pipes\\", \\"Reworked & Improved Multiblock UIs\\", \\"Creating Waypoints in the Prospector\\", \\"Fixing many bugs\\", \\"And many more!\\" ] [DETAILS] \"\"\" [EXPAND] """ [[fixes]] sha = "1a40bd87f9c648429059c77a90470e55e0e39c5e" newTitle = "Update QB Jsons and Lang" newBody = "[SKIP]" [[fixes]] sha = "bcae6f4eebf5616766edcc3e735df7cbf6276440" newTitle = "Russian Content Tweaker Translation (#429)" newBody = "[FEATURE]" [[fixes]] sha = "ca64e658083d5ff41f15ce37fe817842018031d3" newTitle = "Update NAE2 to v1.3.1 (#424)" newBody = "[BUG]" [[fixes]] sha = "1a35ae82d9830c5444c5634d93268e3b857f07bd" newTitle = "Fix Description of The First Tier Two Circuits Quest" newBody = "[QB]" [[fixes]] sha = "c66f5428818e02051b77d84fa01792bf2a6d9dcf" newTitle = "Make Neeve Quest Ignore NBT" newBody = "[QB]" [[fixes]] sha = "5b5d13710abe0f96c41ba4a3505969c0a98e23bc" newTitle = "Update and Rewrite Mixer Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "342d988e322a45e0d141227c9aa34ec8e53663e7" newTitle = "Remove Mention of HV Batteries in Iron Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "d037ee5f466cec066fac1d14a762a377426a032d" newTitle = "Remove Reward for Bending Machine Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "03d61c8d5fbaa0439fc823b5aef3a4859b17a444" newTitle = "Move Multiblock Machine Previews Quest" newBody = """ [QB] [DETAILS] details = [\"Moved From `The Beginning` to `Genesis`\"] [DETAILS] """ [[fixes]] sha = "a52b91d97ac6849fe74623e3cc08362eb3ad99fa" newTitle = "Change Mold Quest Task from Ball Mold -> Rotor Mold" newBody = "[QB]\n[HM]" [[fixes]] sha = "fcb48d4bc9f27058c6a2dcca7bf813f3d7f6a6d9" newTitle = "Mention how to Mute Machines in Steam Machines Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "f59eecad41745f65348da88a3f4c057300459782" newTitle = "Adjust Steam Dynamo Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "02eaf67bd168eb11a7a71f4d346eb591841d0af3" newTitle = "Specify that Alloy Smelter is used to make Rubber Sheets" newBody = "[QB]\n[HM]" [[fixes]] sha = "a988d2df30e4d01b973870cc85350962a9125f5c" newTitle = "Fix Grammar Errors in 'From Ingots to Wires' Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "8df9f6e3180323946cc6553cd0fb5e1e96f0ac03" newTitle = "Add Molds Quest to Genesis, Make Glass Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "5d51fda1c6740edc5021657f90f6ecd1de954d29" newTitle = "Make Drawer Quest Accept Either Task" newBody = "[QB]\n[HM]" [[fixes]] sha = "a02ef21fbae24df59e5fa9a5ef4640752baf835f" newTitle = "New Data Textures (#419)" newBody = "[FEATURE]" [[fixes]] sha = "758f7e704ca8b13031f7ca859e6bc9c0f0a9e786" newTitle = "Fix DML Multiblock Recipes" newBody = "[BUG]" [[fixes]] sha = "5671bca7fe7b685ac3495ef2497c3711a0baa2a0" newTitle = "Improve Mac/Linux Pack Mode Switcher" newBody = "[INTERNAL]" [[fixes]] sha = "5538fe4524dcb0b64a333b756bfeeec34e12661c" newTitle = "Enable shufflemode on main menu (#414)" newBody = "[FEATURE]" [[fixes]] sha = "644491a9f53c0ee300dbaf345f23e5b3f08b3c8a" newTitle = "Release 1.6.1a" newBody = "[NO CATEGORY]" [FIXUP] /* Description: */ TODO: - [x] Changelog Generation - [x] Decomp Expand - [x] Decomp Details - [x] Add Commit Details to Mod Changes - [x] Allow changing of dir - [x] Catch parsing errors - [x] Move to TOML instead of YAML - [x] GHA Workflows - [x] Split workflows into called and callers (See https://docs.github.com/en/actions/using-workflows/reusing-workflows) - [x] Create workflow to generate Release Commit + Changelog, changelog in another branch - [x] Create workflow to grab Changelog from another branch, then deploy - [x] Create workflow to combine previous two - [x] Create workflow to test new commits' body syntax - [x] Split workflows into jobs - [x] Cleanup Code - [x] Split code into multiple files - [x] Document Code (JS Docs) - [x] CONTRIBUTING.md Documentation on workflows, and on templates - [x] Remove changelog files New TODO: - [x] Make workflow to update modlist - [x] Add modlist updating to release commit workflow, split into jobs - [x] https://discord.com/channels/927050775073534012/1131899853052575785/1162897825173086299 - [ ] Update Documentation /* Commits: */ * Create releasecommit.yml * Update releasecommit.yml * Update setup-node & various tasks to v3, improve .gitignore * Working method to add version to Issue Templates Produces weird artifacts... * Revert "Working method to add version to Issue Templates" This reverts commit f63480e2eba4b8ef5269ebc0a26cebd146fbe45e. * WIP method to update release content, using templates * Finish Release Commit Npx Gulp Task * Update Files * Allow for non-release commits * Actually update version.txt * Remove unneded env in updateqb.yml * Fix releasecommit.yml * Remove random patches config file transforming in `version.ts` * Remove note about regex * Add tag to release commits * Allow changelog task to compare with any commit, seperate changelog task * Add generation for CF changelog, begin detailed changelog * Add new formatted commitList * test change to CHANGELOG.md * Fix HTML file formatting; test new MD file formatting * Another HTML File formatting fix * New formatting logic * cleanup quest transform npx task * Cleanup * Progress * Small Fixes * Fix formatting * Fix commits appearing twice * Changelog Categories * Remove Tags from Commit Messages * New Storage System for ChangelogSections * Fix Formatting * Progress of version info for changed mods * Allow external deps * Cleanup Version, Fix Crash, temp change compare to 1.5.2...1.6 * Cleanup code * Cleanup Code, use templates instead of ifs * Expand Decomp, fix some commits not being added * Testing time * What the changelog looks like * Test * Sort logs, with newest on top. Sort Commit Log * Transform markdown entries into HTML at end * Remove section matter npm package * Test * Update changelog * Test nested Details * update changelog files * Begin Commit SHAs of Mod Changes Section Just need to add support, in formatting funct, for multi commits * Test new formatting * Formatting Test * Allow for multi commits in changelog messages * Fix not showing multi commits * Fix formatting * formatting * Add Performance Category * Remove debug messages + date in changelog messages * sort multi authors * Allow for commits to go in multi categories * Start Cleanup Code * Allow changing of output dir * More Cleanup + Create Post 1.7 Version * Catch parsing errors of manifest.json View the magical changelog, from the first file commit, to this commit! * Catch errors in Expand Task, more cleanup * Catch parsing errors in Details task * Make UpdateQB Task not return an error if no changes * Remove Comma Expressions * Catch edge case parsing errors, improve error descriptions * Cleanup parsing errors code, display original body * TOML Test * TOML * Delete test.txt * Update Post 1.7 Version * Test no error qb task * Test * cleanup updateqb.yml * Formatting * Update Changelogs (after rebase to TOML syntax) * Fix Deploy GH Task * Remove uneeded code * Allow for fetching/making changelog in build task * Fix Changelog Fetching * Change Changelog Output Dir to build root dir * Add new features to Github Release Task * Combine Version & GitHub_TAG * Create GHA files, improve TS code (#446) * Setup Action * test * test again * Update releasecommit.yml * Move setup.yml * Update releasecommit.yml * Update releasecommit.yml * Update setup.yml * Update releasecommit.yml * Update deploygh.yml * Delete .github/workflows/setup.yml * Create build-pack.yml * Update build-pack.yml * test * Update build-pack.yml * more test * Stupid me using download job for upload * more testing... * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Create build-pack-manual.yml * Move file * Revert "Move file" This reverts commit 506a523aed2d5d8af21094b943aa2b7e2b7ee688. * Update build-pack-manual.yml * Update build-pack-manual.yml * Create deploy.yml * Delete .github/workflows/deploygh.yml * Rename deploy.yml to deploygh.yml * Update deploygh.yml * Create deploy.yml * Update deploy.yml * Update deploy.yml * Update deploy.yml * Update deploygh.yml * Remove debug logging * Update build-pack.yml * Delete .github/workflows/build-pack-manual.yml * Update deploygh.yml * Update build-pack.yml * Update deploy.yml * Update deploygh.yml * Update deploygh.yml * Update build-pack.yml * Update build-pack.yml * Update deploy.yml * Update build-pack.yml * Update deploygh.yml * Update deploy.yml * Update releasecommit.yml * Release 5.0 * Update releasecommit.yml * Release 6.0 * Update Issue, Server and RP Config Files from Templates * Update releasecommit.yml * Release 7.0 * Add release title in changelog, remove more code * Add link to full changelog, format release name * Release 7.1 * Update deploy.yml * Alpha Release 7.2 * Fix tags excaping, improve full changelog * Release 7.3 * Add to CF Release, Cleanup Code * Delete .github/workflows/deploycfrc.yml * Update deploycf.yml * Update deploy.yml * Update gulpfile * Alpha Release 8.0-alpha-1 * Update deploycf.yml * Update deploycf.yml * Fix Curseforge Changelog * Beta Release 8.0-beta-2 * Update releasecommit.yml * Rename build-pack.yml to buildpack.yml * Update deploy.yml * Add CF redirect * Fix existing version detection * Create releasedeploy.yml * Update releasedeploy.yml * Update releasedeploy.yml * Release 8.0 * Update releasedeploy.yml * Create test.yml * Delete .github/workflows/test.yml * Create makechangelog.yml * Update makechangelog.yml * Update and rename makechangelog.yml to createchangelog.yml * Rename: MakeChangelog -> CreateChangelog * Update createchangelog.yml * Create releasechangelog.yml * Update releasechangelog.yml * Update createchangelog.yml * Beta Release 9.0-beta-1 * Release 9.0 * Release 9.1 * Update releasechangelog.yml * Alpha Release 9.1-alpha-1 * Remove extra versions * Fix more changed version numbers * Update Issue, Server and RP Config Files from Templates * Update versions.txt * Update Issue, Server and RP Config Files from Templates * Update Post 1.7 Version * Start writing more in CONTRIBUTING * Add basic Table Of Contents structure, qb contributing * test * Fix wrong html tag * Final Formatting * Script contributing information + cleanup * More Contribution Information * Begin Maintainer Information * Improve documentation, make submessages not include author/sha * Finish Changelog Workflow Documentation * Create structure * Write section for create release commit workflow * Provide a overview table of all keys * Documentation on Deploy Task * Artifacts information + start build pack documentation * test new way to center elements * Allow for Cutting Edge Build in build task * Actually use release_type input in build task * Finish Contributing information * Remove changelog files * JS documentation * MMC zips + allow for build pack task to upload seperately * test * test selective artifact method, allow for selectively deploying * Finish Buildscript (#457) * mention contributing stuff in wiki * Transform PR Tags in Message into links
2023-10-20 11:00:55 +11:00
// Create Versions.txt, with version
await fs.promises.writeFile(versionsFilePath, ` - ${version}`);
} else {
// Check for duplicate entries
let versionList = await fs.promises.readFile(versionsFilePath, "utf8");
// No Duplicate Key
if (!versionList.includes(version)) {
error(`Version is not in version.txt. Adding ${version} to version.txt. This may be an error.`);
New Buildscript (#434) /* Category: */ [INTERNAL] /* Fixup for previous commits' bad syntax: */ [FIXUP] [[fixes]] sha = "4f966073890315ae0eb103b6011cdac7e6e960c0" newTitle = "Update GregTech CEu to v2.7.4" newBody = """ [COMBINE] commits = ["bd58b9072f45d647734ae66168cbd27bf9b2f220"] [COMBINE] """ [[fixes]] sha = "bd58b9072f45d647734ae66168cbd27bf9b2f220" newTitle = "Update GT and Related Mods for 1.7" newBody = """ [EXPAND] [[messages]] messageTitle = \"Update GT to 2.7.4\" messageBody = \"\"\" [BREAKING] [DETAILS] details = [ \\"**Lots of Recipes have been moved to the Assembly Line, and now require Assembly Line Research.**\\", \\"Adds Assembly Line Research\\", \\"Adds ME Hatches and Buses, for combining Multiblocks with AE Networks\\", \\"Adds EU Multiblock Power Storage\\", \\"Adds Multiblock Transformer and Laser Power Transfer\\", \\"Adds Long Distance Pipes\\", \\"Reworked & Improved Multiblock UIs\\", \\"Creating Waypoints in the Prospector\\", \\"Fixing many bugs\\", \\"And many more!\\" ] [DETAILS] \"\"\" [EXPAND] """ [[fixes]] sha = "1a40bd87f9c648429059c77a90470e55e0e39c5e" newTitle = "Update QB Jsons and Lang" newBody = "[SKIP]" [[fixes]] sha = "bcae6f4eebf5616766edcc3e735df7cbf6276440" newTitle = "Russian Content Tweaker Translation (#429)" newBody = "[FEATURE]" [[fixes]] sha = "ca64e658083d5ff41f15ce37fe817842018031d3" newTitle = "Update NAE2 to v1.3.1 (#424)" newBody = "[BUG]" [[fixes]] sha = "1a35ae82d9830c5444c5634d93268e3b857f07bd" newTitle = "Fix Description of The First Tier Two Circuits Quest" newBody = "[QB]" [[fixes]] sha = "c66f5428818e02051b77d84fa01792bf2a6d9dcf" newTitle = "Make Neeve Quest Ignore NBT" newBody = "[QB]" [[fixes]] sha = "5b5d13710abe0f96c41ba4a3505969c0a98e23bc" newTitle = "Update and Rewrite Mixer Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "342d988e322a45e0d141227c9aa34ec8e53663e7" newTitle = "Remove Mention of HV Batteries in Iron Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "d037ee5f466cec066fac1d14a762a377426a032d" newTitle = "Remove Reward for Bending Machine Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "03d61c8d5fbaa0439fc823b5aef3a4859b17a444" newTitle = "Move Multiblock Machine Previews Quest" newBody = """ [QB] [DETAILS] details = [\"Moved From `The Beginning` to `Genesis`\"] [DETAILS] """ [[fixes]] sha = "a52b91d97ac6849fe74623e3cc08362eb3ad99fa" newTitle = "Change Mold Quest Task from Ball Mold -> Rotor Mold" newBody = "[QB]\n[HM]" [[fixes]] sha = "fcb48d4bc9f27058c6a2dcca7bf813f3d7f6a6d9" newTitle = "Mention how to Mute Machines in Steam Machines Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "f59eecad41745f65348da88a3f4c057300459782" newTitle = "Adjust Steam Dynamo Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "02eaf67bd168eb11a7a71f4d346eb591841d0af3" newTitle = "Specify that Alloy Smelter is used to make Rubber Sheets" newBody = "[QB]\n[HM]" [[fixes]] sha = "a988d2df30e4d01b973870cc85350962a9125f5c" newTitle = "Fix Grammar Errors in 'From Ingots to Wires' Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "8df9f6e3180323946cc6553cd0fb5e1e96f0ac03" newTitle = "Add Molds Quest to Genesis, Make Glass Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "5d51fda1c6740edc5021657f90f6ecd1de954d29" newTitle = "Make Drawer Quest Accept Either Task" newBody = "[QB]\n[HM]" [[fixes]] sha = "a02ef21fbae24df59e5fa9a5ef4640752baf835f" newTitle = "New Data Textures (#419)" newBody = "[FEATURE]" [[fixes]] sha = "758f7e704ca8b13031f7ca859e6bc9c0f0a9e786" newTitle = "Fix DML Multiblock Recipes" newBody = "[BUG]" [[fixes]] sha = "5671bca7fe7b685ac3495ef2497c3711a0baa2a0" newTitle = "Improve Mac/Linux Pack Mode Switcher" newBody = "[INTERNAL]" [[fixes]] sha = "5538fe4524dcb0b64a333b756bfeeec34e12661c" newTitle = "Enable shufflemode on main menu (#414)" newBody = "[FEATURE]" [[fixes]] sha = "644491a9f53c0ee300dbaf345f23e5b3f08b3c8a" newTitle = "Release 1.6.1a" newBody = "[NO CATEGORY]" [FIXUP] /* Description: */ TODO: - [x] Changelog Generation - [x] Decomp Expand - [x] Decomp Details - [x] Add Commit Details to Mod Changes - [x] Allow changing of dir - [x] Catch parsing errors - [x] Move to TOML instead of YAML - [x] GHA Workflows - [x] Split workflows into called and callers (See https://docs.github.com/en/actions/using-workflows/reusing-workflows) - [x] Create workflow to generate Release Commit + Changelog, changelog in another branch - [x] Create workflow to grab Changelog from another branch, then deploy - [x] Create workflow to combine previous two - [x] Create workflow to test new commits' body syntax - [x] Split workflows into jobs - [x] Cleanup Code - [x] Split code into multiple files - [x] Document Code (JS Docs) - [x] CONTRIBUTING.md Documentation on workflows, and on templates - [x] Remove changelog files New TODO: - [x] Make workflow to update modlist - [x] Add modlist updating to release commit workflow, split into jobs - [x] https://discord.com/channels/927050775073534012/1131899853052575785/1162897825173086299 - [ ] Update Documentation /* Commits: */ * Create releasecommit.yml * Update releasecommit.yml * Update setup-node & various tasks to v3, improve .gitignore * Working method to add version to Issue Templates Produces weird artifacts... * Revert "Working method to add version to Issue Templates" This reverts commit f63480e2eba4b8ef5269ebc0a26cebd146fbe45e. * WIP method to update release content, using templates * Finish Release Commit Npx Gulp Task * Update Files * Allow for non-release commits * Actually update version.txt * Remove unneded env in updateqb.yml * Fix releasecommit.yml * Remove random patches config file transforming in `version.ts` * Remove note about regex * Add tag to release commits * Allow changelog task to compare with any commit, seperate changelog task * Add generation for CF changelog, begin detailed changelog * Add new formatted commitList * test change to CHANGELOG.md * Fix HTML file formatting; test new MD file formatting * Another HTML File formatting fix * New formatting logic * cleanup quest transform npx task * Cleanup * Progress * Small Fixes * Fix formatting * Fix commits appearing twice * Changelog Categories * Remove Tags from Commit Messages * New Storage System for ChangelogSections * Fix Formatting * Progress of version info for changed mods * Allow external deps * Cleanup Version, Fix Crash, temp change compare to 1.5.2...1.6 * Cleanup code * Cleanup Code, use templates instead of ifs * Expand Decomp, fix some commits not being added * Testing time * What the changelog looks like * Test * Sort logs, with newest on top. Sort Commit Log * Transform markdown entries into HTML at end * Remove section matter npm package * Test * Update changelog * Test nested Details * update changelog files * Begin Commit SHAs of Mod Changes Section Just need to add support, in formatting funct, for multi commits * Test new formatting * Formatting Test * Allow for multi commits in changelog messages * Fix not showing multi commits * Fix formatting * formatting * Add Performance Category * Remove debug messages + date in changelog messages * sort multi authors * Allow for commits to go in multi categories * Start Cleanup Code * Allow changing of output dir * More Cleanup + Create Post 1.7 Version * Catch parsing errors of manifest.json View the magical changelog, from the first file commit, to this commit! * Catch errors in Expand Task, more cleanup * Catch parsing errors in Details task * Make UpdateQB Task not return an error if no changes * Remove Comma Expressions * Catch edge case parsing errors, improve error descriptions * Cleanup parsing errors code, display original body * TOML Test * TOML * Delete test.txt * Update Post 1.7 Version * Test no error qb task * Test * cleanup updateqb.yml * Formatting * Update Changelogs (after rebase to TOML syntax) * Fix Deploy GH Task * Remove uneeded code * Allow for fetching/making changelog in build task * Fix Changelog Fetching * Change Changelog Output Dir to build root dir * Add new features to Github Release Task * Combine Version & GitHub_TAG * Create GHA files, improve TS code (#446) * Setup Action * test * test again * Update releasecommit.yml * Move setup.yml * Update releasecommit.yml * Update releasecommit.yml * Update setup.yml * Update releasecommit.yml * Update deploygh.yml * Delete .github/workflows/setup.yml * Create build-pack.yml * Update build-pack.yml * test * Update build-pack.yml * more test * Stupid me using download job for upload * more testing... * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Create build-pack-manual.yml * Move file * Revert "Move file" This reverts commit 506a523aed2d5d8af21094b943aa2b7e2b7ee688. * Update build-pack-manual.yml * Update build-pack-manual.yml * Create deploy.yml * Delete .github/workflows/deploygh.yml * Rename deploy.yml to deploygh.yml * Update deploygh.yml * Create deploy.yml * Update deploy.yml * Update deploy.yml * Update deploy.yml * Update deploygh.yml * Remove debug logging * Update build-pack.yml * Delete .github/workflows/build-pack-manual.yml * Update deploygh.yml * Update build-pack.yml * Update deploy.yml * Update deploygh.yml * Update deploygh.yml * Update build-pack.yml * Update build-pack.yml * Update deploy.yml * Update build-pack.yml * Update deploygh.yml * Update deploy.yml * Update releasecommit.yml * Release 5.0 * Update releasecommit.yml * Release 6.0 * Update Issue, Server and RP Config Files from Templates * Update releasecommit.yml * Release 7.0 * Add release title in changelog, remove more code * Add link to full changelog, format release name * Release 7.1 * Update deploy.yml * Alpha Release 7.2 * Fix tags excaping, improve full changelog * Release 7.3 * Add to CF Release, Cleanup Code * Delete .github/workflows/deploycfrc.yml * Update deploycf.yml * Update deploy.yml * Update gulpfile * Alpha Release 8.0-alpha-1 * Update deploycf.yml * Update deploycf.yml * Fix Curseforge Changelog * Beta Release 8.0-beta-2 * Update releasecommit.yml * Rename build-pack.yml to buildpack.yml * Update deploy.yml * Add CF redirect * Fix existing version detection * Create releasedeploy.yml * Update releasedeploy.yml * Update releasedeploy.yml * Release 8.0 * Update releasedeploy.yml * Create test.yml * Delete .github/workflows/test.yml * Create makechangelog.yml * Update makechangelog.yml * Update and rename makechangelog.yml to createchangelog.yml * Rename: MakeChangelog -> CreateChangelog * Update createchangelog.yml * Create releasechangelog.yml * Update releasechangelog.yml * Update createchangelog.yml * Beta Release 9.0-beta-1 * Release 9.0 * Release 9.1 * Update releasechangelog.yml * Alpha Release 9.1-alpha-1 * Remove extra versions * Fix more changed version numbers * Update Issue, Server and RP Config Files from Templates * Update versions.txt * Update Issue, Server and RP Config Files from Templates * Update Post 1.7 Version * Start writing more in CONTRIBUTING * Add basic Table Of Contents structure, qb contributing * test * Fix wrong html tag * Final Formatting * Script contributing information + cleanup * More Contribution Information * Begin Maintainer Information * Improve documentation, make submessages not include author/sha * Finish Changelog Workflow Documentation * Create structure * Write section for create release commit workflow * Provide a overview table of all keys * Documentation on Deploy Task * Artifacts information + start build pack documentation * test new way to center elements * Allow for Cutting Edge Build in build task * Actually use release_type input in build task * Finish Contributing information * Remove changelog files * JS documentation * MMC zips + allow for build pack task to upload seperately * test * test selective artifact method, allow for selectively deploying * Finish Buildscript (#457) * mention contributing stuff in wiki * Transform PR Tags in Message into links
2023-10-20 11:00:55 +11:00
versionList = ` - ${version}\n${versionList}`;
await fs.promises.writeFile(versionsFilePath, versionList);
}
}
}
// Checks for release Commits
async function checkRelease(versionsFilePath: string) {
// Check if versions.txt exists
if (!fs.existsSync(versionsFilePath)) {
error("Version.txt does not exist. Creating empty file. This may be an error.");
New Buildscript (#434) /* Category: */ [INTERNAL] /* Fixup for previous commits' bad syntax: */ [FIXUP] [[fixes]] sha = "4f966073890315ae0eb103b6011cdac7e6e960c0" newTitle = "Update GregTech CEu to v2.7.4" newBody = """ [COMBINE] commits = ["bd58b9072f45d647734ae66168cbd27bf9b2f220"] [COMBINE] """ [[fixes]] sha = "bd58b9072f45d647734ae66168cbd27bf9b2f220" newTitle = "Update GT and Related Mods for 1.7" newBody = """ [EXPAND] [[messages]] messageTitle = \"Update GT to 2.7.4\" messageBody = \"\"\" [BREAKING] [DETAILS] details = [ \\"**Lots of Recipes have been moved to the Assembly Line, and now require Assembly Line Research.**\\", \\"Adds Assembly Line Research\\", \\"Adds ME Hatches and Buses, for combining Multiblocks with AE Networks\\", \\"Adds EU Multiblock Power Storage\\", \\"Adds Multiblock Transformer and Laser Power Transfer\\", \\"Adds Long Distance Pipes\\", \\"Reworked & Improved Multiblock UIs\\", \\"Creating Waypoints in the Prospector\\", \\"Fixing many bugs\\", \\"And many more!\\" ] [DETAILS] \"\"\" [EXPAND] """ [[fixes]] sha = "1a40bd87f9c648429059c77a90470e55e0e39c5e" newTitle = "Update QB Jsons and Lang" newBody = "[SKIP]" [[fixes]] sha = "bcae6f4eebf5616766edcc3e735df7cbf6276440" newTitle = "Russian Content Tweaker Translation (#429)" newBody = "[FEATURE]" [[fixes]] sha = "ca64e658083d5ff41f15ce37fe817842018031d3" newTitle = "Update NAE2 to v1.3.1 (#424)" newBody = "[BUG]" [[fixes]] sha = "1a35ae82d9830c5444c5634d93268e3b857f07bd" newTitle = "Fix Description of The First Tier Two Circuits Quest" newBody = "[QB]" [[fixes]] sha = "c66f5428818e02051b77d84fa01792bf2a6d9dcf" newTitle = "Make Neeve Quest Ignore NBT" newBody = "[QB]" [[fixes]] sha = "5b5d13710abe0f96c41ba4a3505969c0a98e23bc" newTitle = "Update and Rewrite Mixer Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "342d988e322a45e0d141227c9aa34ec8e53663e7" newTitle = "Remove Mention of HV Batteries in Iron Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "d037ee5f466cec066fac1d14a762a377426a032d" newTitle = "Remove Reward for Bending Machine Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "03d61c8d5fbaa0439fc823b5aef3a4859b17a444" newTitle = "Move Multiblock Machine Previews Quest" newBody = """ [QB] [DETAILS] details = [\"Moved From `The Beginning` to `Genesis`\"] [DETAILS] """ [[fixes]] sha = "a52b91d97ac6849fe74623e3cc08362eb3ad99fa" newTitle = "Change Mold Quest Task from Ball Mold -> Rotor Mold" newBody = "[QB]\n[HM]" [[fixes]] sha = "fcb48d4bc9f27058c6a2dcca7bf813f3d7f6a6d9" newTitle = "Mention how to Mute Machines in Steam Machines Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "f59eecad41745f65348da88a3f4c057300459782" newTitle = "Adjust Steam Dynamo Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "02eaf67bd168eb11a7a71f4d346eb591841d0af3" newTitle = "Specify that Alloy Smelter is used to make Rubber Sheets" newBody = "[QB]\n[HM]" [[fixes]] sha = "a988d2df30e4d01b973870cc85350962a9125f5c" newTitle = "Fix Grammar Errors in 'From Ingots to Wires' Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "8df9f6e3180323946cc6553cd0fb5e1e96f0ac03" newTitle = "Add Molds Quest to Genesis, Make Glass Quest" newBody = "[QB]\n[HM]" [[fixes]] sha = "5d51fda1c6740edc5021657f90f6ecd1de954d29" newTitle = "Make Drawer Quest Accept Either Task" newBody = "[QB]\n[HM]" [[fixes]] sha = "a02ef21fbae24df59e5fa9a5ef4640752baf835f" newTitle = "New Data Textures (#419)" newBody = "[FEATURE]" [[fixes]] sha = "758f7e704ca8b13031f7ca859e6bc9c0f0a9e786" newTitle = "Fix DML Multiblock Recipes" newBody = "[BUG]" [[fixes]] sha = "5671bca7fe7b685ac3495ef2497c3711a0baa2a0" newTitle = "Improve Mac/Linux Pack Mode Switcher" newBody = "[INTERNAL]" [[fixes]] sha = "5538fe4524dcb0b64a333b756bfeeec34e12661c" newTitle = "Enable shufflemode on main menu (#414)" newBody = "[FEATURE]" [[fixes]] sha = "644491a9f53c0ee300dbaf345f23e5b3f08b3c8a" newTitle = "Release 1.6.1a" newBody = "[NO CATEGORY]" [FIXUP] /* Description: */ TODO: - [x] Changelog Generation - [x] Decomp Expand - [x] Decomp Details - [x] Add Commit Details to Mod Changes - [x] Allow changing of dir - [x] Catch parsing errors - [x] Move to TOML instead of YAML - [x] GHA Workflows - [x] Split workflows into called and callers (See https://docs.github.com/en/actions/using-workflows/reusing-workflows) - [x] Create workflow to generate Release Commit + Changelog, changelog in another branch - [x] Create workflow to grab Changelog from another branch, then deploy - [x] Create workflow to combine previous two - [x] Create workflow to test new commits' body syntax - [x] Split workflows into jobs - [x] Cleanup Code - [x] Split code into multiple files - [x] Document Code (JS Docs) - [x] CONTRIBUTING.md Documentation on workflows, and on templates - [x] Remove changelog files New TODO: - [x] Make workflow to update modlist - [x] Add modlist updating to release commit workflow, split into jobs - [x] https://discord.com/channels/927050775073534012/1131899853052575785/1162897825173086299 - [ ] Update Documentation /* Commits: */ * Create releasecommit.yml * Update releasecommit.yml * Update setup-node & various tasks to v3, improve .gitignore * Working method to add version to Issue Templates Produces weird artifacts... * Revert "Working method to add version to Issue Templates" This reverts commit f63480e2eba4b8ef5269ebc0a26cebd146fbe45e. * WIP method to update release content, using templates * Finish Release Commit Npx Gulp Task * Update Files * Allow for non-release commits * Actually update version.txt * Remove unneded env in updateqb.yml * Fix releasecommit.yml * Remove random patches config file transforming in `version.ts` * Remove note about regex * Add tag to release commits * Allow changelog task to compare with any commit, seperate changelog task * Add generation for CF changelog, begin detailed changelog * Add new formatted commitList * test change to CHANGELOG.md * Fix HTML file formatting; test new MD file formatting * Another HTML File formatting fix * New formatting logic * cleanup quest transform npx task * Cleanup * Progress * Small Fixes * Fix formatting * Fix commits appearing twice * Changelog Categories * Remove Tags from Commit Messages * New Storage System for ChangelogSections * Fix Formatting * Progress of version info for changed mods * Allow external deps * Cleanup Version, Fix Crash, temp change compare to 1.5.2...1.6 * Cleanup code * Cleanup Code, use templates instead of ifs * Expand Decomp, fix some commits not being added * Testing time * What the changelog looks like * Test * Sort logs, with newest on top. Sort Commit Log * Transform markdown entries into HTML at end * Remove section matter npm package * Test * Update changelog * Test nested Details * update changelog files * Begin Commit SHAs of Mod Changes Section Just need to add support, in formatting funct, for multi commits * Test new formatting * Formatting Test * Allow for multi commits in changelog messages * Fix not showing multi commits * Fix formatting * formatting * Add Performance Category * Remove debug messages + date in changelog messages * sort multi authors * Allow for commits to go in multi categories * Start Cleanup Code * Allow changing of output dir * More Cleanup + Create Post 1.7 Version * Catch parsing errors of manifest.json View the magical changelog, from the first file commit, to this commit! * Catch errors in Expand Task, more cleanup * Catch parsing errors in Details task * Make UpdateQB Task not return an error if no changes * Remove Comma Expressions * Catch edge case parsing errors, improve error descriptions * Cleanup parsing errors code, display original body * TOML Test * TOML * Delete test.txt * Update Post 1.7 Version * Test no error qb task * Test * cleanup updateqb.yml * Formatting * Update Changelogs (after rebase to TOML syntax) * Fix Deploy GH Task * Remove uneeded code * Allow for fetching/making changelog in build task * Fix Changelog Fetching * Change Changelog Output Dir to build root dir * Add new features to Github Release Task * Combine Version & GitHub_TAG * Create GHA files, improve TS code (#446) * Setup Action * test * test again * Update releasecommit.yml * Move setup.yml * Update releasecommit.yml * Update releasecommit.yml * Update setup.yml * Update releasecommit.yml * Update deploygh.yml * Delete .github/workflows/setup.yml * Create build-pack.yml * Update build-pack.yml * test * Update build-pack.yml * more test * Stupid me using download job for upload * more testing... * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Update build-pack.yml * Create build-pack-manual.yml * Move file * Revert "Move file" This reverts commit 506a523aed2d5d8af21094b943aa2b7e2b7ee688. * Update build-pack-manual.yml * Update build-pack-manual.yml * Create deploy.yml * Delete .github/workflows/deploygh.yml * Rename deploy.yml to deploygh.yml * Update deploygh.yml * Create deploy.yml * Update deploy.yml * Update deploy.yml * Update deploy.yml * Update deploygh.yml * Remove debug logging * Update build-pack.yml * Delete .github/workflows/build-pack-manual.yml * Update deploygh.yml * Update build-pack.yml * Update deploy.yml * Update deploygh.yml * Update deploygh.yml * Update build-pack.yml * Update build-pack.yml * Update deploy.yml * Update build-pack.yml * Update deploygh.yml * Update deploy.yml * Update releasecommit.yml * Release 5.0 * Update releasecommit.yml * Release 6.0 * Update Issue, Server and RP Config Files from Templates * Update releasecommit.yml * Release 7.0 * Add release title in changelog, remove more code * Add link to full changelog, format release name * Release 7.1 * Update deploy.yml * Alpha Release 7.2 * Fix tags excaping, improve full changelog * Release 7.3 * Add to CF Release, Cleanup Code * Delete .github/workflows/deploycfrc.yml * Update deploycf.yml * Update deploy.yml * Update gulpfile * Alpha Release 8.0-alpha-1 * Update deploycf.yml * Update deploycf.yml * Fix Curseforge Changelog * Beta Release 8.0-beta-2 * Update releasecommit.yml * Rename build-pack.yml to buildpack.yml * Update deploy.yml * Add CF redirect * Fix existing version detection * Create releasedeploy.yml * Update releasedeploy.yml * Update releasedeploy.yml * Release 8.0 * Update releasedeploy.yml * Create test.yml * Delete .github/workflows/test.yml * Create makechangelog.yml * Update makechangelog.yml * Update and rename makechangelog.yml to createchangelog.yml * Rename: MakeChangelog -> CreateChangelog * Update createchangelog.yml * Create releasechangelog.yml * Update releasechangelog.yml * Update createchangelog.yml * Beta Release 9.0-beta-1 * Release 9.0 * Release 9.1 * Update releasechangelog.yml * Alpha Release 9.1-alpha-1 * Remove extra versions * Fix more changed version numbers * Update Issue, Server and RP Config Files from Templates * Update versions.txt * Update Issue, Server and RP Config Files from Templates * Update Post 1.7 Version * Start writing more in CONTRIBUTING * Add basic Table Of Contents structure, qb contributing * test * Fix wrong html tag * Final Formatting * Script contributing information + cleanup * More Contribution Information * Begin Maintainer Information * Improve documentation, make submessages not include author/sha * Finish Changelog Workflow Documentation * Create structure * Write section for create release commit workflow * Provide a overview table of all keys * Documentation on Deploy Task * Artifacts information + start build pack documentation * test new way to center elements * Allow for Cutting Edge Build in build task * Actually use release_type input in build task * Finish Contributing information * Remove changelog files * JS documentation * MMC zips + allow for build pack task to upload seperately * test * test selective artifact method, allow for selectively deploying * Finish Buildscript (#457) * mention contributing stuff in wiki * Transform PR Tags in Message into links
2023-10-20 11:00:55 +11:00
// Create Versions.txt
fs.closeSync(fs.openSync(versionsFilePath, "w"));
} else {
// Check for duplicate entries
const versionList = await fs.promises.readFile(versionsFilePath, "utf8");
// Duplicate Key
if (versionList.includes(`${version}\n`)) {
throw new Error("Version already exists in version.txt. Exiting...");
}
}
}
/**
* @param readPath The filepath to read from. (Template)
* @param writePaths The filepaths to write to.
* @param replacementObject A record, of type string to type unknown, containing the keys, and replacement for those keys
* <p>
* <p>
* A warning not to edit the file will also be added to the start of the file.
*/
async function modifyFile(readPath: string, writePaths: string[], replacementObject: Record<string, unknown>) {
// Read the file content
const data: string = await fs.promises.readFile(readPath, "utf8");
// Moustache Render
let modifiedData: string = mustache.render(data, replacementObject);
// Add warning to not edit file
modifiedData = dedent`# DO NOT EDIT THIS FILE! EDIT THE TEMPlATES INSTEAD!
# See https://github.com/Nomi-CEu/Nomi-CEu/wiki/Part-1:-Contributing-Information#section-5-template-information!
${modifiedData}`;
// Write the modified content back to the file
for (const filename of writePaths) {
await fs.promises.writeFile(filename, modifiedData, "utf8");
}
}
export async function updateIssueTemplates(): Promise<void> {
// Filenames
const fileNames: string[] = ["001-bug-report.yml", "002-feature-request.yml"];
const versionsFilePath: string = upath.join(templatesFolder, "versions.txt");
let versionList: string = await fs.promises.readFile(versionsFilePath, "utf8");
if (!notRelease) {
// Add new version to list, with indent
versionList = ` - ${version}\n${versionList}`;
}
// Replacement Object
const replacementObject: Record<string, unknown> = {
versions: versionList,
};
// Write updated Version List
await fs.promises.writeFile(versionsFilePath, versionList);
const issueTemplatesFolder: string = upath.join(rootDirectory, ".github", "ISSUE_TEMPLATE");
// Write to issue templates
for (const fileName of fileNames) {
const readPath = upath.join(templatesFolder, fileName);
const writePath = upath.join(issueTemplatesFolder, fileName);
await modifyFile(readPath, [writePath], replacementObject);
}
}
export async function updateRandomPatchesConfig(): Promise<void> {
// Filename & paths
const fileName = "randompatches.cfg";
const readPath: string = upath.join(templatesFolder, fileName);
const writePathsNormal: string[] = [
upath.join(rootDirectory, configFolder, fileName),
upath.join(rootDirectory, configOverridesFolder, "normal", fileName),
];
// Replacement object
const replacementObject: Record<string, unknown> = {
version: version,
mode: "Normal",
};
// Modify Normal File
await modifyFile(readPath, writePathsNormal, replacementObject);
// Change values for Expert Config
replacementObject["mode"] = "Expert";
const writePathExpert = upath.join(rootDirectory, configOverridesFolder, "expert", fileName);
// Modify Expert File
await modifyFile(readPath, [writePathExpert], replacementObject);
}
export async function updateServerProperties(): Promise<void> {
// File name of the output files
const fileName = "server.properties";
// File name of the Normal Template File
const fileNameNormal = "server_normal.properties";
// File name of the Expert Template File
const fileNameExpert = "server_expert.properties";
// Replacement Object
const replacementObject: Record<string, unknown> = {
version: version,
};
// Read and Write paths for normal
const readPathNormal: string = upath.join(templatesFolder, fileNameNormal);
const writePathsNormal: string[] = [
upath.join(rootDirectory, "serverfiles", fileName),
upath.join(rootDirectory, configOverridesFolder, "normal", fileName),
];
// Modify Normal File
await modifyFile(readPathNormal, writePathsNormal, replacementObject);
// Read and Write paths for expert
const readPathExpert: string = upath.join(templatesFolder, fileNameExpert);
const writePathExpert: string = upath.join(rootDirectory, configOverridesFolder, "expert", fileName);
// Modify Expert File
await modifyFile(readPathExpert, [writePathExpert], replacementObject);
}
export async function updateMainMenuConfig(): Promise<void> {
// Filename & paths
const fileName = "mainmenu.json";
const readPath: string = upath.join(templatesFolder, fileName);
const writePath: string = upath.join(rootDirectory, configFolder, "CustomMainMenu", fileName);
// Replacement object
const replacementObject: Record<string, unknown> = {
version: version,
};
// Read file
const data: string = await fs.promises.readFile(readPath, "utf8");
// Moustache Render
const modifiedData = JSON.parse(mustache.render(data, replacementObject));
// Add warning to not edit file
modifiedData["_comment"] =
"DO NOT EDIT THIS FILE! EDIT THE TEMPlATES INSTEAD! See https://github.com/Nomi-CEu/Nomi-CEu/wiki/Part-1:-Contributing-Information#section-5-template-information!";
// Sort keys so that comment appears first
return await fs.promises.writeFile(writePath, sortedStringify(modifiedData, { space: 2 }), "utf8");
}
export const updateAll = gulp.series(
updateIssueTemplates,
updateRandomPatchesConfig,
updateServerProperties,
updateMainMenuConfig,
);