Skip to content

Commit

Permalink
Merge branch 'thewarwithin' into 1105-deathbringer
Browse files Browse the repository at this point in the history
  • Loading branch information
Khazakdk committed Oct 4, 2024
2 parents c06c445 + 930a5ba commit f8204c0
Show file tree
Hide file tree
Showing 259 changed files with 877,286 additions and 892,444 deletions.
213 changes: 167 additions & 46 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -375,14 +375,162 @@ jobs:
- name: Upload APL
if: steps.dump_apl.outcome == 'success'
continue-on-error: true
uses: actions/upload-artifact@v4
with:
name: apl-${{ github.sha }}-${{ matrix.spec }}
path: ${{ matrix.spec }}.simc
retention-days: 1

apl-dump:
name: Action Priority List Dump
spec-test-ptr:
name: spec-test-ptr
runs-on: ${{ matrix.os }}
needs: [ ubuntu-clang-build ]

strategy:
fail-fast: false
matrix:
cppVersion: [17]
compiler: [clang++-15]
spec: [
shaman_elemental
]
fightstyle: [singletarget, multitarget, dungeonslice]
include:
- compiler: clang++-15
os: ubuntu-22.04
- fightstyle: multitarget
style_arg: desired_targets=10
- fightstyle: dungeonslice
style_arg: fight_style=DungeonSlice

env:
UBSAN_OPTIONS: print_stacktrace=1
SIMC_ARGS: output=/dev/null threads=2 iterations=10 cleanup_threads=1 ptr=1
PLAYER_ARGS: load_default_gear=1

steps:
- uses: actions/cache@v4
with:
path: |
${{ runner.workspace }}/b/ninja/simc
profiles
tests
generate_profiles_ci.sh
.git
key: ubuntu-${{ matrix.compiler }}-for_run-${{ github.sha }}-cpp-${{ matrix.cppVersion }}

- name: Setup
id: setup
env:
MATRIX_SPEC: ${{ matrix.spec }}
run: |
echo "CLASS_STR=${MATRIX_SPEC%%_*}" >> "$GITHUB_ENV"
echo "SPEC_STR=${MATRIX_SPEC#*_}" >> "$GITHUB_ENV"
- name: "Log Debug"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} log=1 debug=1 ${{ matrix.style_arg }}\
enable_all_talents=1 enable_all_item_effects=1 enable_all_sets=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} log=1 debug=1 ${{ matrix.style_arg }}\
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
- name: "HTML JSON"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} html=test.html json=test.json ${{ matrix.style_arg }}\
enable_all_talents=1 enable_all_item_effects=1 enable_all_sets=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} html=test.html json=test.json ${{ matrix.style_arg }}\
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
- name: "No Talents, No Effects, No Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
- name: "No Talents, No Effects, All Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
enable_all_sets=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
- name: "No Talents, All Effects, No Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
enable_all_item_effects=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
- name: "No Talents, All Effects, All Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
enable_all_item_effects=1 enable_all_sets=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
- name: "Starter Talents, No Effects, No Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }} load_default_talents=1
- name: "Starter Talents, No Effects, All Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
enable_all_sets=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }} load_default_talents=1
- name: "Starter Talents, All Effects, No Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
enable_all_item_effects=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }} load_default_talents=1
- name: "Starter Talents, All Effects, All Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
enable_all_item_effects=1 enable_all_sets=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }} load_default_talents=1
- name: "All Talents, No Effects, No Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
enable_all_talents=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
- name: "All Talents, No Effects, All Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
enable_all_talents=1 enable_all_sets=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
- name: "All Talents, All Effects, No Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
enable_all_talents=1 enable_all_item_effects=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
- name: "All Talents, All Effects, All Sets"
if: always()
run: |
${{ runner.workspace }}/b/ninja/simc ${{ env.SIMC_ARGS }} ${{ matrix.style_arg }}\
enable_all_talents=1 enable_all_item_effects=1 enable_all_sets=1 \
${{ env.CLASS_STR }}=${{ matrix.spec }} spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }}
apl-profile:
name: Action Priority List Dump / Regenerate Profiles
runs-on: ${{ matrix.os }}
needs: [ spec-test, spelldata-dump ]
if: github.event_name == 'push' && ( success() || failure() ) && github.repository == 'simulationcraft/simc'
Expand All @@ -397,6 +545,16 @@ jobs:
os: ubuntu-22.04

steps:
- uses: actions/cache@v4
with:
path: |
${{ runner.workspace }}/b/ninja/simc
profiles
tests
generate_profiles_ci.sh
.git
key: ubuntu-${{ matrix.compiler }}-for_run-${{ github.sha }}-cpp-${{ matrix.cppVersion }}

- uses: actions/checkout@v4

- name: Download APLs
Expand All @@ -409,11 +567,17 @@ jobs:
- name: Setup
run: echo "SHORT_SHA=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV

- name: Run
env:
UBSAN_OPTIONS: print_stacktrace=1
SIMC_CLI_PATH: ${{ runner.workspace }}/b/ninja/simc
run: ${{ github.workspace }}/generate_profiles_ci.sh

