Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 527be09
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 08:59:56 2024 +0100

    Compilation fix

commit a14e959
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 08:55:25 2024 +0100

    Pipes are now hashed by their pipe layer

commit 2e763cf
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 08:46:39 2024 +0100

    Fixes Nanotrasen misspellings

commit 5abb601
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 08:45:37 2024 +0100

    Fixes metastation's invalid bag

commit 5aa269d
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 08:26:31 2024 +0100

    Removes some unused files

commit 2d7c66c
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 08:23:07 2024 +0100

    Allow CI building to have 515 for OD compilation

commit b3dbc23
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 08:19:52 2024 +0100

    Fixes APC checks

commit 5c99928
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 08:08:46 2024 +0100

    [TEST]: Fixes room spawner clearing outside of its bounds

commit 3952160
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 07:54:47 2024 +0100

    Retrigger builds

commit e37d930
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 07:52:51 2024 +0100

    Ports define sanity

    Co-Authored-By: san7890 <[email protected]>
    Co-Authored-By: Mothblocks <[email protected]>
    Co-Authored-By: Zephyr <[email protected]>

commit 6eb5d1c
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 07:48:14 2024 +0100

    Update check_grep.sh

commit fbb8871
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 07:46:44 2024 +0100

    Update _unit_tests.dm

commit 52f3e2c
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 07:46:20 2024 +0100

    Update beestation.dme

commit 641abce
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 31 07:46:17 2024 +0100

    Removes wallthing attachment, we will tackle this in the future

commit 0da58ea
Author: PowerfulBacon <[email protected]>
Date:   Fri Aug 30 20:36:27 2024 +0100

    Properly disables random maint rooms if unit tests are not defined

commit cdf6fc8
Merge: 465cc3c c35c0b3
Author: PowerfulBacon <[email protected]>
Date:   Fri Aug 30 19:52:26 2024 +0100

    Merge remote-tracking branch 'upstream/master' into ports-improved-testing

