Skip to content

Commit

Permalink
Merge branch 'master' into swords
Browse files Browse the repository at this point in the history
  • Loading branch information
Fullonibus authored Jan 31, 2025
2 parents 08425c5 + ce3ed09 commit f953774
Show file tree
Hide file tree
Showing 2,123 changed files with 54,350 additions and 31,643 deletions.
29 changes: 12 additions & 17 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,13 @@
/.github/guides/VISUALS.md @LemonInTheDark
/code/_onclick/hud/ @LemonInTheDark
/code/__DEFINES/layers.dm @LemonInTheDark
/code/__DEFINES/MC.dm @LemonInTheDark
/code/controllers/admin.dm @LemonInTheDark
/code/controllers/failsafe.dm @LemonInTheDark
/code/controllers/master.dm @LemonInTheDark
/code/controllers/subsystem.dm @LemonInTheDark
/code/controllers/subsystem/air.dm @LemonInTheDark
/code/controllers/subsystem/timer.dm @LemonInTheDark

# Mothblocks

Expand Down Expand Up @@ -163,10 +170,6 @@
/code/modules/mob/living/carbon/carbon_update_icons.dm @Kapu1178
/code/modules/mob/living/carbon/human/human_update_icons.dm @Kapu1178

# MrStonedOne

/code/controllers/subsystem/timer.dm @MrStonedOne

# NamelessFairy

/code/modules/capture_the_flag/ @NamelessFairy
Expand All @@ -181,7 +184,7 @@

# MULTIPLE OWNERS

/SQL/ @Jordie0608 @MrStonedOne @scriptis
/SQL/ @Jordie0608 @scriptis

/_maps/ @EOBGames @Maurukas @MMMiracles @san7890 @ShizCalev

Expand All @@ -191,14 +194,6 @@

/code/__HELPERS/logging/ @dragomagol @ZephyrTFA

/code/__DEFINES/MC.dm @LemonInTheDark @MrStonedOne
/code/controllers/admin.dm @LemonInTheDark @MrStonedOne
/code/controllers/master.dm @LemonInTheDark @MrStonedOne
/code/controllers/failsafe.dm @LemonInTheDark @MrStonedOne
/code/controllers/subsystem.dm @LemonInTheDark @MrStonedOne

/code/controllers/subsystem/air.dm @LemonInTheDark @MrStonedOne

/code/modules/atmospherics/ @Ghilker @LemonInTheDark

/code/modules/client/preferences.dm @Mothblocks @ZephyrTFA
Expand All @@ -212,15 +207,15 @@

/code/modules/surgery/ @ExcessiveUseOfCobblestone @Ryll-Ryll

/tools/build/ @MrStonedOne @scriptis @stylemistake
/tools/tgs_scripts/ @Cyberboss @MrStonedOne @scriptis
/tools/build/ @scriptis @stylemistake
/tools/tgs_scripts/ @Cyberboss @scriptis

/tools/WebhookProcessor/ @BraveMole @TiviPlus

# Host Hell

/code/controllers/configuration/entries @MrStonedOne @scriptis
/config/ @MrStonedOne @scriptis
/code/controllers/configuration/entries @scriptis
/config/ @scriptis

# Expensive files that touching basically always cause performance problems
## Init times
Expand Down
51 changes: 51 additions & 0 deletions .github/actions/restore_or_install_byond/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# This is a reusable workflow to restore BYOND from a cache, or to install it otherwise.
name: Restore or Install BYOND
description: Attempts to restore a specified BYOND version from cache; if it can't, it installs it.

inputs:
major:
description: "The major BYOND version to install. Defaults to the BYOND_MAJOR specified in `dependencies.sh`."
required: false
type: string
minor:
description: "The minor BYOND version to install. Defaults to the BYOND_MINOR specified in `dependencies.sh`."
required: false
type: string

runs:
using: composite
steps:
- name: Configure BYOND version from inputs
if: ${{ inputs.major }}
shell: bash
run: |
echo "BYOND_MAJOR=${{ inputs.major }}" >> $GITHUB_ENV
echo "BYOND_MINOR=${{ inputs.minor }}" >> $GITHUB_ENV
- name: Configure BYOND version from dependencies.sh
if: ${{ !inputs.major }}
shell: bash
run: |
source dependencies.sh
echo "BYOND_MAJOR=$BYOND_MAJOR" >> $GITHUB_ENV
echo "BYOND_MINOR=$BYOND_MINOR" >> $GITHUB_ENV
# The use of `actions/cache/restore` and `actions/cache/save` here is deliberate, as we want to
# save the BYOND install to a cache as early as possible. If we used just `actions/cache`, it
# would only attempt to save the cache at the end of a job. This ensures that if a workflow run
# is cancelled, we already have a cache to restore from.
- name: Restore BYOND cache
id: restore_byond_cache
uses: actions/cache/restore@v4
with:
path: ~/BYOND
key: ${{ runner.os }}-byond-${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}
- name: Install BYOND
if: ${{ !steps.restore_byond_cache.outputs.cache-hit }}
shell: bash
run: bash tools/ci/install_byond.sh
- name: Save BYOND cache
if: ${{ !steps.restore_byond_cache.outputs.cache-hit }}
uses: actions/cache/save@v4
with:
path: ~/BYOND
key: ${{ steps.restore_byond_cache.outputs.cache-primary-key }}
2 changes: 1 addition & 1 deletion .github/alternate_byond_versions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
# 500.1337: runtimestation
# 516.1638: runtimestation;516
# Lowest supported version
515.1627: runtimestation
515.1642: runtimestation
# Beta version
516.1648: runtimestation;516
2 changes: 1 addition & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
- head-branch: 'merge-upstream'

