diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index 71736114f782..bad7daa287c1 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -12,7 +12,10 @@ jobs: run_linters: if: ( !contains(github.event.head_commit.message, '[ci skip]') ) name: Run Linters - runs-on: ubuntu-20.04 + runs-on: ubuntu-20.04 #Pinning this for now, the correct way is to port Mothblocks' update to 22.* + concurrency: + group: run_linters-${{ github.head_ref || github.run_id }} + cancel-in-progress: true steps: - uses: actions/checkout@v3 - name: Restore SpacemanDMM cache @@ -67,7 +70,7 @@ jobs: compile_all_maps: if: ( !contains(github.event.head_commit.message, '[ci skip]') ) name: Compile Maps - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Restore BYOND cache @@ -84,7 +87,7 @@ jobs: find_all_maps: if: ( !contains(github.event.head_commit.message, '[ci skip]') ) name: Find Maps to Test - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest outputs: maps: ${{ steps.map_finder.outputs.maps }} alternate_tests: ${{ steps.alternate_test_finder.outputs.alternate_tests }} @@ -142,7 +145,7 @@ jobs: if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]' ) name: Check Alternate Tests needs: [run_alternate_tests] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - run: echo Alternate tests passed. @@ -150,7 +153,7 @@ jobs: if: ( !contains(github.event.head_commit.message, '[ci skip]') && (success() || failure()) ) needs: [run_all_tests, run_alternate_tests] name: Compare Screenshot Tests - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 # If we ever add more artifacts, this is going to break, but it'll be obvious. diff --git a/.github/workflows/compile_changelogs.yml b/.github/workflows/compile_changelogs.yml index 1b7bb9b0c05a..e658dceb6fff 100644 --- a/.github/workflows/compile_changelogs.yml +++ b/.github/workflows/compile_changelogs.yml @@ -8,7 +8,7 @@ on: jobs: compile: name: "Compile changelogs" - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: "Check for ACTION_ENABLER secret and pass true to output if it exists to be checked by later steps" id: value_holder @@ -17,7 +17,7 @@ jobs: run: | unset SECRET_EXISTS if [ -n "$ENABLER_SECRET" ]; then SECRET_EXISTS=true ; fi - echo "::set-output name=ACTIONS_ENABLED::$SECRET_EXISTS" + echo "ACTIONS_ENABLED=$SECRET_EXISTS" >> $GITHUB_OUTPUT - name: "Setup python" if: steps.value_holder.outputs.ACTIONS_ENABLED uses: actions/setup-python@v1 @@ -31,9 +31,10 @@ jobs: sudo apt-get install dos2unix - name: "Checkout" if: steps.value_holder.outputs.ACTIONS_ENABLED - uses: actions/checkout@v1 + uses: actions/checkout@v3 with: fetch-depth: 25 + persist-credentials: false - name: "Compile" if: steps.value_holder.outputs.ACTIONS_ENABLED run: | diff --git a/.github/workflows/generate_documentation.yml b/.github/workflows/generate_documentation.yml index 410b086ab722..55415a3e0953 100644 --- a/.github/workflows/generate_documentation.yml +++ b/.github/workflows/generate_documentation.yml @@ -8,7 +8,7 @@ jobs: permissions: contents: write # for JamesIves/github-pages-deploy-action to push changes in repo if: ( !contains(github.event.head_commit.message, '[ci skip]') ) - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 concurrency: gen-docs steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/pr_emoji.yml b/.github/workflows/pr_emoji.yml index 219b319298ad..b6439a33df7e 100644 --- a/.github/workflows/pr_emoji.yml +++ b/.github/workflows/pr_emoji.yml @@ -8,7 +8,7 @@ permissions: jobs: title_and_changelog: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: Wayland-Smithy/emoji-stripper-action@8f4c2fe9748bb9b02f105be4e72a1a42b0f34d84 with: diff --git a/.github/workflows/round_id_linker.yml b/.github/workflows/round_id_linker.yml index 5aede3503d1b..fb4a202d1794 100644 --- a/.github/workflows/round_id_linker.yml +++ b/.github/workflows/round_id_linker.yml @@ -5,7 +5,7 @@ on: jobs: link_rounds: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: tgstation/round_linker@master with: diff --git a/.github/workflows/run_integration_tests.yml b/.github/workflows/run_integration_tests.yml index fedd7dad9a6a..f84322cd151e 100644 --- a/.github/workflows/run_integration_tests.yml +++ b/.github/workflows/run_integration_tests.yml @@ -15,7 +15,7 @@ on: type: string jobs: run_integration_tests: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest services: mysql: image: mysql:latest @@ -40,9 +40,6 @@ jobs: mysql -u root -proot tg_ci_prefixed < SQL/tgstation_schema_prefixed.sql - name: Install rust-g run: | - sudo dpkg --add-architecture i386 - sudo apt update || true - sudo apt install -o APT::Immediate-Configure=false libssl1.1:i386 bash tools/ci/install_rust_g.sh - name: Configure version run: | diff --git a/.github/workflows/show_screenshot_test_results.yml b/.github/workflows/show_screenshot_test_results.yml index 520adc100f7f..c0ebf50af990 100644 --- a/.github/workflows/show_screenshot_test_results.yml +++ b/.github/workflows/show_screenshot_test_results.yml @@ -13,7 +13,7 @@ jobs: show_screenshot_test_results: if: ( !contains(github.event.head_commit.message, '[ci skip]') && github.event.workflow_run.run_attempt == 1 ) name: Show Screenshot Test Results - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: "Check for ARTIFACTS_FILE_HOUSE_KEY" id: secrets_set diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 14d56e5f29f6..241db03f6e82 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -4,10 +4,16 @@ on: schedule: - cron: "0 0 * * *" +permissions: + contents: read + jobs: stale: - runs-on: ubuntu-20.04 + permissions: + issues: write # for actions/stale to close stale issues + pull-requests: write # for actions/stale to close stale PRs + runs-on: ubuntu-22.04 steps: - uses: actions/stale@v4 diff --git a/.github/workflows/update_tgs_dmapi.yml b/.github/workflows/update_tgs_dmapi.yml index 602fd7baec9a..467e48cae201 100644 --- a/.github/workflows/update_tgs_dmapi.yml +++ b/.github/workflows/update_tgs_dmapi.yml @@ -7,7 +7,7 @@ on: jobs: update-dmapi: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest name: Update the TGS DMAPI steps: - name: Clone diff --git a/code/__DEFINES/_profile.dm b/code/__DEFINES/_profile.dm index 1a6a65cacb3a..88c2cfde63de 100644 --- a/code/__DEFINES/_profile.dm +++ b/code/__DEFINES/_profile.dm @@ -1,4 +1,2 @@ -#if DM_BUILD >= 1506 // We don't actually care about storing the output here, this is just an easy way to ensure the profile runs first. GLOBAL_REAL_VAR(world_init_profiler) = world.Profile(PROFILE_RESTART) -#endif diff --git a/code/__DEFINES/rust_g.dm b/code/__DEFINES/rust_g.dm index 366479f8a41c..5404cebed97e 100644 --- a/code/__DEFINES/rust_g.dm +++ b/code/__DEFINES/rust_g.dm @@ -129,7 +129,13 @@ #define text2file(text, fname) rustg_file_append(text, "[fname]") #endif +/// Returns the git hash of the given revision, ex. "HEAD". #define rustg_git_revparse(rev) RUSTG_CALL(RUST_G, "rg_git_revparse")(rev) + +/** + * Returns the date of the given revision in the format YYYY-MM-DD. + * Returns null if the revision is invalid. + */ #define rustg_git_commit_date(rev) RUSTG_CALL(RUST_G, "rg_git_commit_date")(rev) #define RUSTG_HTTP_METHOD_GET "get" diff --git a/code/_byond_version_compact.dm b/code/_byond_version_compact.dm index db07fe401d2c..bef714ba785e 100644 --- a/code/_byond_version_compact.dm +++ b/code/_byond_version_compact.dm @@ -2,7 +2,7 @@ //Update this whenever you need to take advantage of more recent byond features #define MIN_COMPILER_VERSION 515 -#define MIN_COMPILER_BUILD 1623 +#define MIN_COMPILER_BUILD 1630 #if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM) //Don't forget to update this part #error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update. diff --git a/code/controllers/globals.dm b/code/controllers/globals.dm index 59294285e053..39330b4b6707 100644 --- a/code/controllers/globals.dm +++ b/code/controllers/globals.dm @@ -18,10 +18,6 @@ GLOBAL_REAL(GLOB, /datum/controller/global_vars) controller_vars["vars"] = null gvars_datum_in_built_vars = controller_vars + list(NAMEOF(src, gvars_datum_protected_varlist), NAMEOF(src, gvars_datum_in_built_vars), NAMEOF(src, gvars_datum_init_order)) -#if DM_VERSION >= 515 && DM_BUILD > 1623 - #warn datum.vars hanging a ref should now be fixed, there should be no reason to remove the vars list from our controller's vars list anymore -#endif - QDEL_IN(exclude_these, 0) //signal logging isn't ready log_world("[vars.len - gvars_datum_in_built_vars.len] global variables") diff --git a/dependencies.sh b/dependencies.sh index 5b08327aad3d..05c90dfc5472 100755 --- a/dependencies.sh +++ b/dependencies.sh @@ -5,10 +5,10 @@ # byond version export BYOND_MAJOR=515 -export BYOND_MINOR=1623 +export BYOND_MINOR=1630 #rust_g git tag -export RUST_G_VERSION=1.2.0 +export RUST_G_VERSION=3.1.0 #node version export NODE_VERSION=14 diff --git a/rust_g.dll b/rust_g.dll index 943d45ed5572..30f63e72f4b1 100644 Binary files a/rust_g.dll and b/rust_g.dll differ