forked from tgstation/tgstation
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #199 from Huz2e/tgstation-master
Tgstation master
- Loading branch information
Showing
1,347 changed files
with
44,019 additions
and
25,803 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -75,6 +75,10 @@ jobs: | |
with: | ||
path: tools/icon_cutter/cache | ||
key: ${{ runner.os }}-cutter-${{ hashFiles('dependencies.sh') }} | ||
- name: Setup .NET SDK | ||
uses: actions/[email protected] | ||
with: | ||
dotnet-version: 9.x | ||
- name: Install OpenDream | ||
uses: robinraju/[email protected] | ||
with: | ||
|
@@ -150,14 +154,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 | ||
|
@@ -167,7 +167,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 | ||
|
@@ -195,36 +195,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' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: Run Regular BYOND Version Tests | ||
on: | ||
workflow_call: | ||
inputs: | ||
maps: | ||
required: true | ||
type: string | ||
max_required_byond_client: | ||
required: true | ||
type: string | ||
|
||
jobs: | ||
run: | ||
uses: ./.github/workflows/run_integration_tests.yml | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
map: ${{ fromJSON(inputs.maps).paths }} | ||
|
||
with: | ||
map: ${{ matrix.map }} | ||
max_required_byond_client: ${{ inputs.max_required_byond_client }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.