[CI] github.sha to github.event.after #39
This file contains hidden or 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
| name: spec-test | |
| run-name: ${{ github.event.workflow_run.head_commit.message }} | |
| on: | |
| workflow_run: | |
| workflows: ['CI'] | |
| types: [completed] | |
| jobs: | |
| spec-test: | |
| name: spec-test-${{ matrix.spec }}-${{ matrix.fightstyle }} | |
| if: ${{ github.event.workflow_run.conclusion == 'success' }} | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| spec: [ | |
| deathknight_blood, deathknight_unholy, deathknight_frost, | |
| demonhunter_vengeance, demonhunter_havoc, | |
| druid_balance, druid_feral, druid_guardian, druid_restoration, | |
| evoker_devastation, evoker_augmentation, | |
| hunter_beast_mastery, hunter_marksmanship, hunter_survival, | |
| mage_arcane, mage_fire, mage_frost, | |
| monk_brewmaster, monk_windwalker, monk_mistweaver, | |
| paladin_protection, paladin_retribution, | |
| priest_shadow, | |
| rogue_assassination, rogue_outlaw, rogue_subtlety, | |
| shaman_elemental, | |
| warlock_affliction, warlock_demonology, warlock_destruction, | |
| warrior_arms, warrior_fury, warrior_protection | |
| ] | |
| fightstyle: [singletarget, multitarget, dungeonslice] | |
| include: | |
| - 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 allow_experimental_specializations=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-clang++-15-for_run-${{ github.sha }}-cpp-17 | |
| - 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 }} | |
| - name: Dump APL | |
| id: dump_apl | |
| if: github.event_name == 'push' && matrix.fightstyle == 'singletarget' && !failure() | |
| run: | | |
| ${{ runner.workspace }}/b/ninja/simc save_profiles=1 save_full_profile=0 \ | |
| enable_all_talents=1 enable_all_item_effects=1 enable_all_sets=1 \ | |
| allow_experimental_specializations=1 ${{ env.CLASS_STR }}=${{ matrix.spec }} \ | |
| spec=${{ env.SPEC_STR }} ${{ env.PLAYER_ARGS }} save_actions=${{ matrix.spec }}.simc | |
| #- 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 | |