[ci ignore] try to fix marking things as ignoring CI (#21978)

github actions be useful challenge [impossible]
This commit is contained in:
Wildkins
2026-03-05 05:11:44 +00:00
committed by GitHub
parent 5b38b93a93
commit 4fa927be53
3 changed files with 183 additions and 94 deletions
+182 -36
View File
@@ -46,8 +46,10 @@ jobs:
###########################################
validate-structure:
name: Validate Structure
outputs:
skipci: ${{ steps.check_skipci.outputs.skipci }}
skiput: ${{ steps.check_skiput.outputs.skiput }}
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) }}
concurrency:
group: validate-structure-${{ github.head_ref || github.run_id }}
@@ -71,6 +73,53 @@ jobs:
bash tools/ci/check_grep.sh $PWD
awk -f tools/indentation.awk **/*.dm
- name: "Check if running CI"
id: check_skipci
run: |
if [ "${GITHUB_EVENT_NAME}" = "pull_request" ]; then
pr_num="${{ github.event.number }}"
echo "fetching pull/$pr_num/head"
git fetch origin "pull/$pr_num/head" || true
target_sha=FETCH_HEAD
else
target_sha=HEAD
fi
echo "target commit: $target_sha"
COMMIT_MSG=$(git log -1 --pretty=%B "$target_sha")
echo "commit message: $COMMIT_MSG"
if echo "$COMMIT_MSG" | grep -qi '\[ci ignore\]'; then
echo "skipci=true" >> $GITHUB_OUTPUT
echo "Skipping CI."
else
echo "skipci=false" >> $GITHUB_OUTPUT
echo "Continuing with CI."
fi
- name: "Check if running UTs"
id: check_skiput
run: |
if [ "${GITHUB_EVENT_NAME}" = "pull_request" ]; then
pr_num="${{ github.event.number }}"
echo "fetching pull/$pr_num/head"
git fetch origin "pull/$pr_num/head" || true
target_sha=FETCH_HEAD
else
target_sha=HEAD
fi
echo "target commit: $target_sha"
COMMIT_MSG=$(git log -1 --pretty=%B "$target_sha")
echo "commit message: $COMMIT_MSG"
if echo "$COMMIT_MSG" | grep -qi '\[ut ignore\]'; then
echo "skipci=true" >> $GITHUB_OUTPUT
echo "Skipping CI."
else
echo "skipci=false" >> $GITHUB_OUTPUT
echo "Continuing with CI."
fi
###########################################
############### EditorConfig ##############
@@ -78,7 +127,8 @@ jobs:
megalinter:
name: Validate EditorConfig Compliance
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) }}
needs: validate-structure
if: needs.validate-structure.outputs.skipci != 'true'
concurrency:
group: megalinter-${{ github.head_ref || github.run_id }}
@@ -131,8 +181,8 @@ jobs:
lint-spacemandmm:
name: Lint SpacemanDMM
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) }}
needs: validate-structure
if: needs.validate-structure.outputs.skipci != 'true'
concurrency:
group: lint-spacemandmm-${{ github.head_ref || github.run_id }}
@@ -178,8 +228,8 @@ jobs:
lint-opendream:
name: Lint OpenDream
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) }}
needs: validate-structure
if: needs.validate-structure.outputs.skipci != 'true'
concurrency:
group: lint-opendream-${{ github.head_ref || github.run_id }}
@@ -219,8 +269,8 @@ jobs:
lint-tgui:
name: Lint TGUI
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) }}
needs: validate-structure
if: needs.validate-structure.outputs.skipci != 'true'
concurrency:
group: lint-tgui-${{ github.head_ref || github.run_id }}
@@ -256,8 +306,8 @@ jobs:
lint-misc:
name: Lint Misc
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) }}
needs: validate-structure
if: needs.validate-structure.outputs.skipci != 'true'
concurrency:
group: lint-misc-${{ github.head_ref || github.run_id }}
@@ -309,8 +359,7 @@ jobs:
generic-tests:
name: Generic Tests
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) && !(contains(github.event.head_commit.message, '[ut skip]'))}}
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
services:
@@ -336,43 +385,55 @@ jobs:
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
run: |
echo "skip=true" >> $GITHUB_OUTPUT
#This allows us to SSH into the pod, and it's only enabled if we're running in debug mode
- name: Setup TMATE session (Debug only)
uses: mxschmitt/action-tmate@v3
if: ${{ env.RUNNER_DEBUG_SHELL == true }}
if: ${{ steps.check.outputs.skip != 'true' && env.RUNNER_DEBUG_SHELL == true }}
with:
detached: true
timeout-minutes: 5
#Checkout the repository
- name: Checkout repository
if: steps.check.outputs.skip != 'true'
uses: actions/checkout@v4
#Initialize the environment variables
- name: Set ENV variables
if: steps.check.outputs.skip != 'true'
run: bash dependencies.sh
#Restores BYOND cache
- name: Restore BYOND cache
if: steps.check.outputs.skip != 'true'
uses: actions/cache@v4
with:
path: ~/BYOND/*
key: ${{ runner.os }}-byond-${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}
- name: Restore FlyWay cache
if: steps.check.outputs.skip != 'true'
uses: actions/cache@v4
with:
path: ~/flyway
key: ${{ runner.os }}-flyway-${{ env.FLYWAY_BUILD }}
#Add the x86 architecture and update apt-get's local indexes
- name: Prepare OS Environtment
- name: Prepare OS Environment
if: steps.check.outputs.skip != 'true'
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
#Installs the packages we need, from a cache
- name: Install OS Packages
if: steps.check.outputs.skip != 'true'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: gcc-multilib zlib1g-dev:i386 libssl-dev:i386 libgcc-s1:i386 libc6:i386
@@ -380,22 +441,26 @@ jobs:
#And natively, the packages that break from a cache
- name: Install OS Packages (Native)
if: steps.check.outputs.skip != 'true'
run: |
sudo apt-get install libgcc-s1:i386 libssl-dev:i386 libcurl4t64 libcurl4t64:i386
#Install flyway
- name: Install Flyway
if: steps.check.outputs.skip != 'true'
run: |
tools/ci/install_flyway.sh
#Apply the database migration
- name: Apply Database Migrations (FlyWay)
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
$HOME/flyway/flyway-$FLYWAY_BUILD/flyway migrate -user=root -password=root -url="jdbc:mariadb://localhost:$PORT/game" -validateMigrationNaming="true"
- name: Install BYOND & rust_g
if: steps.check.outputs.skip != 'true'
run: |
source dependencies.sh
bash tools/ci/install_byond.sh
@@ -403,6 +468,7 @@ jobs:
bash tools/ci/install_rust_g.sh
- name: Configure pod, build and run
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
POD: ${{ matrix.pod }}
@@ -420,7 +486,7 @@ jobs:
- name: Upload Condensed UT Log
uses: actions/upload-artifact@v4
if: failure() || runner.debug
if: steps.check.outputs.skip != 'true' && (failure() || runner.debug)
with:
name: condensed-${{ matrix.map }}-${{ matrix.pod }}.log
path: ./data/logs/**/condensed.log
@@ -432,8 +498,7 @@ jobs:
create-and-destroy:
name: Create and Destroy Test
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) && !(contains(github.event.head_commit.message, '[ut skip]'))}}
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
services:
@@ -459,43 +524,55 @@ jobs:
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
run: |
echo "skip=true" >> $GITHUB_OUTPUT
#This allows us to SSH into the pod, and it's only enabled if we're running in debug mode
- name: Setup TMATE session (Debug only)
uses: mxschmitt/action-tmate@v3
if: ${{ env.RUNNER_DEBUG_SHELL == true }}
if: ${{ steps.check.outputs.skip != 'true' && env.RUNNER_DEBUG_SHELL == true }}
with:
detached: true
timeout-minutes: 5
#Checkout the repository
- name: Checkout repository
if: steps.check.outputs.skip != 'true'
uses: actions/checkout@v4
#Initialize the environment variables
- name: Set ENV variables
if: steps.check.outputs.skip != 'true'
run: bash dependencies.sh
#Restores BYOND cache
- name: Restore BYOND cache
if: steps.check.outputs.skip != 'true'
uses: actions/cache@v4
with:
path: ~/BYOND/*
key: ${{ runner.os }}-byond-${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}
- name: Restore FlyWay cache
if: steps.check.outputs.skip != 'true'
uses: actions/cache@v4
with:
path: ~/flyway
key: ${{ runner.os }}-flyway-${{ env.FLYWAY_BUILD }}
#Add the x86 architecture and update apt-get's local indexes
- name: Prepare OS Environtment
- name: Prepare OS Environment
if: steps.check.outputs.skip != 'true'
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
#Installs the packages we need, from a cache
- name: Install OS Packages
if: steps.check.outputs.skip != 'true'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: gcc-multilib zlib1g-dev:i386 libssl-dev:i386 libgcc-s1:i386 libc6:i386
@@ -503,22 +580,26 @@ jobs:
#And natively, the packages that break from a cache
- name: Install OS Packages (Native)
if: steps.check.outputs.skip != 'true'
run: |
sudo apt-get install libgcc-s1:i386 libssl-dev:i386 libcurl4t64 libcurl4t64:i386
#Install flyway
- name: Install Flyway
if: steps.check.outputs.skip != 'true'
run: |
tools/ci/install_flyway.sh
#Apply the database migration
- name: Apply Database Migrations (FlyWay)
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
$HOME/flyway/flyway-$FLYWAY_BUILD/flyway migrate -user=root -password=root -url="jdbc:mariadb://localhost:$PORT/game" -validateMigrationNaming="true"
- name: Install BYOND & rust_g
if: steps.check.outputs.skip != 'true'
run: |
source dependencies.sh
bash tools/ci/install_byond.sh
@@ -526,6 +607,7 @@ jobs:
bash tools/ci/install_rust_g.sh
- name: Configure pod, build and run
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
POD: ${{ matrix.pod }}
@@ -543,7 +625,7 @@ jobs:
- name: Upload Condensed UT Log
uses: actions/upload-artifact@v4
if: failure() || runner.debug
if: steps.check.outputs.skip != 'true' && (failure() || runner.debug)
with:
name: condensed-${{ matrix.map }}-${{ matrix.pod }}.log
path: ./data/logs/**/condensed.log
@@ -557,8 +639,7 @@ jobs:
map-tests:
name: Run Map Tests
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) && !(contains(github.event.head_commit.message, '[ut skip]'))}}
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
services:
@@ -584,10 +665,16 @@ jobs:
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
run: |
echo "skip=true" >> $GITHUB_OUTPUT
#This allows us to SSH into the pod, and it's only enabled if we're running in debug mode
- name: Setup TMATE session (Debug only)
uses: mxschmitt/action-tmate@v3
if: ${{ env.RUNNER_DEBUG_SHELL == true }}
if: ${{ steps.check.outputs.skip != 'true' && env.RUNNER_DEBUG_SHELL == true }}
with:
detached: true
timeout-minutes: 5
@@ -595,32 +682,38 @@ jobs:
#Checkout the repository
- name: Checkout repository
uses: actions/checkout@v4
if: steps.check.outputs.skip != 'true'
#Initialize the environment variables
- name: Set ENV variables
run: bash dependencies.sh
if: steps.check.outputs.skip != 'true'
#Restores BYOND cache
- name: Restore BYOND cache
uses: actions/cache@v4
if: steps.check.outputs.skip != 'true'
with:
path: ~/BYOND/*
key: ${{ runner.os }}-byond-${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}
- name: Restore FlyWay cache
uses: actions/cache@v4
if: steps.check.outputs.skip != 'true'
with:
path: ~/flyway
key: ${{ runner.os }}-flyway-${{ env.FLYWAY_BUILD }}
#Add the x86 architecture and update apt-get's local indexes
- name: Prepare OS Environtment
- name: Prepare OS Environment
if: steps.check.outputs.skip != 'true'
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
#Installs the packages we need, from a cache
- name: Install OS Packages
if: steps.check.outputs.skip != 'true'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: gcc-multilib zlib1g-dev:i386 libssl-dev:i386 libgcc-s1:i386 libc6:i386
@@ -628,22 +721,26 @@ jobs:
#And natively, the packages that break from a cache
- name: Install OS Packages (Native)
if: steps.check.outputs.skip != 'true'
run: |
sudo apt-get install libgcc-s1:i386 libssl-dev:i386 libcurl4t64 libcurl4t64:i386
#Install flyway
- name: Install Flyway
if: steps.check.outputs.skip != 'true'
run: |
tools/ci/install_flyway.sh
#Apply the database migration
- name: Apply Database Migrations (FlyWay)
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
$HOME/flyway/flyway-$FLYWAY_BUILD/flyway migrate -user=root -password=root -url="jdbc:mariadb://localhost:$PORT/game" -validateMigrationNaming="true"
- name: Install BYOND & rust_g
if: steps.check.outputs.skip != 'true'
run: |
source dependencies.sh
bash tools/ci/install_byond.sh
@@ -651,6 +748,7 @@ jobs:
bash tools/ci/install_rust_g.sh
- name: Configure pod, build and run
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
POD: ${{ matrix.pod }}
@@ -668,7 +766,7 @@ jobs:
- name: Upload Condensed UT Log
uses: actions/upload-artifact@v4
if: failure() || runner.debug
if: steps.check.outputs.skip != 'true' && (failure() || runner.debug)
with:
name: condensed-${{ matrix.map }}-${{ matrix.pod }}.log
path: ./data/logs/**/condensed.log
@@ -682,8 +780,7 @@ jobs:
exoplanet_testing:
name: Run Exoplanet Tests
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) && !(contains(github.event.head_commit.message, '[ut skip]'))}}
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
services:
@@ -709,43 +806,55 @@ jobs:
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
run: |
echo "skip=true" >> $GITHUB_OUTPUT
#This allows us to SSH into the pod, and it's only enabled if we're running in debug mode
- name: Setup TMATE session (Debug only)
uses: mxschmitt/action-tmate@v3
if: ${{ env.RUNNER_DEBUG_SHELL == true }}
if: ${{ steps.check.outputs.skip != 'true' && env.RUNNER_DEBUG_SHELL == true }}
with:
detached: true
timeout-minutes: 5
#Checkout the repository
- name: Checkout repository
if: steps.check.outputs.skip != 'true'
uses: actions/checkout@v4
#Initialize the environment variables
- name: Set ENV variables
if: steps.check.outputs.skip != 'true'
run: bash dependencies.sh
#Restores BYOND cache
- name: Restore BYOND cache
if: steps.check.outputs.skip != 'true'
uses: actions/cache@v4
with:
path: ~/BYOND/*
key: ${{ runner.os }}-byond-${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}
- name: Restore FlyWay cache
if: steps.check.outputs.skip != 'true'
uses: actions/cache@v4
with:
path: ~/flyway
key: ${{ runner.os }}-flyway-${{ env.FLYWAY_BUILD }}
#Add the x86 architecture and update apt-get's local indexes
- name: Prepare OS Environtment
- name: Prepare OS Environment
if: steps.check.outputs.skip != 'true'
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
#Installs the packages we need, from a cache
- name: Install OS Packages
if: steps.check.outputs.skip != 'true'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: gcc-multilib zlib1g-dev:i386 libssl-dev:i386 libgcc-s1:i386 libc6:i386
@@ -753,22 +862,26 @@ jobs:
#And natively, the packages that break from a cache
- name: Install OS Packages (Native)
if: steps.check.outputs.skip != 'true'
run: |
sudo apt-get install libgcc-s1:i386 libssl-dev:i386 libcurl4t64 libcurl4t64:i386
#Install flyway
- name: Install Flyway
if: steps.check.outputs.skip != 'true'
run: |
tools/ci/install_flyway.sh
#Apply the database migration
- name: Apply Database Migrations (FlyWay)
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
$HOME/flyway/flyway-$FLYWAY_BUILD/flyway migrate -user=root -password=root -url="jdbc:mariadb://localhost:$PORT/game" -validateMigrationNaming="true"
- name: Install BYOND & rust_g
if: steps.check.outputs.skip != 'true'
run: |
source dependencies.sh
bash tools/ci/install_byond.sh
@@ -776,6 +889,7 @@ jobs:
bash tools/ci/install_rust_g.sh
- name: Configure pod, build and run
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
POD: ${{ matrix.pod }}
@@ -793,7 +907,7 @@ jobs:
- name: Upload Condensed UT Log
uses: actions/upload-artifact@v4
if: failure() || runner.debug
if: steps.check.outputs.skip != 'true' && (failure() || runner.debug)
with:
name: condensed-${{ matrix.map }}-${{ matrix.pod }}.log
path: ./data/logs/**/condensed.log
@@ -806,8 +920,7 @@ jobs:
away-sites-tests:
name: Run Map Tests
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) && !(contains(github.event.head_commit.message, '[ut skip]'))}}
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
services:
@@ -833,43 +946,55 @@ jobs:
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
run: |
echo "skip=true" >> $GITHUB_OUTPUT
#This allows us to SSH into the pod, and it's only enabled if we're running in debug mode
- name: Setup TMATE session (Debug only)
uses: mxschmitt/action-tmate@v3
if: ${{ env.RUNNER_DEBUG_SHELL == true }}
if: ${{ steps.check.outputs.skip != 'true' && env.RUNNER_DEBUG_SHELL == true }}
with:
detached: true
timeout-minutes: 5
#Checkout the repository
- name: Checkout repository
if: steps.check.outputs.skip != 'true'
uses: actions/checkout@v4
#Initialize the environment variables
- name: Set ENV variables
if: steps.check.outputs.skip != 'true'
run: bash dependencies.sh
#Restores BYOND cache
- name: Restore BYOND cache
if: steps.check.outputs.skip != 'true'
uses: actions/cache@v4
with:
path: ~/BYOND/*
key: ${{ runner.os }}-byond-${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}
- name: Restore FlyWay cache
if: steps.check.outputs.skip != 'true'
uses: actions/cache@v4
with:
path: ~/flyway
key: ${{ runner.os }}-flyway-${{ env.FLYWAY_BUILD }}
#Add the x86 architecture and update apt-get's local indexes
- name: Prepare OS Environtment
- name: Prepare OS Environment
if: steps.check.outputs.skip != 'true'
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
#Installs the packages we need, from a cache
- name: Install OS Packages
if: steps.check.outputs.skip != 'true'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: gcc-multilib zlib1g-dev:i386 libssl-dev:i386 libgcc-s1:i386 libc6:i386
@@ -877,22 +1002,26 @@ jobs:
#And natively, the packages that break from a cache
- name: Install OS Packages (Native)
if: steps.check.outputs.skip != 'true'
run: |
sudo apt-get install libgcc-s1:i386 libssl-dev:i386 libcurl4t64 libcurl4t64:i386
#Install flyway
- name: Install Flyway
if: steps.check.outputs.skip != 'true'
run: |
tools/ci/install_flyway.sh
#Apply the database migration
- name: Apply Database Migrations (FlyWay)
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
$HOME/flyway/flyway-$FLYWAY_BUILD/flyway migrate -user=root -password=root -url="jdbc:mariadb://localhost:$PORT/game" -validateMigrationNaming="true"
- name: Install BYOND & rust_g
if: steps.check.outputs.skip != 'true'
run: |
source dependencies.sh
bash tools/ci/install_byond.sh
@@ -900,6 +1029,7 @@ jobs:
bash tools/ci/install_rust_g.sh
- name: Configure pod, build and run
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
POD: ${{ matrix.pod }}
@@ -917,7 +1047,7 @@ jobs:
- name: Upload Condensed UT Log
uses: actions/upload-artifact@v4
if: failure() || runner.debug
if: steps.check.outputs.skip != 'true' && (failure() || runner.debug)
with:
name: condensed-${{ matrix.map }}-${{ matrix.pod }}.log
path: ./data/logs/**/condensed.log
@@ -929,8 +1059,7 @@ jobs:
ruins-tests:
name: Run Ruins Tests
runs-on: ubuntu-24.04
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) && !(contains(github.event.head_commit.message, '[ut skip]'))}}
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
services:
@@ -956,43 +1085,55 @@ jobs:
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
run: |
echo "skip=true" >> $GITHUB_OUTPUT
#This allows us to SSH into the pod, and it's only enabled if we're running in debug mode
- name: Setup TMATE session (Debug only)
uses: mxschmitt/action-tmate@v3
if: ${{ env.RUNNER_DEBUG_SHELL == true }}
if: ${{ steps.check.outputs.skip != 'true' && env.RUNNER_DEBUG_SHELL == true }}
with:
detached: true
timeout-minutes: 5
#Checkout the repository
- name: Checkout repository
if: steps.check.outputs.skip != 'true'
uses: actions/checkout@v4
#Initialize the environment variables
- name: Set ENV variables
if: steps.check.outputs.skip != 'true'
run: bash dependencies.sh
#Restores BYOND cache
- name: Restore BYOND cache
if: steps.check.outputs.skip != 'true'
uses: actions/cache@v4
with:
path: ~/BYOND/*
key: ${{ runner.os }}-byond-${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}
- name: Restore FlyWay cache
if: steps.check.outputs.skip != 'true'
uses: actions/cache@v4
with:
path: ~/flyway
key: ${{ runner.os }}-flyway-${{ env.FLYWAY_BUILD }}
#Add the x86 architecture and update apt-get's local indexes
- name: Prepare OS Environtment
- name: Prepare OS Environment
if: steps.check.outputs.skip != 'true'
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
#Installs the packages we need, from a cache
- name: Install OS Packages
if: steps.check.outputs.skip != 'true'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: gcc-multilib zlib1g-dev:i386 libssl-dev:i386 libgcc-s1:i386 libc6:i386
@@ -1000,22 +1141,26 @@ jobs:
#And natively, the packages that break from a cache
- name: Install OS Packages (Native)
if: steps.check.outputs.skip != 'true'
run: |
sudo apt-get install libgcc-s1:i386 libssl-dev:i386 libcurl4t64 libcurl4t64:i386
#Install flyway
- name: Install Flyway
if: steps.check.outputs.skip != 'true'
run: |
tools/ci/install_flyway.sh
#Apply the database migration
- name: Apply Database Migrations (FlyWay)
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
$HOME/flyway/flyway-$FLYWAY_BUILD/flyway migrate -user=root -password=root -url="jdbc:mariadb://localhost:$PORT/game" -validateMigrationNaming="true"
- name: Install BYOND & rust_g
if: steps.check.outputs.skip != 'true'
run: |
source dependencies.sh
bash tools/ci/install_byond.sh
@@ -1023,6 +1168,7 @@ jobs:
bash tools/ci/install_rust_g.sh
- name: Configure pod, build and run
if: steps.check.outputs.skip != 'true'
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
POD: ${{ matrix.pod }}
@@ -1040,7 +1186,7 @@ jobs:
- name: Upload Condensed UT Log
uses: actions/upload-artifact@v4
if: failure() || runner.debug
if: steps.check.outputs.skip != 'true' && (failure() || runner.debug)
with:
name: condensed-${{ matrix.map }}-${{ matrix.pod }}.log
path: ./data/logs/**/condensed.log