matrix.yaml:LocRes-Builder-Output #2
Workflow file for this run
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
| on: | |
| push: | |
| branches: [matrix] | |
| paths: | |
| - "Steam/**/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/Game.locres.yaml" | |
| - "Steam/**/pakchunk0-WindowsNoEditor.pak/Game/Content/NonAssets/ETP/ETP.yaml" | |
| - ".github/workflows/matrix.yml" | |
| jobs: | |
| Checkout_Repos: | |
| permissions: write-all | |
| runs-on: self-hosted | |
| steps: | |
| - name: Checkout dqx_dat_dump | |
| uses: actions/checkout@v4 | |
| with: | |
| path: ./MATRIX/dqx_dat_dump | |
| ref: testing | |
| repository: KodywithaK/dqx_dat_dump | |
| - name: Checkout dqx-offline-localization | |
| uses: actions/checkout@v4 | |
| with: | |
| path: ./MATRIX/dqx-offline-localization | |
| ref: main | |
| repository: KodywithaK/dqx-offline-localization | |
| - name: Checkout LocRes-Builder | |
| uses: actions/checkout@v4 | |
| with: | |
| path: ./MATRIX/LocRes-Builder | |
| ref: testing | |
| repository: KodywithaK/LocRes-Builder | |
| LocRes-Builder-Input: | |
| needs: [Checkout_Repos] | |
| runs-on: self-hosted | |
| steps: | |
| - name: LocRes-Builder Inputs | |
| run: | | |
| # echo -e "::group::\033[0;34m Building LocRes-Builder's Inputs \033[0m" | |
| mkdir -p ${{ github.workspace }}/MATRIX/LocRes-Builder/INPUT | |
| cp \ | |
| "${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/locmetav2.json" \ | |
| "${{ github.workspace }}/MATRIX/LocRes-Builder/INPUT/locmeta.json" | |
| echo -e "Splitting Game.locres.yaml" | |
| for LANGUAGE in de en es fr it ja ko la pt-BR zh-Hans zh-Hant; do \ | |
| echo -e "Splitting \033[0;32m$LANGUAGE\033[0m" | |
| yq "." \ | |
| "${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/Game.locres.yaml" \ | |
| --yaml-fix-merge-anchor-to-spec -o json \ | |
| | jq --arg LANGUAGE $LANGUAGE \ | |
| --from-file "${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/Game.locres.json_--from-file.txt" \ | |
| > "${{ github.workspace }}/MATRIX/LocRes-Builder/INPUT/${LANGUAGE}.json" | |
| done | |
| # echo "::endgroup::" | |
| LocRes-Builder-Output: | |
| needs: [Checkout_Repos, LocRes-Builder-Input] | |
| runs-on: self-hosted | |
| strategy: | |
| matrix: | |
| LocResVersion: [2, 3] | |
| steps: | |
| - name: LocRes-Builder Outputs | |
| run: | | |
| echo -e "${{ matrix.LocResVersion }}" | |
| if [[ ${{ matrix.LocResVersion }} == 2 ]]; then | |
| DESTINATION="Optimized_CRC32"; | |
| else | |
| DESTINATION="Optimized_CityHash64_UTF16"; | |
| fi | |
| echo -e "::group::\033[0;34m Building LocRes-Builder's Outputs \033[0m" | |
| mkdir -p ${{ github.workspace }}/MATRIX/LocRes-Builder/OUTPUT/${DESTINATION} | |
| python3 "${{ github.workspace }}/MATRIX/LocRes-Builder/src/main.py" \ | |
| -i "${{ github.workspace }}/MATRIX/LocRes-Builder/INPUT/locmeta.json" \ | |
| -v ${{ matrix.LocResVersion }} \ | |
| -o "${{ github.workspace }}/MATRIX/LocRes-Builder/OUTPUT/${DESTINATION}" -f=json | |
| for LANGUAGE in de en es fr it ja ko pt-BR zh-Hans zh-Hant; do \ | |
| mkdir -p "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/${LANGUAGE}" | |
| cp \ | |
| "${{ github.workspace }}/MATRIX/LocRes-Builder/OUTPUT/${DESTINATION}/Game/${LANGUAGE}/Game.locres" \ | |
| "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/${LANGUAGE}/Game.locres" | |
| done | |
| echo "::endgroup::" | |
| ######################################################################################################################################################################################################## | |
| # YAML_to_ETP: | |
| # needs: [Checkout_Repos, LocRes-Builder] | |
| # runs-on: self-hosted | |
| # steps: | |
| # - name: Install Python | |
| # uses: actions/setup-python@v4 | |
| # with: | |
| # architecture: "x64" | |
| # # python-version: '3.x' | |
| # python-version: "3.11" | |
| # cache: "pip" # caching pip dependencies | |
| # | |
| # - name: Split ETP.yaml | |
| # run: | | |
| # mkdir -p "${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/NonAssets/ETP" | |
| # cd "${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/NonAssets/ETP" | |
| # echo -e "Splitting ETP.yaml" | |
| # yq -s "keys[], . = .[]" \ | |
| # "./ETP.yaml" \ | |
| # --yaml-fix-merge-anchor-to-spec -o json | |
| # rm "./anchors.json" | |
| # | |
| # - name: dqx_dat_dump | |
| # run: | | |
| # cd "${{ github.workspace }}/MATRIX/dqx_dat_dump" | |
| # python -m venv venv | |
| # source ./venv/bin/activate | |
| # pip install -r requirements.txt | |
| # cd ./tools/packing/ | |
| # | |
| # for LANGUAGE in de en es fr it ja ko pt-BR zh-Hans zh-Hant; do | |
| # echo -e "::group::Packing \033[0;32m ETP_${LANGUAGE}\033[0m" | |
| # python pack_etp--KwK_20250626.py -L ${LANGUAGE} | |
| # echo "::endgroup::" | |
| # done | |
| # | |
| # deactivate | |
| # cd ~ | |
| # | |
| ######################################################################################################################################################################################################## | |
| # UnrealPak_-Create: | |
| # needs: [Checkout_Repos, LocRes-Builder, YAML_to_ETP] | |
| # runs-on: self-hosted | |
| # steps: | |
| # - name: UnrealPak -Create | |
| # run: | | |
| # mkdir -p \ | |
| # "${{ github.workspace }}/MATRIX/staging" \ | |
| # "${{ github.workspace }}/MATRIX/releases" | |
| # | |
| # for PLATFORM in Android_ETC2 ios ps4 Switch WindowsNoEditor; do\ | |
| # for LANGUAGE in de en es fr it ja ko pt-BR zh-Hans zh-Hant; do\ | |
| # mkdir -p \ | |
| # "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}" \ | |
| # "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_ko" \ | |
| # "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hans" \ | |
| # "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hant" | |
| # | |
| # cp \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP/* \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_ko | |
| # | |
| # cp \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP/* \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hans | |
| # | |
| # cp \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP/* \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hant | |
| # | |
| # if [[ ${PLATFORM} == @(Android_ETC2|ios|ps4|Switch) ]]; then | |
| # DESTINATION="Holiday"; | |
| # else | |
| # DESTINATION="Game"; | |
| # fi | |
| # echo -e "::group::Creating \033[0;34m Titlescreen Version Info \033[0m" | |
| # mkdir -p "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Settings/Version" | |
| # | |
| # jq -n "{\"AppVersionString\": \"2.0.1\n$(echo -e ${LANGUAGE}_v$(date -u +%Y.%m.%d ))\n${PLATFORM}\"}" \ | |
| # > "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Settings/Version/version_settings.json" | |
| # | |
| # echo -e "$(jq -n "{\"AppVersionString\": \"2.0.1\n$(echo -e ${LANGUAGE}_v$(date -u +%Y.%m.%d ))\n${PLATFORM}\"}")" | |
| # echo "::endgroup::" | |
| # | |
| # if [[ ${PLATFORM} == @(ps4|ps4_ZZZ) ]]; then | |
| # # filename priority fix | |
| # PLATFORM="ps4_ZZZ" | |
| # else | |
| # PLATFORM="${PLATFORM}" | |
| # fi | |
| # | |
| # echo -e "::group::Creating \033[0;34m responseFile--pakchunk0-${PLATFORM}_Latest.pak.txt \033[0m" | |
| # echo -e \ | |
| # "\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_ko\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_ko/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hans\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hans/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hant\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hant/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\\\${LANGUAGE}\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/ko/Game.locres\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\Settings\\Version\\\version_settings.json\" \"../../../${DESTINATION}/Content/Settings/Version/version_settings.json\"\ | |
| # " | sed -e 's/ /\n/g ; s/^[[:space:]]*//g ; s/[[:space:]]*$//g' > ${{ github.workspace }}/MATRIX/staging/responseFile--pakchunk0-${PLATFORM}_Latest.pak.txt | |
| # | |
| # echo -e \ | |
| # "\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_ko\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_ko/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hans\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hans/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hant\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hant/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\\\${LANGUAGE}\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/ko/Game.locres\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\BUILD\\staging\\\\${LANGUAGE}\\Game\\Content\\Settings\\Version\\\version_settings.json\" \"../../../${DESTINATION}/Content/Settings/Version/version_settings.json\"\ | |
| # " | sed -e 's/ /\n/g ; s/^[[:space:]]*//g ; s/[[:space:]]*$//g' | |
| # echo "::endgroup::" | |
| # | |
| # echo -e "::group::Creating \033[0;34m pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak \033[0m" | |
| # ~/UnrealEngine-4.27.2-release/Engine/Binaries/Linux/UnrealPak \ | |
| # "../../../../actions-runner/_work/dqx-offline-localization/dqx-offline-localization/MATRIX/staging/${LANGUAGE}/pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak" \ | |
| # -Create="../../../../actions-runner/_work/dqx-offline-localization/dqx-offline-localization/MATRIX/staging/responseFile--pakchunk0-${PLATFORM}_Latest.pak.txt" | |
| # echo "::endgroup::" | |
| # | |
| # echo -e "::group::Creating \033[0;34m pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak.zip \033[0m" | |
| # zip -uj \ | |
| # ${{ github.workspace }}/MATRIX/releases/pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak.zip \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak | |
| # echo "::endgroup::" | |
| # | |
| # echo -e "::notice::\033[0;32m Successfully created: \033[0;34m pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak \033[0m\n" | |
| # done; | |
| # done; | |
| # | |
| ######################################################################################################################################################################################################## | |
| # Create_Latest_Release: | |
| # needs: [Checkout_Repos, LocRes-Builder, YAML_to_ETP, UnrealPak_-Create] | |
| # runs-on: self-hosted | |
| # steps: | |
| # - name: Create Release | |
| # env: | |
| # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # run: | | |
| # gh release create Latest \ | |
| # ${{ github.workspace }}/MATRIX/releases/pakchunk0-ps4_*_Dialogue_Latest_P.pak.zip \ | |
| # ${{ github.workspace }}/MATRIX/releases/pakchunk0-Switch_*_Dialogue_Latest_P.pak.zip \ | |
| # ${{ github.workspace }}/MATRIX/releases/pakchunk0-WindowsNoEditor_*_Dialogue_Latest_P.pak.zip \ | |
| # --notes-file ${{ github.workspace }}/MATRIX/dqx-offline-localization/docs/CHANGELOG.md \ | |
| # --title "$(echo -e v$(date -u +%Y.%m.%d ))" | |
| # | |
| # echo "Successfully uploaded new files to [Releases/Latest](https://github.com/KodywithaK/dqx-offline-localization/releases/tag/Latest)." >> $GITHUB_STEP_SUMMARY | |
| # echo -e "\n::notice:: \033[0;32m Successfully uploaded new files to Latest release. \033[0m" | |
| # | |
| ######################################################################################################################################################################################################## | |
| # 202500921_2100: `Game.locres.yaml` > `Game.locres.json` | |
| # - To make use of anchors (&anchor) and aliases (*anchor), readability, & smaller file size | |
| # ```bash | |
| # clear && \ | |
| # yq "." -o=json \ | |
| # "/mnt/r/\${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/Game.locres.yaml" \ | |
| # > "/mnt/r/\${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/BACKLOG/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/Game.locres.json" | |
| # ``` | |
| # | |
| ######################################################################################################################################################################################################## | |
| # 20250713_2100: `gh release edit` still not supported by github actions | |
| # ```bash | |
| # gh release delete Latest --yes | |
| # | |
| # gh release edit Multi-Languages \ | |
| # --title "(echo -e $(gh release list --json name -q ".[1].name"))" \ | |
| # --tag "previous" | |
| # ``` | |
| # | |
| ######################################################################################################################################################################################################## | |
| # 20250728_1600: gh release edit Latest | |
| # ```cmd | |
| # FOR /F "usebackq" %A IN (`gh release list --json name -q "sort | reverse | .[0].name"`) DO @ECHO gh release edit Latest --title "%A" --tag "%A" | |
| # ``` | |
| # | |
| ######################################################################################################################################################################################################## | |
| # 20250807_0000: Release PS4 `.pkg` | |
| # - see TODO.md | |
| # - .github/workflows/Create_Latest_Release.yml | |
| # - PS4 `.pkg` | |
| # | |
| ######################################################################################################################################################################################################## | |
| # 20250808_0100: `Game.locres.json` > `OUTPUT/StringTables/${LANGUAGE}/**/*.csv` | |
| # - see TODO.md | |
| # - .github/workflows/Create_Latest_Release.yml | |
| # - `Game.locres.json` > `OUTPUT/StringTables/${LANGUAGE}/**/*.csv` | |
| # - Invalid workflow file: .github/workflows/Create_Latest_Release_DEBUG.yml#L1 | |
| # (Line: 195, Col: 14): Exceeded max expression length 21000 | |
| # - Optimize/add `run` step(s)? | |
| # | |
| # ```yaml | |
| # gh release create Latest \ | |
| # ... | |
| # ${{ github.workspace }}/MATRIX/releases/StringTables.zip \ | |
| # ... | |
| # ``` | |
| ######################################################################################################################################################################################################## |