Skip to content

Fix bug where contact is only handled once. Update damage event generation to respect the component's attack rate. #13

Fix bug where contact is only handled once. Update damage event generation to respect the component's attack rate.

Fix bug where contact is only handled once. Update damage event generation to respect the component's attack rate. #13

Workflow file for this run

name: iOS Starter Workflow
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
name: Xcode Build & Simulator Test
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4 # v3 is deprecated by github
- name: Set Default Scheme
run: |
cd TowerForge
scheme_list=$(xcodebuild -list -json | tr -d "\n")
default=$(echo $scheme_list | ruby -e "require 'json'; puts JSON.parse(STDIN.gets)['project']['targets'][0]")
echo $default | cat >default
echo Using default scheme: $default
- name: Build
env:
scheme: ${{ 'default' }}
platform: ${{ 'iOS Simulator' }}
run: |
cd TowerForge
# xcrun xctrace returns via stderr, not the expected stdout (see https://developer.apple.com/forums/thread/663959)
# device=`xcrun xctrace list devices 2>&1 | grep -oE 'iPhone.*?[^\(]+' | head -1 | awk '{$1=$1;print}' | sed -e "s/ Simulator$//"`
device=$(xcrun simctl list devices | grep -oE 'iPad (Air|Pro \([0-9.]*-inch\)|mini) \([0-9]+(?:st|nd|rd|th) generation\)' | head -1 | awk '{$1=$1;print}' | sed -e "s/ Simulator$//")
# device=`xcrun simctl list devices 2>&1 | grep -oE 'iPad.*?[^\(]+' | head -1 | awk '{$1=$1;print}' | sed -e "s/ Simulator$//"`
if [ $scheme = default ]; then scheme=$(cat default); fi
if [ "`ls -A | grep -i \\.xcworkspace\$`" ]; then filetype_parameter="workspace" && file_to_build="`ls -A | grep -i \\.xcworkspace\$`"; else filetype_parameter="project" && file_to_build="`ls -A | grep -i \\.xcodeproj\$`"; fi
file_to_build=`echo $file_to_build | awk '{$1=$1;print}'`
xcodebuild build-for-testing -scheme "$scheme" -"$filetype_parameter" "$file_to_build" -destination "platform=$platform,name=$device"
- name: Test
env:
scheme: ${{ 'default' }}
platform: ${{ 'iOS Simulator' }}
run: |
cd TowerForge
# xcrun xctrace returns via stderr, not the expected stdout (see https://developer.apple.com/forums/thread/663959)
# device=`xcrun xctrace list devices 2>&1 | grep -oE 'iPhone.*?[^\(]+' | head -1 | awk '{$1=$1;print}' | sed -e "s/ Simulator$//"`
# device=`xcrun simctl list devices 2>&1 | grep -oE 'iPad.*?[^\(]+' | head -1 | awk '{$1=$1;print}' | sed -e "s/ Simulator$//"`
device=$(xcrun simctl list devices | grep -oE 'iPad (Air|Pro \([0-9.]*-inch\)|mini) \([0-9]+(?:st|nd|rd|th) generation\)' | head -1 | awk '{$1=$1;print}' | sed -e "s/ Simulator$//")
if [ $scheme = default ]; then scheme=$(cat default); fi
if [ "`ls -A | grep -i \\.xcworkspace\$`" ]; then filetype_parameter="workspace" && file_to_build="`ls -A | grep -i \\.xcworkspace\$`"; else filetype_parameter="project" && file_to_build="`ls -A | grep -i \\.xcodeproj\$`"; fi
file_to_build=`echo $file_to_build | awk '{$1=$1;print}'`
xcodebuild test-without-building -scheme "$scheme" -"$filetype_parameter" "$file_to_build" -destination "platform=$platform,name=$device"