mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-09 16:05:07 +00:00
Split compile all maps workflow into two parallel jobs (#91038)
- Change `_basemap.dm` so instead of templates being included when `CIBUILDING` is defined, it's based off a separate `ALL_TEMPLATES` flag, like `ALL_MAPS`, also made it not dependent on `ALL_MAPS` being defined, so the two can run separately - Changes build.js to generate `templates.dm` with the `ALL_TEMPLATES` flag instead of `ALL_MAPS` - Change the compile all maps workflow to have two separate jobs, one that does `ALL_MAPS` and one that does `ALL_TEMPLATES` The downstreams are starting to run out of memory during this workflow because we have extra templates and maps, splitting it this way should alleviate that problem (for rough, non-scientific numbers: Combined workflow reaches 3.5GB and then crashes during holodeck templates using bubber code, split like this the maps workflow reaches 1GB and finishes, the templates workflow reaches 1.5GB and finishes) No player facing changes
This commit is contained in:
19
.github/workflows/compile_all_maps.yml
vendored
19
.github/workflows/compile_all_maps.yml
vendored
@@ -8,7 +8,8 @@ on:
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
compile_all_maps:
|
||||
compile_all_stations:
|
||||
name: Compile All Station Maps
|
||||
runs-on: ubuntu-22.04
|
||||
timeout-minutes: 5
|
||||
|
||||
@@ -27,3 +28,19 @@ jobs:
|
||||
with:
|
||||
dmb-location: tgstation.dmb
|
||||
max-required-client-version: ${{inputs.max_required_byond_client}}
|
||||
|
||||
compile_all_templates:
|
||||
name: Compile All Templates
|
||||
runs-on: ubuntu-22.04
|
||||
timeout-minutes: 5
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup Node
|
||||
uses: ./.github/actions/setup_node
|
||||
- name: Restore BYOND from Cache
|
||||
uses: ./.github/actions/restore_or_install_byond
|
||||
- name: Compile All Maps
|
||||
run: |
|
||||
source $HOME/BYOND/byond/bin/byondsetup
|
||||
tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_TEMPLATES
|
||||
|
||||
@@ -25,9 +25,8 @@
|
||||
#include "map_files\moonstation\moonstation.dmm"
|
||||
#include "map_files\BoxStation\BoxStation.dmm"
|
||||
// BUBBER EDIT ADDITION END
|
||||
|
||||
#ifdef CIBUILDING
|
||||
#include "templates.dm"
|
||||
#endif
|
||||
#endif
|
||||
#ifdef ALL_TEMPLATES
|
||||
#include "templates.dm"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -231,7 +231,7 @@ export const DmMapsIncludeTarget = new Juke.Target({
|
||||
export const DmTarget = new Juke.Target({
|
||||
parameters: [DefineParameter, DmVersionParameter, WarningParameter, NoWarningParameter, SkipIconCutter],
|
||||
dependsOn: ({ get }) => [
|
||||
get(DefineParameter).includes('ALL_MAPS') && DmMapsIncludeTarget,
|
||||
get(DefineParameter).includes('ALL_TEMPLATES') && DmMapsIncludeTarget,
|
||||
!get(SkipIconCutter) && IconCutterTarget,
|
||||
],
|
||||
inputs: [
|
||||
@@ -270,7 +270,7 @@ export const DmTarget = new Juke.Target({
|
||||
export const DmTestTarget = new Juke.Target({
|
||||
parameters: [DefineParameter, DmVersionParameter, WarningParameter, NoWarningParameter],
|
||||
dependsOn: ({ get }) => [
|
||||
get(DefineParameter).includes('ALL_MAPS') && DmMapsIncludeTarget,
|
||||
get(DefineParameter).includes('ALL_TEMPLATES') && DmMapsIncludeTarget,
|
||||
IconCutterTarget,
|
||||
],
|
||||
executes: async ({ get }) => {
|
||||
@@ -306,7 +306,7 @@ export const DmTestTarget = new Juke.Target({
|
||||
export const AutowikiTarget = new Juke.Target({
|
||||
parameters: [DefineParameter, DmVersionParameter, WarningParameter, NoWarningParameter],
|
||||
dependsOn: ({ get }) => [
|
||||
get(DefineParameter).includes('ALL_MAPS') && DmMapsIncludeTarget,
|
||||
get(DefineParameter).includes('ALL_TEMPLATES') && DmMapsIncludeTarget,
|
||||
IconCutterTarget,
|
||||
],
|
||||
outputs: [
|
||||
|
||||
Reference in New Issue
Block a user