commit 465cc3c
Author: PowerfulBacon <[email protected]>
Date:   Fri Aug 30 19:49:37 2024 +0100

    Squashed commit of the following:

    commit 18bbae7
    Author: PowerfulBacon <[email protected]>
    Date:   Fri Aug 30 19:49:01 2024 +0100

        Allows disposals to end in delivery office

    commit 565af66
    Author: PowerfulBacon <[email protected]>
    Date:   Fri Aug 30 19:09:53 2024 +0100

        Merges 2 files together

    commit 195fa7c
    Author: PowerfulBacon <[email protected]>
    Date:   Fri Aug 30 18:58:57 2024 +0100

        Adds in mapping helpers for disposals

    commit 611dd96
    Author: ss13-beebot <[email protected]>
    Date:   Fri Aug 30 00:12:46 2024 +0000

        Automatic changelog compile [ci skip]

    commit 522552a
    Author: ss13-beebot <[email protected]>
    Date:   Thu Aug 29 18:03:54 2024 +0000

        Automatic changelog compile [ci skip]

    commit 1f5a444
    Author: ss13-beebot <[email protected]>
    Date:   Thu Aug 29 12:28:03 2024 -0500

        Automatic changelog generation for PR BeeStation#11366 [ci skip]

    commit c05a8ee
    Author: Rukofamicom <[email protected]>
    Date:   Thu Aug 29 12:18:22 2024 -0500

        Gibtonite flashes again (BeeStation#11366)

    commit af85a21
    Author: ss13-beebot <[email protected]>
    Date:   Thu Aug 29 17:03:19 2024 +0000

        Automatic changelog compile [ci skip]

    commit 000ed5c
    Author: ss13-beebot <[email protected]>
    Date:   Thu Aug 29 11:23:27 2024 -0500

        Automatic changelog generation for PR BeeStation#10983 [ci skip]

    commit fd1e700
    Author: Dejaku51 <[email protected]>
    Date:   Thu Aug 29 18:13:47 2024 +0200

        Server framework v2 (BeeStation#10983)

        * i don't remember what is happening

        * much better

        * just debug stuff

        * the ideas are coming

        * that shouldn't be here

        * it works now!

        * RnD servers integrated

        * sparks!

        * no more "if true return true"

        * reverse logic

        * adds ! to comments in stat.dm

        * clean up after yourself on Destroy()

        * splits early return

        * clean up after yourself tcomm monitoring

        * you too all tcomms machines

        * adds type holder instead of GetComponents

        * fix indentation

        * cmon indentation

        * HOW?!

        * oopsie woopsie

        * removes TODO and adds a comment

        * packet types and null on destroy

        * update comment

        * fixed radstation tcomms area + switches hub with blackbox

        * rebalances tcomms heat generation

        * fix echo tcomms cooling

        * that should stop funny exploit discovered by aramix

        * cooldown define

        * remove useless signal

        * opened machine is under maintenance

        * return null instead of 0 points

        * return false

        * I HATE TESTS

    commit 79ee753
    Author: ss13-beebot <[email protected]>
    Date:   Thu Aug 29 00:12:28 2024 +0000

        Automatic changelog compile [ci skip]

    commit f4028a7
    Author: ss13-beebot <[email protected]>
    Date:   Wed Aug 28 16:03:51 2024 +0000

        Automatic changelog compile [ci skip]

    commit ded9e05
    Author: ss13-beebot <[email protected]>
    Date:   Wed Aug 28 10:18:28 2024 -0500

        Automatic changelog generation for PR BeeStation#11373 [ci skip]

    commit c95ed70
    Author: ClownMoff <[email protected]>
    Date:   Wed Aug 28 15:59:25 2024 +0100

        Update cigarette.dm (BeeStation#11373)

    commit a251e91
    Author: ss13-beebot <[email protected]>
    Date:   Wed Aug 28 10:08:53 2024 -0500

        Automatic changelog generation for PR BeeStation#11387 [ci skip]

    commit 61b21cc
    Author: XeonMations <[email protected]>
    Date:   Wed Aug 28 17:58:39 2024 +0300

        Fixes simplemobs being able to interact with machinery (BeeStation#11387)

        * another PR, another banger

        * comment moment

    commit 1cf4941
    Author: Markus Larsson <[email protected]>
    Date:   Tue Aug 27 13:17:12 2024 +0200

        Delta Science Doors Fix (BeeStation#11303)

        * Silly goose didn't use the "txt" var.

        * Update DeltaStation2.dmm

        * Update DeltaStation2.dmm

        * Update DeltaStation2.dmm

    commit ceee177
    Author: PowerfulBacon <[email protected]>
    Date:   Tue Aug 27 11:35:01 2024 +0100

        Boxstation mapping fixes BeeStation#11364 (BeeStation#11368)

        * Fixes 89,129

        * Update BoxStation.dmm

        * Update BoxStation.dmm

        * Camera fixes

        * Adds in an unsorted loop to the boxstation package loop

        * Fixes direction of the sorting pipe

        * Fixes boxstation disposal issues

        * Fixes cameras

        * Fixes multiple objects stacked on top of each other

        * Fixes some lights placed on windows

        * Fixes all boxstation light issues

        * Update BoxStation.dmm

        * Fixes some lights placed on windows

        * Fixes all boxstation light issues

    commit 8d8f3f8
    Author: ss13-beebot <[email protected]>
    Date:   Tue Aug 27 00:12:25 2024 +0000

        Automatic changelog compile [ci skip]

    commit ff2162b
    Author: ss13-beebot <[email protected]>
    Date:   Mon Aug 26 18:11:15 2024 -0500

        Automatic changelog generation for PR BeeStation#11385 [ci skip]

    commit d1c6236
    Author: XeonMations <[email protected]>
    Date:   Tue Aug 27 02:01:44 2024 +0300

        Fuck ups of the year. (BeeStation#11385)

commit 018050c
Author: PowerfulBacon <[email protected]>
Date:   Fri Aug 30 19:36:33 2024 +0100

    Allows disposals to end in delivery office

commit 15043f0
Author: PowerfulBacon <[email protected]>
Date:   Fri Aug 30 17:48:38 2024 +0100

    warnings fix

commit 0ca5a9b
Author: PowerfulBacon <[email protected]>
Date:   Fri Aug 30 17:39:12 2024 +0100

    Update check_wallthing_attachment.dm

commit 8f76cf4
Author: PowerfulBacon <[email protected]>
Date:   Fri Aug 30 17:35:19 2024 +0100

    How about we just disable random maints on unit testing

commit b6f8758
Author: PowerfulBacon <[email protected]>
Date:   Fri Aug 30 17:27:38 2024 +0100

    Corrects some issues with the map tests

commit 4f54524
Merge: 7260810 625b04b
Author: PowerfulBacon <[email protected]>
Date:   Mon Aug 26 08:22:40 2024 +0100

    Merge branch 'master' into ports-improved-testing

commit 7260810
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 20:13:11 2024 +0100

    Assume that things with different pixel offsets are intended to be different

commit 1bbc879
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 20:11:52 2024 +0100

    Fixes list messages

commit 58843f2
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 20:04:02 2024 +0100

    Update check_multiple_objects.dm

commit c6d4095
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 19:52:51 2024 +0100

    Update check_multiple_objects.dm

commit d85f113
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 19:52:14 2024 +0100

    Update check_multiple_objects.dm

commit 8cfe1cd
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 19:42:30 2024 +0100

    Fixes the multiple object check

commit a0c6ef2
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 19:23:29 2024 +0100

    Adds a check for multiple objects on the same turf

commit a4587f4
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 18:34:24 2024 +0100

    Fixes the issue with virology and finally resolves issues with the disposals checker

commit a0e8309
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 18:16:19 2024 +0100

    /area/medical/apothecary is valid for the output of chemistry

commit ba5a397
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 17:58:39 2024 +0100

    Update check_disposals.dm

commit 63c3663
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 17:40:53 2024 +0100

    Update check_disposals.dm

commit d1f2902
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 17:15:12 2024 +0100

    Fixes an issue with the disposals check

commit b75d1a4
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 16:45:56 2024 +0100

    Entering a pipe backwards will send you the way that you came

commit 7fb991f
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 15:48:41 2024 +0100

    Adds more information to the failure

commit e3fe945
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 16:42:09 2024 +0100

    Bug fixes

commit 92c3cc7
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 16:34:59 2024 +0100

    Update pipe_sorting.dm

commit a7528d4
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 16:28:39 2024 +0100

    Fixes pipe sorting

commit 1a6edeb
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 15:32:38 2024 +0100

    Fixes disposals detecting loops when there are none

commit 21e0b93
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 15:21:36 2024 +0100

    Fixes ending in a null location

commit 3c87600
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 15:14:56 2024 +0100

    Update check_disposals.dm

commit 9b00662
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 14:58:11 2024 +0100

    Adds the ability to build the unsorted pipe with the RPD

commit d642d63
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 14:57:34 2024 +0100

    Only send unsorted things if they need sorting

commit 126c24c
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 14:50:07 2024 +0100

    Adds an unsorted sorting pipe

commit bb5052f
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 14:41:35 2024 +0100

    Adds a somewhat hacky check to fix random maint room spawning

commit d16c197
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 14:22:30 2024 +0100

    Random rooms will delete any directional things not placed on walls, fixes inconsistent indentation

commit 072ddc8
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 13:53:59 2024 +0100

    Fixes some areas interacting wtih APC checks

commit 274909c
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 13:44:00 2024 +0100

    Update check_disposals.dm

commit 9ca31dd
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 13:36:31 2024 +0100

    Update check_disposals.dm

commit 94c2085
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 13:34:26 2024 +0100

    Makes run ID properly unique

commit 45360e1
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 13:22:39 2024 +0100

    Corrects a mistake

commit a7b89ae
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 13:17:17 2024 +0100

    Fixes the stupidity of sort codes

commit ff4d191
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 13:10:37 2024 +0100

    Update check_disposals.dm

commit 917e401
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 13:03:43 2024 +0100

    Debug info

commit ee5e62a
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 12:57:54 2024 +0100

    Fixes

commit 90438ae
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 12:50:25 2024 +0100

    Update check_disposals.dm

commit 34f9ff3
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 12:42:14 2024 +0100

    Account for the complete shitcode of disposals

commit f84270f
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 12:30:04 2024 +0100

    Fixes disposal loop bug

commit b42465e
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 12:24:32 2024 +0100

    Fixes failures not being properly

commit 360fdb9
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 12:18:41 2024 +0100

    Correctly return when we encounter an error

commit 5bb1bb3
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 12:17:19 2024 +0100

    Fixes infinite loop check

commit 4fb080d
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 12:02:48 2024 +0100

    Another correction in disposal tests

commit 602bb86
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 11:57:56 2024 +0100

    Fixes issue with disposal unit test check

commit 4e95a42
Author: PowerfulBacon <[email protected]>
Date:   Sun Aug 25 11:52:12 2024 +0100

    Fixes crashing issues

commit ff1888e
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 17:32:50 2024 +0100

    Re-enables atmos reset

commit 366fb6c
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 17:29:38 2024 +0100

    Disables restore_atmos

commit d7db0d2
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 17:29:30 2024 +0100

    Revert "Removes auxmos temporarilly"

    This reverts commit 4c42c82.

commit 4c42c82
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 17:24:55 2024 +0100

    Removes auxmos temporarilly

commit 6bca77d
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 17:18:43 2024 +0100

    Corrects the DME target

commit 60aee82
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 17:15:49 2024 +0100

    Fixes compilation issues

commit 4abb5d4
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 17:12:36 2024 +0100

    Fixes compilation

commit 9fc4a21
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 17:09:41 2024 +0100

    Update run_server.sh

    Co-Authored-By: Mothblocks <[email protected]>
    Co-Authored-By: Jordan Dominion <[email protected]>
    Co-Authored-By: LemonInTheDark <[email protected]>
    Co-Authored-By: Tastyfish <[email protected]>

commit 8623632
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 17:07:47 2024 +0100

    Disables create and destroy

commit 3ea806e
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 16:58:40 2024 +0100

    Adds some mapping testers

commit ded19de
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 16:00:20 2024 +0100

    Adds mapping tests

commit 305bbd2
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 15:50:03 2024 +0100

    Updates check_grep to include the new

commit cee5de3
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 15:16:36 2024 +0100

    Update run_server.sh

commit 0c1d521
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 15:16:00 2024 +0100

    I don't think we need mariaDB anymore

commit 764a780
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:59:56 2024 +0100

    Fixes qdel in optimisation

commit 66c79d1
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:52:52 2024 +0100

    Create max_required_byond_client.txt

    Co-Authored-By: Kyle Spier-Swenson <[email protected]>
    Co-Authored-By: Mothblocks <[email protected]>

commit 1d7c099
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:47:55 2024 +0100

    Fixes references to TGstation isntead of Beestation

commit 862579e
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:44:49 2024 +0100

    Adds ticked file enforcement

    Co-Authored-By: san7890 <[email protected]>
    Co-Authored-By: LemonInTheDark <[email protected]>

commit f560f45
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:42:38 2024 +0100

    Adds trait validity

commit c024799
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:41:29 2024 +0100

    Fixes redefined defines

commit 58d25b8
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:37:55 2024 +0100

    Adds python setup in the runner

commit f675b6f
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:24:50 2024 +0100

    Update world.dm

commit 7ced2c5
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:17:12 2024 +0100

    Should fix the segmentation fault

commit bae3626
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:11:56 2024 +0100

    Adds auxmos to the unit tests

commit 9599911
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 14:02:40 2024 +0100

    Removes 515 specific features

commit ed73fdd
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 13:57:28 2024 +0100

    Removes all datum ignores

commit 6b3f9e6
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 13:55:45 2024 +0100

    Ignores anything that has an initialize which requires parameters

commit e4efb1a
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 13:55:03 2024 +0100

    Update unit_test.dm

commit a59438b
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 13:50:00 2024 +0100

    Fixes compilation issues

commit 7ed90ab
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 13:46:04 2024 +0100

    Ports some stuff relating to tests, but modularises ignore list for create_and_destroy

commit 3e3b540
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 13:02:00 2024 +0100

    Update create_and_destroy.dm

commit 584022f
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 12:59:49 2024 +0100

    Adds annotations

commit 03c0b79
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 12:51:03 2024 +0100

    Update alternate_byond_versions.txt

commit e19e302
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 12:45:58 2024 +0100

    Update alternate_byond_versions.txt

commit 4ce3897
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 12:45:39 2024 +0100

    Update alternate_byond_versions.txt

commit 6ef031c
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 12:41:22 2024 +0100

    Removes the need for the prefixed database

commit 3704e38
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 12:38:19 2024 +0100

    uses TG's repo for client compatability

commit 289a8f1
Author: PowerfulBacon <[email protected]>
Date:   Sat Aug 24 12:33:40 2024 +0100

    Ports improved unit tests from TG

Not all areas require power
  • Loading branch information
PowerfulBacon committed Sep 1, 2024
1 parent d8b94fa commit 0212b8c
Show file tree
Hide file tree
Showing 324 changed files with 2,943 additions and 2,047 deletions.
8 changes: 8 additions & 0 deletions .github/alternate_byond_versions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# This file contains extra tests to run for specific BYOND versions.
# This is useful for making sure we maintain compatibility with both older and newer versions,
# while still having our main tests run on a guaranteed pinned version.

# Format is version: map
# Example:
# 500.1337: runtimestation
#515.1627: runtimestation
8 changes: 8 additions & 0 deletions .github/max_required_byond_client.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Highest byond client version allowed to be required by the byond world. Set to 9999 to disable the check flat out.
# If the compiled world requires clients use a version higher than this, ci will fail.
# for instance: if this is set to 514, and a pr uses a 515 client feature, an alert will trigger
# If you have to update this number for your pr, you should make it VERY CLEAR in the pr body that you did so.
# (Requiring clients update to connect to the game server is not something we like to spring on them with no notice,
# especially for beta builds where the pager/updater won't let them update without additional configuration.)

514
293 changes: 293 additions & 0 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,293 @@
name: CI Suite
on:
push:
branches:
- master
- 'project/**'
- 'gh-readonly-queue/master/**'
- 'gh-readonly-queue/project/**'
pull_request:
branches:
- master
- 'project/**'
merge_group:
branches:
- master

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
run_linters:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Run Linters
runs-on: ubuntu-22.04
timeout-minutes: 5

steps:
- uses: actions/checkout@v4
- name: Restore SpacemanDMM cache
uses: actions/cache@v4
with:
path: ~/SpacemanDMM
key: ${{ runner.os }}-spacemandmm-${{ hashFiles('dependencies.sh') }}
restore-keys: |
${{ runner.os }}-spacemandmm-
- name: Restore Yarn cache
uses: actions/cache@v4
with:
path: tgui/.yarn/cache
key: ${{ runner.os }}-yarn-${{ hashFiles('tgui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Restore Node cache
uses: actions/cache@v4
with:
path: ~/.nvm
key: ${{ runner.os }}-node-${{ hashFiles('dependencies.sh') }}
restore-keys: |
${{ runner.os }}-node-
- name: Restore Bootstrap cache
uses: actions/cache@v4
with:
path: tools/bootstrap/.cache
key: ${{ runner.os }}-bootstrap-${{ hashFiles('tools/requirements.txt') }}
restore-keys: |
${{ runner.os }}-bootstrap-
- name: Restore Rust cache
uses: actions/cache@v4
with:
path: ~/.cargo
key: ${{ runner.os }}-rust-${{ hashFiles('tools/ci/ci_dependencies.sh')}}
restore-keys: |
${{ runner.os }}-rust-
- name: Restore Cutter cache
uses: actions/cache@v4
with:
path: tools/icon_cutter/cache
key: ${{ runner.os }}-cutter-${{ hashFiles('dependencies.sh') }}
- name: Python setup
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install OpenDream
uses: robinraju/[email protected]
with:
repository: "OpenDreamProject/OpenDream"
tag: "latest"
fileName: "DMCompiler_linux-x64.tar.gz"
extract: true
- name: Install Tools
run: |
pip3 install setuptools
bash tools/ci/install_node.sh
bash tools/ci/install_spaceman_dmm.sh dreamchecker
bash tools/ci/install_ripgrep.sh
tools/bootstrap/python -c ''
- name: Setup linters
id: linter-setup
run: ':'
- name: Run Grep Checks
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: bash tools/ci/check_grep.sh
- name: Ticked File Enforcement
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: |
tools/bootstrap/python tools/ticked_file_enforcement/ticked_file_enforcement.py < tools/ticked_file_enforcement/schemas/beestation_dme.json
tools/bootstrap/python tools/ticked_file_enforcement/ticked_file_enforcement.py < tools/ticked_file_enforcement/schemas/unit_tests.json
- name: Check Define Sanity
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/bootstrap/python -m define_sanity.check
- name: Check Trait Validity
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/bootstrap/python -m trait_validity.check
- name: Run DreamChecker
if: steps.linter-setup.conclusion == 'success' && !cancelled()
shell: bash
run: ~/dreamchecker 2>&1 | bash tools/ci/annotate_dm.sh
- name: Run OpenDream
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: ./DMCompiler_linux-x64/DMCompiler beestation.dme --suppress-unimplemented --define=CIBUILDING | bash tools/ci/annotate_od.sh
- name: Run Map Checks
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: |
tools/bootstrap/python -m mapmerge2.dmm_test
tools/bootstrap/python -m tools.maplint.source
- name: Check Cutter
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/bootstrap/python -m tools.icon_cutter.check
- name: Run DMI Tests
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/bootstrap/python -m dmi.test
- name: Check File Directories
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: bash tools/ci/check_filedirs.sh beestation.dme
- name: Check Changelogs
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: bash tools/ci/check_changelogs.sh
- name: Check Miscellaneous Files
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: bash tools/ci/check_misc.sh
- name: Run TGUI Checks
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/build/build --ci lint tgui-test

compile_all_maps:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Compile Maps
needs: [collect_data]
runs-on: ubuntu-22.04
timeout-minutes: 5

steps:
- uses: actions/checkout@v4
- name: Restore BYOND cache
uses: actions/cache@v4
with:
path: ~/BYOND
key: ${{ runner.os }}-byond-${{ hashFiles('dependencies.sh') }}
- name: Compile All Maps
run: |
bash tools/ci/install_byond.sh
source $HOME/BYOND/byond/bin/byondsetup
tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS
- name: Check client Compatibility
uses: tgstation/byond-client-compatibility-check@v3
with:
dmb-location: beestation.dmb
max-required-client-version: ${{needs.collect_data.outputs.max_required_byond_client}}

collect_data:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Collect data for other tasks
runs-on: ubuntu-22.04
timeout-minutes: 5
outputs:
maps: ${{ steps.map_finder.outputs.maps }}
alternate_tests: ${{ steps.alternate_test_finder.outputs.alternate_tests }}
max_required_byond_client: ${{ steps.max_required_byond_client.outputs.max_required_byond_client }}

steps:
- uses: actions/checkout@v4
- name: Find Maps
id: map_finder
run: |
echo "$(ls -mw0 _maps/*.json)" > maps_output.txt
sed -i -e s+_maps/+\"+g -e s+.json+\"+g maps_output.txt
echo "Maps: $(cat maps_output.txt)"
echo "maps={\"paths\":[$(cat maps_output.txt)]}" >> $GITHUB_OUTPUT
- name: Find Alternate Tests
id: alternate_test_finder
run: |
ALTERNATE_TESTS_JSON=$(jq -nRc '[inputs | capture("^(?<major>[0-9]+)\\.(?<minor>[0-9]+): (?<map>.+)$")]' .github/alternate_byond_versions.txt)
echo "alternate_tests=$ALTERNATE_TESTS_JSON" >> $GITHUB_OUTPUT
- name: Collect byond client version configuration
id: max_required_byond_client
#the regex here does not filter out non-numbers because error messages about no input are less helpful then error messages about bad input (which includes the bad input)
run: |
echo "max_required_byond_client=$(grep -Ev '^[[:blank:]]{0,}#{1,}|^[[:blank:]]{0,}$' .github/max_required_byond_client.txt | tail -n1)" >> $GITHUB_OUTPUT
run_all_tests:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Integration Tests
needs: [collect_data]

strategy:
fail-fast: false
matrix:
map: ${{ fromJSON(needs.collect_data.outputs.maps).paths }}

uses: ./.github/workflows/run_integration_tests.yml
with:
map: ${{ matrix.map }}
max_required_byond_client: ${{needs.collect_data.outputs.max_required_byond_client}}

run_alternate_tests:
if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.collect_data.outputs.alternate_tests != '[]' )
name: Alternate Tests
needs: [collect_data]
strategy:
fail-fast: false
matrix:
setup: ${{ fromJSON(needs.collect_data.outputs.alternate_tests) }}

uses: ./.github/workflows/run_integration_tests.yml
with:
map: ${{ matrix.setup.map }}
major: ${{ matrix.setup.major }}
minor: ${{ matrix.setup.minor }}
max_required_byond_client: ${{needs.collect_data.outputs.max_required_byond_client}}

check_alternate_tests:
if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.collect_data.outputs.alternate_tests != '[]' )
name: Check Alternate Tests
needs: [run_alternate_tests]
runs-on: ubuntu-22.04
timeout-minutes: 5
steps:
- run: echo Alternate tests passed.

compare_screenshots:
if: ( !contains(github.event.head_commit.message, '[ci skip]') && (always() && (!failure() && !cancelled())) )
needs: [run_all_tests, run_alternate_tests]
name: Compare Screenshot Tests
timeout-minutes: 15
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Setup directory
run: mkdir -p artifacts
# If we ever add more artifacts, this is going to break, but it'll be obvious.
- name: Download screenshot tests
uses: actions/download-artifact@v4
with:
path: artifacts
- name: ls -R
run: ls -R artifacts
- name: Setup screenshot comparison
run: npm i
working-directory: tools/screenshot-test-comparison
- name: Run screenshot comparison
run: node tools/screenshot-test-comparison/index.js artifacts code/modules/unit_tests/screenshots artifacts/screenshot_comparisons
# workflow_run does not give you the PR it ran on,
# even through the thing literally named "matching pull requests".
# However, in GraphQL, you can check if the check suite was ran
# by a specific PR, so trusting the (user controlled) action here is okay,
# as long as we check it later in show_screenshot_test_results
- name: Save PR ID
if: failure() && github.event.pull_request
run: |
echo ${{ github.event.pull_request.number }} > artifacts/screenshot_comparisons/pull_request_number.txt
- name: Upload bad screenshots
if: failure()
uses: actions/upload-artifact@v4
with:
name: bad-screenshots
path: artifacts/screenshot_comparisons

test_windows:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Windows Build
needs: [collect_data]
runs-on: windows-latest
timeout-minutes: 5

steps:
- uses: actions/checkout@v4
- name: Restore Yarn cache
uses: actions/cache@v4
with:
path: tgui/.yarn/cache
key: ${{ runner.os }}-yarn-${{ hashFiles('tgui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Compile
run: pwsh tools/ci/build.ps1
env:
DM_EXE: "C:\\byond\\bin\\dm.exe"
- name: Check client Compatibility
uses: tgstation/byond-client-compatibility-check@v3
with:
dmb-location: beestation.dmb
max-required-client-version: ${{needs.collect_data.outputs.max_required_byond_client}}
Loading

0 comments on commit 0212b8c

Please sign in to comment.