- name: Commit APLs
continue-on-error: true
uses: EndBug/add-and-commit@v9
with:
message: 'Update APL Dump ${{ env.SHORT_SHA }}'
message: 'Update APL Dump / Regenerate Profiles ${{ env.SHORT_SHA }}'
default_author: github_actions
fetch: --no-tags --force --prune --no-recurse-submodules --depth=1 origin ${{ github.ref_name }}
add: '*.simc'
Expand Down Expand Up @@ -477,49 +641,6 @@ jobs:
UBSAN_OPTIONS: print_stacktrace=1
run: ${{ runner.workspace }}/b/ninja/simc output=/dev/null html=/dev/null json2=/dev/null ${{ matrix.simc_flags }}

simc-profiles:
name: Regenerate profiles
runs-on: ${{ matrix.os }}
needs: [ ubuntu-clang-build ]
if: github.event_name == 'push'

strategy:
fail-fast: false
matrix:
cppVersion: [17]
compiler: [clang++-15]
include:
- compiler: clang++-15
os: ubuntu-22.04

steps:
- uses: actions/cache@v4
with:
path: |
${{ runner.workspace }}/b/ninja/simc
profiles
tests
generate_profiles_ci.sh
.git
key: ubuntu-${{ matrix.compiler }}-for_run-${{ github.sha }}-cpp-${{ matrix.cppVersion }}

- uses: actions/checkout@v4

- name: Run
env:
UBSAN_OPTIONS: print_stacktrace=1
SIMC_CLI_PATH: ${{ runner.workspace }}/b/ninja/simc
run: ${{ github.workspace }}/generate_profiles_ci.sh

- name: Commit Profiles
continue-on-error: true
uses: EndBug/[email protected]
with:
message: 'Regenerate profiles'
default_author: github_actions
fetch: --no-tags --force --prune --no-recurse-submodules --depth=1 origin ${{ github.ref_name }}
add: '*.simc'

build-osx:
name: macos-latest
runs-on: macos-latest
Expand Down
3 changes: 2 additions & 1 deletion ActionPriorityLists/deathknight_unholy.simc
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ actions.san_trinkets+=/use_item,slot=trinket2,if=!variable.trinket_2_buffs&(trin

# Single Taget Non-San'layn
actions.st=soul_reaper,if=target.health.pct<=35&fight_remains>5
actions.st+=/wound_spender,if=debuff.chains_of_ice_trollbane_slow.up
actions.st+=/any_dnd,if=talent.unholy_ground&!buff.death_and_decay.up&(pet.apoc_ghoul.active|pet.abomination.active|pet.gargoyle.active)
actions.st+=/death_coil,if=!variable.pooling_runic_power&variable.spend_rp|fight_remains<10
actions.st+=/festering_strike,if=debuff.festering_wound.stack<4&(!variable.pop_wounds|buff.festering_scythe.react)
Expand All @@ -171,7 +172,7 @@ actions.trinkets+=/use_item,slot=trinket2,if=!variable.trinket_2_buffs&(variable
# Variables
actions.variables=variable,name=st_planning,op=setif,value=1,value_else=0,condition=active_enemies=1&(!raid_event.adds.exists|raid_event.adds.in>15)
actions.variables+=/variable,name=adds_remain,op=setif,value=1,value_else=0,condition=active_enemies>=2&(!raid_event.adds.exists&fight_remains>6|raid_event.adds.exists&raid_event.adds.remains>6)
actions.variables+=/variable,name=apoc_timing,op=setif,value=7,value_else=3,condition=cooldown.apocalypse.remains<10&debuff.festering_wound.stack<=4&cooldown.unholy_assault.remains>10
actions.variables+=/variable,name=apoc_timing,op=setif,value=3,value_else=0,condition=cooldown.apocalypse.remains<5&debuff.festering_wound.stack<1&cooldown.unholy_assault.remains>5
actions.variables+=/variable,name=pop_wounds,op=setif,value=1,value_else=0,condition=(cooldown.apocalypse.remains>variable.apoc_timing|!talent.apocalypse)&(debuff.festering_wound.stack>=1&cooldown.unholy_assault.remains<20&talent.unholy_assault&variable.st_planning|debuff.rotten_touch.up&debuff.festering_wound.stack>=1|debuff.festering_wound.stack>=4-pet.abomination.active)|fight_remains<5&debuff.festering_wound.stack>=1
actions.variables+=/variable,name=pooling_runic_power,op=setif,value=1,value_else=0,condition=talent.vile_contagion&cooldown.vile_contagion.remains<5&runic_power<30
actions.variables+=/variable,name=spend_rp,op=setif,value=1,value_else=0,condition=(!talent.rotten_touch|talent.rotten_touch&!debuff.rotten_touch.up|runic_power.deficit<20)&((talent.improved_death_coil&(active_enemies=2|talent.coil_of_devastation)|rune<3|pet.gargoyle.active|buff.sudden_doom.react|!variable.pop_wounds&debuff.festering_wound.stack>=4))
Loading

0 comments on commit f8204c0

Please sign in to comment.