':pencil: Перевод':
- base-branch: 'translate'
- head-branch: ['^translate', 'translate', '^translation', 'translation']

':wrench: Фикс':
- head-branch: ['^fix', 'fix']
Expand Down
8 changes: 2 additions & 6 deletions .github/workflows/autowiki.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,16 @@ jobs:
- name: Checkout
if: steps.secrets_set.outputs.SECRETS_ENABLED
uses: actions/checkout@v4
- name: Restore BYOND cache
- name: Install BYOND
if: steps.secrets_set.outputs.SECRETS_ENABLED
uses: actions/cache@v4
with:
path: ~/BYOND
key: ${{ runner.os }}-byond-${{ hashFiles('dependencies.sh') }}
uses: ./.github/actions/restore_or_install_byond
- name: Install rust-g
if: steps.secrets_set.outputs.SECRETS_ENABLED
run: |
bash tools/ci/install_rust_g.sh
- name: Compile and generate Autowiki files
if: steps.secrets_set.outputs.SECRETS_ENABLED
run: |
bash tools/ci/install_byond.sh
source $HOME/BYOND/byond/bin/byondsetup
tools/build/build --ci autowiki
- name: Run Autowiki
Expand Down
36 changes: 10 additions & 26 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,16 @@ on:
push:
branches:
- master
- translate
- 'project/**'
- 'gh-readonly-queue/master/**'
- 'gh-readonly-queue/project/**'
pull_request:
branches:
- master
- translate
- 'project/**'
merge_group:
branches:
- master
- translate

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down Expand Up @@ -159,14 +156,10 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Restore BYOND cache
uses: actions/cache@v4
with:
path: ~/BYOND
key: ${{ runner.os }}-byond-${{ hashFiles('dependencies.sh') }}
- name: Restore BYOND from Cache
uses: ./.github/actions/restore_or_install_byond
- 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
Expand All @@ -176,7 +169,7 @@ jobs:
max-required-client-version: ${{needs.collect_data.outputs.max_required_byond_client}}

collect_data:
name: Collect data for other tasks
name: Collect data and setup caches for other tasks
needs: start_gate
runs-on: ubuntu-22.04
timeout-minutes: 5
Expand Down Expand Up @@ -204,36 +197,27 @@ jobs:
#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
- name: Set up BYOND cache
uses: ./.github/actions/restore_or_install_byond

run_all_tests:
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
uses: ./.github/workflows/perform_regular_version_tests.yml
with:
map: ${{ matrix.map }}
maps: ${{ needs.collect_data.outputs.maps }}
max_required_byond_client: ${{needs.collect_data.outputs.max_required_byond_client}}

run_alternate_tests:
if: 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
uses: ./.github/workflows/perform_alternate_version_tests.yml
with:
map: ${{ matrix.setup.map }}
major: ${{ matrix.setup.major }}
minor: ${{ matrix.setup.minor }}
max_required_byond_client: ${{ matrix.setup.max_client_version || needs.collect_data.outputs.max_required_byond_client }}
alternate_tests: ${{ needs.collect_data.outputs.alternate_tests }}
default_max_required_byond_client: ${{ needs.collect_data.outputs.max_required_byond_client }}

compare_screenshots:
if: needs.collect_data.outputs.alternate_tests == '[]' || needs.run_alternate_tests.result == 'success'
Expand Down
83 changes: 0 additions & 83 deletions .github/workflows/detect_translate_conflicts.yml

This file was deleted.

28 changes: 26 additions & 2 deletions .github/workflows/gbp.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,34 @@
name: GBP
name: Label and GBP
on:
pull_request_target:
types: [closed, opened]
types: [closed, opened, synchronize]
jobs:
# labeler must run before gbp because gbp calculates itself based on labels
labeler:
runs-on: ubuntu-latest
if: github.event.action == 'opened' || github.event.action == 'synchronize'
permissions:
pull-requests: write # to apply labels
issues: write # to apply labels
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run Auto Labeler
uses: actions/github-script@v7
with:
script: |
const { get_updated_label_set } = await import('${{ github.workspace }}/tools/pull_request_hooks/autoLabel.js');
const new_labels = await get_updated_label_set({ github, context });
github.rest.issues.setLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: new_labels,
});
console.log(`Labels updated: ${new_labels}`);
gbp:
runs-on: ubuntu-latest
if: github.event.action == 'opened' || github.event.action == 'closed'
steps:
- name: "Check for ACTION_ENABLER secret and pass true to output if it exists to be checked by later steps"
id: value_holder
Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/perform_alternate_version_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Run Alternate BYOND Version Tests
on:
workflow_call:
inputs:
alternate_tests:
required: true
type: string
default_max_required_byond_client:
required: true
type: string

jobs:
run:
uses: ./.github/workflows/run_integration_tests.yml

strategy:
fail-fast: false
matrix:
setup: ${{ fromJSON(inputs.alternate_tests) }}

with:
map: ${{ matrix.setup.map }}
major: ${{ matrix.setup.major }}
minor: ${{ matrix.setup.minor }}
max_required_byond_client: ${{ matrix.setup.max_client_version || inputs.default_max_required_byond_client }}
Loading

0 comments on commit f953774

Please sign in to comment.