From 1b68c4bb0e27aa18a78cfa0c3db850aba99cdaab Mon Sep 17 00:00:00 2001 From: Sak32009 Date: Sun, 25 Aug 2024 12:49:34 +0200 Subject: [PATCH] formatted the .yml workflows, updated the python version of migrate_gse to v3.12 and updated softprops/action-gh-release to v2 --- .github/workflows/emu-build-all-linux.yml | 108 +++--- .github/workflows/emu-build-all-win.yml | 112 +++--- .github/workflows/emu-deps-linux.yml | 128 +++---- .github/workflows/emu-deps-win.yml | 118 +++--- .github/workflows/emu-pull-request.yml | 32 +- .../workflows/gen_emu_config-build-linux.yml | 60 +-- .../workflows/gen_emu_config-build-win.yml | 90 ++--- .../workflows/gen_emu_config-pull-request.yml | 18 +- .github/workflows/migrate_gse-build-linux.yml | 62 +-- .github/workflows/migrate_gse-build-win.yml | 94 ++--- .../workflows/migrate_gse-pull-request.yml | 14 +- .github/workflows/release.yml | 357 +++++++++--------- 12 files changed, 590 insertions(+), 603 deletions(-) diff --git a/.github/workflows/emu-build-all-linux.yml b/.github/workflows/emu-build-all-linux.yml index fdd15db6..2e33c3d4 100644 --- a/.github/workflows/emu-build-all-linux.yml +++ b/.github/workflows/emu-build-all-linux.yml @@ -1,4 +1,4 @@ -name: Build emu (Linux) +name: "Build emu (Linux)" on: workflow_call: @@ -7,88 +7,90 @@ on: # allows manual trigger permissions: - contents: write + contents: "write" env: - PREMAKE_ACTION: gmake2 - DEPS_CACHE_KEY: emu-deps-linux - DEPS_CACHE_DIR: build/deps/linux + PREMAKE_ACTION: "gmake2" + DEPS_CACHE_KEY: "emu-deps-linux" + DEPS_CACHE_DIR: "build/deps/linux" PACKAGE_BASE_DIR: "build/package/linux" - THIRD_PARTY_BASE_DIR: 'third-party' - + THIRD_PARTY_BASE_DIR: "third-party" + jobs: deps: - name: Restore or build deps + name: "Restore or build deps" if: ${{ !cancelled() }} - uses: ./.github/workflows/emu-deps-linux.yml + uses: "./.github/workflows/emu-deps-linux.yml" builds-matrix-linux: - name: build - needs: [ deps ] - runs-on: ubuntu-24.04 + name: "build" + needs: ["deps"] + runs-on: "ubuntu-24.04" if: ${{ !cancelled() }} continue-on-error: true - + strategy: fail-fast: false matrix: prj: [ - # regular api - 'api_regular', 'steamclient_regular', - # api + client (experimental) - 'api_experimental', 'steamclient_experimental', - # tools - 'tool_lobby_connect', 'tool_generate_interfaces', - ] - arch: [ 'x64', 'x32', ] - cfg: [ 'debug', 'release', ] - - + # regular api + "api_regular", + "steamclient_regular", + # api + client (experimental) + "api_experimental", + "steamclient_experimental", + # tools + "tool_lobby_connect", + "tool_generate_interfaces", + ] + arch: ["x64", "x32"] + cfg: ["debug", "release"] + steps: -### clone branch - - name: Checkout branch + # clone branch + - name: "Checkout branch" uses: actions/checkout@v4 -### deps - - name: Restore deps - id: emu-deps-cache-step + # deps + - name: "Restore deps" + id: "emu-deps-cache-step" uses: actions/cache@v4 with: key: ${{ env.DEPS_CACHE_KEY }}-${{ env.PREMAKE_ACTION }} path: ${{ env.DEPS_CACHE_DIR }}/${{ env.PREMAKE_ACTION }} -## extra helpers/tools, these are not built inside the deps build dir - - name: Clone third-party build helpers (common/linux) + # extra helpers/tools, these are not built inside the deps build dir + - name: "Clone third-party build helpers (common/linux)" uses: actions/checkout@v4 with: - ref: 'third-party/common/linux' + ref: "third-party/common/linux" path: "${{env.THIRD_PARTY_BASE_DIR}}/common/linux" - - name: Clone third-party build helpers (build/linux) + - name: "Clone third-party build helpers (build/linux)" uses: actions/checkout@v4 with: - ref: 'third-party/build/linux' + ref: "third-party/build/linux" path: "${{env.THIRD_PARTY_BASE_DIR}}/build/linux" -### fix folder permissions! not sure why this fails - # nested subdirs "build/linux/release" cause permission problems - - name: Give all permissions to repo folder - shell: bash - working-directory: ${{ github.workspace }} + # fix folder permissions! not sure why this fails + # nested subdirs "build/linux/release" cause permission problems + - name: "Give all permissions to repo folder" + shell: "bash" + working-directory: "${{ github.workspace }}" run: sudo chmod -R 777 "${{ github.workspace }}" -### generate project files - - name: Generate project files - shell: bash - working-directory: ${{ github.workspace }} + # generate project files + - name: "Generate project files" + shell: "bash" + working-directory: "${{ github.workspace }}" run: | sudo chmod 777 ./${{env.THIRD_PARTY_BASE_DIR}}/common/linux/premake/premake5 ./${{env.THIRD_PARTY_BASE_DIR}}/common/linux/premake/premake5 --file=premake5.lua --genproto --emubuild=${{ github.sha }} --os=linux gmake2 -## mandatory Linux packages - - name: Install required packages - shell: bash + # mandatory Linux packages + - name: "Install required packages" + shell: "bash" run: | sudo apt update -y sudo apt install -y coreutils # echo, printf, etc... @@ -100,22 +102,22 @@ jobs: sudo apt install -y libgl-dev # needed for overlay build (header files such as GL/gl.h) # sudo apt install -y binutils # (optional) contains the tool 'readelf' mainly, and other usefull binary stuff -### build target - - name: Build target - shell: bash - working-directory: ${{ github.workspace }}/build/project/gmake2/linux + # build target + - name: "Build target" + shell: "bash" + working-directory: "${{ github.workspace }}/build/project/gmake2/linux" run: | echo "dry run..." make -n -j 2 config=${{ matrix.cfg }}_${{ matrix.arch }} ${{ matrix.prj }} echo "actual run..." make -j 2 config=${{ matrix.cfg }}_${{ matrix.arch }} ${{ matrix.prj }} -### upload artifact/package to github Actions - - name: Upload target package + # upload artifact/package to github Actions + - name: "Upload target package" uses: actions/upload-artifact@v4 with: name: "emu-linux-${{ matrix.prj }}-${{ matrix.cfg }}-${{ matrix.arch }}-${{ github.sha }}" path: "build/linux" - if-no-files-found: 'error' + if-no-files-found: "error" compression-level: 9 retention-days: 1 diff --git a/.github/workflows/emu-build-all-win.yml b/.github/workflows/emu-build-all-win.yml index 0e8712fc..e05a8f9e 100644 --- a/.github/workflows/emu-build-all-win.yml +++ b/.github/workflows/emu-build-all-win.yml @@ -1,4 +1,4 @@ -name: Build emu (Windows) +name: "Build emu (Windows)" on: workflow_call: @@ -7,104 +7,108 @@ on: # allows manual trigger permissions: - contents: write + contents: "write" env: - PREMAKE_ACTION: vs2022 - DEPS_CACHE_KEY: emu-deps-win - DEPS_CACHE_DIR: build/deps/win - - THIRD_PARTY_BASE_DIR: 'third-party' + PREMAKE_ACTION: "vs2022" + DEPS_CACHE_KEY: "emu-deps-win" + DEPS_CACHE_DIR: "build/deps/win" + + THIRD_PARTY_BASE_DIR: "third-party" jobs: deps: - name: Restore or build deps + name: "Restore or build deps" if: ${{ !cancelled() }} - uses: ./.github/workflows/emu-deps-win.yml + uses: "./.github/workflows/emu-deps-win.yml" builds-matrix-win: - name: build - needs: [ deps ] - runs-on: windows-2022 + name: "build" + needs: ["deps"] + runs-on: "windows-2022" if: ${{ !cancelled() }} continue-on-error: true - + strategy: fail-fast: false matrix: prj: [ - # regular api - 'api_regular', - # (experimental) api + client - 'api_experimental', 'steamclient_experimental_stub', - # client (experimental) + loader + extra dll + gameoverlaylib - 'steamclient_experimental', 'steamclient_experimental_loader', - 'steamclient_experimental_extra', 'lib_game_overlay_renderer', - # tools - 'tool_lobby_connect', 'tool_generate_interfaces', - ] - arch: [ 'x64', 'Win32', ] - cfg: [ 'debug', 'release', ] - + # regular api + "api_regular", + # (experimental) api + client + "api_experimental", + "steamclient_experimental_stub", + # client (experimental) + loader + extra dll + gameoverlaylib + "steamclient_experimental", + "steamclient_experimental_loader", + "steamclient_experimental_extra", + "lib_game_overlay_renderer", + # tools + "tool_lobby_connect", + "tool_generate_interfaces", + ] + arch: ["x64", "Win32"] + cfg: ["debug", "release"] + steps: -### on Windows Git will auto change line ending to CRLF, not preferable - - name: Ensure LF line ending - shell: cmd + # on Windows Git will auto change line ending to CRLF, not preferable + - name: "Ensure LF line ending" + shell: "cmd" working-directory: ${{ github.workspace }} run: | git config --local core.autocrlf false git config --system core.autocrlf false git config --global core.autocrlf false -### ensure we have msbuild - - name: Add MSBuild to PATH + # ensure we have msbuild + - name: "Add MSBuild to PATH" uses: microsoft/setup-msbuild@v2 -### clone branch - - name: Checkout branch + # clone branch + - name: "Checkout branch" uses: actions/checkout@v4 -### deps - - name: Restore deps - id: emu-deps-cache-step + # deps + - name: "Restore deps" + id: "emu-deps-cache-step" uses: actions/cache@v4 with: - key: ${{ env.DEPS_CACHE_KEY }}-${{ env.PREMAKE_ACTION }} - path: ${{ env.DEPS_CACHE_DIR }}/${{ env.PREMAKE_ACTION }} + key: "${{ env.DEPS_CACHE_KEY }}-${{ env.PREMAKE_ACTION }}" + path: "${{ env.DEPS_CACHE_DIR }}/${{ env.PREMAKE_ACTION }}" -## extra helpers/tools, these are not built inside the deps build dir - - name: Clone third-party build helpers (common/win) + # extra helpers/tools, these are not built inside the deps build dir + - name: "Clone third-party build helpers (common/win)" uses: actions/checkout@v4 with: - ref: 'third-party/common/win' + ref: "third-party/common/win" path: "${{env.THIRD_PARTY_BASE_DIR}}/common/win" - - name: Clone third-party deps (build/win) + - name: "Clone third-party deps (build/win)" uses: actions/checkout@v4 with: - ref: 'third-party/build/win' + ref: "third-party/build/win" path: "${{env.THIRD_PARTY_BASE_DIR}}/build/win" -### generate project files - - name: Generate project files - shell: cmd - working-directory: ${{ github.workspace }} + # generate project files + - name: "Generate project files" + shell: "cmd" + working-directory: "${{ github.workspace }}" run: | "${{env.THIRD_PARTY_BASE_DIR}}\common\win\premake\premake5.exe" --file=premake5.lua --genproto --emubuild=${{ github.sha }} --dosstub --winrsrc --winsign --os=windows vs2022 -### build target - - name: Build target - shell: cmd - working-directory: ${{ github.workspace }}/build/project/vs2022/win + # build target + - name: "Build target" + shell: "cmd" + working-directory: "${{ github.workspace }}/build/project/vs2022/win" run: | msbuild /nologo /target:${{ matrix.prj }} /m:2 /v:n /p:Configuration=${{ matrix.cfg }},Platform=${{ matrix.arch }} gbe.sln -### upload artifact/package to github Actions - - name: Upload target package + # upload artifact/package to github Actions + - name: "Upload target package" uses: actions/upload-artifact@v4 with: name: "emu-win-${{ matrix.prj }}-${{ matrix.cfg }}-${{ matrix.arch }}-${{ github.sha }}" path: "build/win" - if-no-files-found: 'error' + if-no-files-found: "error" compression-level: 9 retention-days: 1 diff --git a/.github/workflows/emu-deps-linux.yml b/.github/workflows/emu-deps-linux.yml index 0e8093db..6d7c4e03 100644 --- a/.github/workflows/emu-deps-linux.yml +++ b/.github/workflows/emu-deps-linux.yml @@ -1,4 +1,4 @@ -name: Emu third-party dependencies (Linux) +name: "Emu third-party dependencies (Linux)" on: workflow_call: @@ -7,82 +7,82 @@ on: # allows manual trigger permissions: - contents: write + contents: "write" env: - PREMAKE_ACTION: gmake2 - DEPS_CACHE_KEY: emu-deps-linux - DEPS_CACHE_DIR: build/deps/linux + PREMAKE_ACTION: "gmake2" + DEPS_CACHE_KEY: "emu-deps-linux" + DEPS_CACHE_DIR: "build/deps/linux" PACKAGE_BASE_DIR: "build/package/linux" - THIRD_PARTY_BASE_DIR: 'third-party' - + THIRD_PARTY_BASE_DIR: "third-party" + jobs: deps-build: - runs-on: ubuntu-24.04 + runs-on: "ubuntu-24.04" if: ${{ !cancelled() }} steps: - - name: Lookup cache for deps - id: emu-deps-cache-step - uses: actions/cache@v4 - with: - key: ${{ env.DEPS_CACHE_KEY }}-${{ env.PREMAKE_ACTION }} - path: ${{ env.DEPS_CACHE_DIR }}/${{ env.PREMAKE_ACTION }} + - name: "Lookup cache for deps" + id: "emu-deps-cache-step" + uses: actions/cache@v4 + with: + key: "${{ env.DEPS_CACHE_KEY }}-${{ env.PREMAKE_ACTION }}" + path: "${{ env.DEPS_CACHE_DIR }}/${{ env.PREMAKE_ACTION }}" - # we need branch because it has build scripts - - name: Checkout branch - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - uses: actions/checkout@v4 + # we need branch because it has build scripts + - name: "Checkout branch" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + uses: actions/checkout@v4 - - name: Clone third-party deps (common/linux) - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - uses: actions/checkout@v4 - with: - ref: 'third-party/common/linux' - path: "${{env.THIRD_PARTY_BASE_DIR}}/common/linux" + - name: "Clone third-party deps (common/linux)" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + uses: actions/checkout@v4 + with: + ref: "third-party/common/linux" + path: "${{env.THIRD_PARTY_BASE_DIR}}/common/linux" - - name: Clone third-party deps (deps/linux) - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - uses: actions/checkout@v4 - with: - ref: 'third-party/deps/linux' - path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/linux" + - name: "Clone third-party deps (deps/linux)" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + uses: actions/checkout@v4 + with: + ref: "third-party/deps/linux" + path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/linux" - - name: Clone third-party deps (deps/common) - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - uses: actions/checkout@v4 - with: - ref: 'third-party/deps/common' - path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/common" + - name: "Clone third-party deps (deps/common)" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + uses: actions/checkout@v4 + with: + ref: "third-party/deps/common" + path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/common" -### fix folder permissions! not sure why this fails - # nested subdirs "build/linux/release" cause permission problems - - name: Give all permissions to repo folder - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - shell: bash - working-directory: ${{ github.workspace }} - run: sudo chmod -R 777 "${{ github.workspace }}" + # fix folder permissions! not sure why this fails + # nested subdirs "build/linux/release" cause permission problems + - name: "Give all permissions to repo folder" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + shell: "bash" + working-directory: "${{ github.workspace }}" + run: sudo chmod -R 777 "${{ github.workspace }}" -## mandatory Linux packages - - name: Install required packages - shell: bash - run: | - sudo apt update -y - sudo apt install -y coreutils # echo, printf, etc... - sudo apt install -y build-essential - sudo apt install -y gcc-multilib # needed for 32-bit builds - sudo apt install -y g++-multilib - # sudo apt install -y clang - sudo apt install -y libglx-dev # needed for overlay build (header files such as GL/glx.h) - sudo apt install -y libgl-dev # needed for overlay build (header files such as GL/gl.h) - # sudo apt install -y binutils # (optional) contains the tool 'readelf' mainly, and other usefull binary stuff + # mandatory Linux packages + - name: "Install required packages" + shell: "bash" + run: | + sudo apt update -y + sudo apt install -y coreutils # echo, printf, etc... + sudo apt install -y build-essential + sudo apt install -y gcc-multilib # needed for 32-bit builds + sudo apt install -y g++-multilib + # sudo apt install -y clang + sudo apt install -y libglx-dev # needed for overlay build (header files such as GL/glx.h) + sudo apt install -y libgl-dev # needed for overlay build (header files such as GL/gl.h) + # sudo apt install -y binutils # (optional) contains the tool 'readelf' mainly, and other usefull binary stuff - - name: Build deps - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - shell: bash - working-directory: ${{ github.workspace }} - run: | - export CMAKE_GENERATOR="Unix Makefiles" - sudo chmod 777 ./${{env.THIRD_PARTY_BASE_DIR}}/common/linux/premake/premake5 - ./${{env.THIRD_PARTY_BASE_DIR}}/common/linux/premake/premake5 --file=premake5-deps.lua --64-build --32-build --all-ext --all-build --j=2 --verbose --clean --os=linux gmake2 + - name: "Build deps" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + shell: "bash" + working-directory: "${{ github.workspace }}" + run: | + export CMAKE_GENERATOR="Unix Makefiles" + sudo chmod 777 ./${{env.THIRD_PARTY_BASE_DIR}}/common/linux/premake/premake5 + ./${{env.THIRD_PARTY_BASE_DIR}}/common/linux/premake/premake5 --file=premake5-deps.lua --64-build --32-build --all-ext --all-build --j=2 --verbose --clean --os=linux gmake2 diff --git a/.github/workflows/emu-deps-win.yml b/.github/workflows/emu-deps-win.yml index 10ddffca..4daec42c 100644 --- a/.github/workflows/emu-deps-win.yml +++ b/.github/workflows/emu-deps-win.yml @@ -1,4 +1,4 @@ -name: Emu third-party dependencies (Windows) +name: "Emu third-party dependencies (Windows)" on: workflow_call: @@ -7,76 +7,76 @@ on: # allows manual trigger permissions: - contents: write + contents: "write" env: - PREMAKE_ACTION: vs2022 - DEPS_CACHE_KEY: emu-deps-win - DEPS_CACHE_DIR: build/deps/win - + PREMAKE_ACTION: "vs2022" + DEPS_CACHE_KEY: "emu-deps-win" + DEPS_CACHE_DIR: "build/deps/win" + PACKAGE_BASE_DIR: "build/package/win" - THIRD_PARTY_BASE_DIR: 'third-party' + THIRD_PARTY_BASE_DIR: "third-party" jobs: deps-build: - runs-on: windows-2022 + runs-on: "windows-2022" if: ${{ !cancelled() }} - + steps: - # on Windows Git will auto change line ending to CRLF, not preferable - - name: Ensure LF line ending - shell: cmd - working-directory: ${{ github.workspace }} - run: | - git config --local core.autocrlf false - git config --system core.autocrlf false - git config --global core.autocrlf false + # on Windows Git will auto change line ending to CRLF, not preferable + - name: "Ensure LF line ending" + shell: "cmd" + working-directory: ${{ github.workspace }} + run: | + git config --local core.autocrlf false + git config --system core.autocrlf false + git config --global core.autocrlf false - - name: Lookup cache for deps - id: emu-deps-cache-step - uses: actions/cache@v4 - with: - key: ${{ env.DEPS_CACHE_KEY }}-${{ env.PREMAKE_ACTION }} - path: ${{ env.DEPS_CACHE_DIR }}/${{ env.PREMAKE_ACTION }} - lookup-only: true # don't restore cache if found + - name: "Lookup cache for deps" + id: "emu-deps-cache-step" + uses: actions/cache@v4 + with: + key: "${{ env.DEPS_CACHE_KEY }}-${{ env.PREMAKE_ACTION }}" + path: "${{ env.DEPS_CACHE_DIR }}/${{ env.PREMAKE_ACTION }}" + lookup-only: true # don't restore cache if found - # we need branch because it has build scripts - - name: Checkout branch - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - uses: actions/checkout@v4 + # we need branch because it has build scripts + - name: "Checkout branch" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + uses: actions/checkout@v4 - - name: Clone third-party deps (common/win) - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - uses: actions/checkout@v4 - with: - ref: 'third-party/common/win' - path: "${{env.THIRD_PARTY_BASE_DIR}}/common/win" + - name: "Clone third-party deps (common/win)" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + uses: actions/checkout@v4 + with: + ref: "third-party/common/win" + path: "${{env.THIRD_PARTY_BASE_DIR}}/common/win" - - name: Clone third-party deps (deps/win) - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - uses: actions/checkout@v4 - with: - ref: 'third-party/deps/win' - path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/win" + - name: "Clone third-party deps (deps/win)" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + uses: actions/checkout@v4 + with: + ref: "third-party/deps/win" + path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/win" - - name: Clone third-party deps (deps/common) - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - uses: actions/checkout@v4 - with: - ref: 'third-party/deps/common' - path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/common" + - name: "Clone third-party deps (deps/common)" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + uses: actions/checkout@v4 + with: + ref: "third-party/deps/common" + path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/common" - - name: Clone third-party deps (common/win) - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - uses: actions/checkout@v4 - with: - ref: 'third-party/common/win' - path: "${{env.THIRD_PARTY_BASE_DIR}}/common/win" + - name: "Clone third-party deps (common/win)" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + uses: actions/checkout@v4 + with: + ref: "third-party/common/win" + path: "${{env.THIRD_PARTY_BASE_DIR}}/common/win" - - name: Build deps - if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' - shell: cmd - working-directory: ${{ github.workspace }} - run: | - set "CMAKE_GENERATOR=Visual Studio 17 2022" - "${{env.THIRD_PARTY_BASE_DIR}}\common\win\premake\premake5.exe" --file=premake5-deps.lua --64-build --32-build --all-ext --all-build --j=2 --verbose --clean --os=windows vs2022 + - name: "Build deps" + if: steps.emu-deps-cache-step.outputs.cache-hit != 'true' + shell: "cmd" + working-directory: "${{ github.workspace }}" + run: | + set "CMAKE_GENERATOR=Visual Studio 17 2022" + "${{env.THIRD_PARTY_BASE_DIR}}\common\win\premake\premake5.exe" --file=premake5-deps.lua --64-build --32-build --all-ext --all-build --j=2 --verbose --clean --os=windows vs2022 diff --git a/.github/workflows/emu-pull-request.yml b/.github/workflows/emu-pull-request.yml index 4c99f1b1..eb25a2c5 100644 --- a/.github/workflows/emu-pull-request.yml +++ b/.github/workflows/emu-pull-request.yml @@ -1,30 +1,30 @@ -name: Emu PR +name: "Emu PR" on: pull_request: - branches: [ "dev" ] + branches: ["dev"] paths-ignore: - - '**/*.md' - - 'dev.notes/**' - - 'post_build/**' - - 'z_original_repo_files/**' - - 'sdk/*.txt' - - 'LICENSE' + - "**/*.md" + - "dev.notes/**" + - "post_build/**" + - "z_original_repo_files/**" + - "sdk/*.txt" + - "LICENSE" # tools - - 'tools/generate_emu_config/**' - - 'tools/migrate_gse/**' - - 'tools/steamclient_loader/linux/**' # these are just scripts, not built + - "tools/generate_emu_config/**" + - "tools/migrate_gse/**" + - "tools/steamclient_loader/linux/**" # these are just scripts, not built permissions: - contents: write + contents: "write" jobs: emu-win-all: - name: win + name: "win" if: ${{ !cancelled() }} - uses: ./.github/workflows/emu-build-all-win.yml + uses: "./.github/workflows/emu-build-all-win.yml" emu-linux-all: - name: linux + name: "linux" if: ${{ !cancelled() }} - uses: ./.github/workflows/emu-build-all-linux.yml + uses: "./.github/workflows/emu-build-all-linux.yml" diff --git a/.github/workflows/gen_emu_config-build-linux.yml b/.github/workflows/gen_emu_config-build-linux.yml index b2217d02..6bde0771 100644 --- a/.github/workflows/gen_emu_config-build-linux.yml +++ b/.github/workflows/gen_emu_config-build-linux.yml @@ -1,4 +1,4 @@ -name: Build gen_emu_config script (Linux) +name: "Build gen_emu_config script (Linux)" on: workflow_call: @@ -7,7 +7,7 @@ on: # allows manual trigger permissions: - contents: write + contents: "write" env: ARTIFACT_NAME: "generate_emu_config-linux-${{ github.sha }}" @@ -16,37 +16,37 @@ env: jobs: build: - runs-on: ubuntu-24.04 + runs-on: "ubuntu-24.04" steps: - - name: Checkout branch - uses: actions/checkout@v4 + - name: "Checkout branch" + uses: actions/checkout@v4 -# env - - name: Install env - shell: bash - working-directory: "${{ env.SCRIPT_BASE_DIR }}" - run: sudo chmod 777 recreate_venv_linux.sh && sudo ./recreate_venv_linux.sh + # env + - name: "Install env" + shell: "bash" + working-directory: "${{ env.SCRIPT_BASE_DIR }}" + run: sudo chmod 777 recreate_venv_linux.sh && sudo ./recreate_venv_linux.sh -### fix folder permissions! not sure why this fails - # nested subdirs "build/linux/release" cause permission problems - - name: Give all permissions to repo folder - shell: bash - working-directory: ${{ github.workspace }} - run: sudo chmod -R 777 "${{ github.workspace }}" + # fix folder permissions! not sure why this fails + # nested subdirs "build/linux/release" cause permission problems + - name: "Give all permissions to repo folder" + shell: "bash" + working-directory: "${{ github.workspace }}" + run: sudo chmod -R 777 "${{ github.workspace }}" -# build - - name: Rebuild - shell: bash - working-directory: "${{ env.SCRIPT_BASE_DIR }}" - run: sudo chmod 777 rebuild_linux.sh && ./rebuild_linux.sh + # build + - name: "Rebuild" + shell: "bash" + working-directory: "${{ env.SCRIPT_BASE_DIR }}" + run: sudo chmod 777 rebuild_linux.sh && ./rebuild_linux.sh -# upload artifact - - name: Upload build package - uses: actions/upload-artifact@v4 - with: - name: "${{ env.ARTIFACT_NAME }}" - path: "${{ env.PACKAGE_BASE_DIR }}/" - if-no-files-found: 'error' - compression-level: 9 - retention-days: 1 + # upload artifact + - name: "Upload build package" + uses: actions/upload-artifact@v4 + with: + name: "${{ env.ARTIFACT_NAME }}" + path: "${{ env.PACKAGE_BASE_DIR }}/" + if-no-files-found: "error" + compression-level: 9 + retention-days: 1 diff --git a/.github/workflows/gen_emu_config-build-win.yml b/.github/workflows/gen_emu_config-build-win.yml index d3e563a7..833b37bd 100644 --- a/.github/workflows/gen_emu_config-build-win.yml +++ b/.github/workflows/gen_emu_config-build-win.yml @@ -1,4 +1,4 @@ -name: Build gen_emu_config script (Windows) +name: "Build gen_emu_config script (Windows)" on: workflow_call: @@ -7,62 +7,62 @@ on: # allows manual trigger permissions: - contents: write + contents: "write" env: ARTIFACT_NAME: "generate_emu_config-win-${{ github.sha }}" SCRIPT_BASE_DIR: "tools/generate_emu_config" PACKAGE_BASE_DIR: "tools/generate_emu_config/bin/win" - THIRD_PARTY_BASE_DIR: 'third-party' + THIRD_PARTY_BASE_DIR: "third-party" jobs: build: - runs-on: windows-2022 + runs-on: "windows-2022" steps: - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" + - name: "Set up Python" + uses: actions/setup-python@v5 + with: + python-version: "3.12" -### on Windows Git will auto change line ending to CRLF, not preferable - - name: Ensure LF line ending - shell: cmd - working-directory: ${{ github.workspace }} - run: | - git config --local core.autocrlf false - git config --system core.autocrlf false - git config --global core.autocrlf false - - - name: Checkout branch - uses: actions/checkout@v4 - -## extra helpers/tools, these are not built inside the deps build dir - - name: Clone third-party deps (build/win) - uses: actions/checkout@v4 - with: - ref: 'third-party/build/win' - path: "${{env.THIRD_PARTY_BASE_DIR}}/build/win" + ### on Windows Git will auto change line ending to CRLF, not preferable + - name: "Ensure LF line ending" + shell: "cmd" + working-directory: "${{ github.workspace }}" + run: | + git config --local core.autocrlf false + git config --system core.autocrlf false + git config --global core.autocrlf false -# env - - name: Install env - shell: cmd - working-directory: "${{ env.SCRIPT_BASE_DIR }}" - run: recreate_venv_win.bat + - name: "Checkout branch" + uses: actions/checkout@v4 -# build - - name: Rebuild - shell: cmd - working-directory: "${{ env.SCRIPT_BASE_DIR }}" - run: rebuild_win.bat + ## extra helpers/tools, these are not built inside the deps build dir + - name: "Clone third-party deps (build/win)" + uses: actions/checkout@v4 + with: + ref: "third-party/build/win" + path: "${{env.THIRD_PARTY_BASE_DIR}}/build/win" -# upload artifact - - name: Upload build package - uses: actions/upload-artifact@v4 - with: - name: "${{ env.ARTIFACT_NAME }}" - path: "${{ env.PACKAGE_BASE_DIR }}/" - if-no-files-found: 'error' - compression-level: 9 - retention-days: 1 + # env + - name: "Install env" + shell: "cmd" + working-directory: "${{ env.SCRIPT_BASE_DIR }}" + run: recreate_venv_win.bat + + # build + - name: "Rebuild" + shell: "cmd" + working-directory: "${{ env.SCRIPT_BASE_DIR }}" + run: rebuild_win.bat + + # upload artifact + - name: "Upload build package" + uses: actions/upload-artifact@v4 + with: + name: "${{ env.ARTIFACT_NAME }}" + path: "${{ env.PACKAGE_BASE_DIR }}/" + if-no-files-found: "error" + compression-level: 9 + retention-days: 1 diff --git a/.github/workflows/gen_emu_config-pull-request.yml b/.github/workflows/gen_emu_config-pull-request.yml index 2c83c96e..490c6096 100644 --- a/.github/workflows/gen_emu_config-pull-request.yml +++ b/.github/workflows/gen_emu_config-pull-request.yml @@ -1,22 +1,22 @@ -name: Gen emu cfg PR +name: "Gen emu cfg PR" on: pull_request: - branches: [ "dev" ] + branches: ["dev"] paths: - - '!**/*.md' - - 'tools/generate_emu_config/**' + - "!**/*.md" + - "tools/generate_emu_config/**" permissions: - contents: write + contents: "write" jobs: script-win: - name: Gen emu config win + name: "Gen emu config win" if: ${{ !cancelled() }} - uses: ./.github/workflows/gen_emu_config-build-win.yml + uses: "./.github/workflows/gen_emu_config-build-win.yml" script-linux: - name: Gen emu config linux + name: "Gen emu config linux" if: ${{ !cancelled() }} - uses: ./.github/workflows/gen_emu_config-build-linux.yml + uses: "./.github/workflows/gen_emu_config-build-linux.yml" diff --git a/.github/workflows/migrate_gse-build-linux.yml b/.github/workflows/migrate_gse-build-linux.yml index b2e26848..705e5ba0 100644 --- a/.github/workflows/migrate_gse-build-linux.yml +++ b/.github/workflows/migrate_gse-build-linux.yml @@ -1,4 +1,4 @@ -name: Build migrate_gse script (Linux) +name: "Build migrate_gse script (Linux)" on: workflow_call: @@ -7,7 +7,7 @@ on: # allows manual trigger permissions: - contents: write + contents: "write" env: ARTIFACT_NAME: "migrate_gse-linux-${{ github.sha }}" @@ -16,37 +16,37 @@ env: jobs: build: - runs-on: ubuntu-24.04 + runs-on: "ubuntu-24.04" steps: - - name: Checkout branch - uses: actions/checkout@v4 - -### fix folder permissions! not sure why this fails - # nested subdirs "build/linux/release" cause permission problems - - name: Give all permissions to repo folder - shell: bash - working-directory: ${{ github.workspace }} - run: sudo chmod -R 777 "${{ github.workspace }}" + - name: "Checkout branch" + uses: actions/checkout@v4 -# env - - name: Install env - shell: bash - working-directory: "${{ env.SCRIPT_BASE_DIR }}" - run: sudo chmod 777 recreate_venv_linux.sh && sudo ./recreate_venv_linux.sh + # fix folder permissions! not sure why this fails + # nested subdirs "build/linux/release" cause permission problems + - name: "Give all permissions to repo folder" + shell: "bash" + working-directory: "${{ github.workspace }}" + run: sudo chmod -R 777 "${{ github.workspace }}" -# build - - name: Rebuild - shell: bash - working-directory: "${{ env.SCRIPT_BASE_DIR }}" - run: sudo chmod 777 rebuild_linux.sh && ./rebuild_linux.sh + # env + - name: "Install env" + shell: "bash" + working-directory: "${{ env.SCRIPT_BASE_DIR }}" + run: sudo chmod 777 recreate_venv_linux.sh && sudo ./recreate_venv_linux.sh -# upload artifact - - name: Upload build package - uses: actions/upload-artifact@v4 - with: - name: "${{ env.ARTIFACT_NAME }}" - path: "${{ env.PACKAGE_BASE_DIR }}/" - if-no-files-found: 'error' - compression-level: 9 - retention-days: 1 + # build + - name: "Rebuild" + shell: "bash" + working-directory: "${{ env.SCRIPT_BASE_DIR }}" + run: sudo chmod 777 rebuild_linux.sh && ./rebuild_linux.sh + + # upload artifact + - name: "Upload build package" + uses: actions/upload-artifact@v4 + with: + name: "${{ env.ARTIFACT_NAME }}" + path: "${{ env.PACKAGE_BASE_DIR }}/" + if-no-files-found: "error" + compression-level: 9 + retention-days: 1 diff --git a/.github/workflows/migrate_gse-build-win.yml b/.github/workflows/migrate_gse-build-win.yml index 54b1b230..34913db8 100644 --- a/.github/workflows/migrate_gse-build-win.yml +++ b/.github/workflows/migrate_gse-build-win.yml @@ -1,4 +1,4 @@ -name: Build migrate_gse script (Windows) +name: "Build migrate_gse script (Windows)" on: workflow_call: @@ -7,62 +7,62 @@ on: # allows manual trigger permissions: - contents: write + contents: "write" env: ARTIFACT_NAME: "migrate_gse-win-${{ github.sha }}" SCRIPT_BASE_DIR: "tools/migrate_gse" PACKAGE_BASE_DIR: "tools/migrate_gse/bin/win" - - THIRD_PARTY_BASE_DIR: 'third-party' - + + THIRD_PARTY_BASE_DIR: "third-party" + jobs: build: - runs-on: windows-2022 + runs-on: "windows-2022" steps: - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" + - name: "Set up Python 3.12" + uses: actions/setup-python@v5 + with: + python-version: "3.12" -### on Windows Git will auto change line ending to CRLF, not preferable - - name: Ensure LF line ending - shell: cmd - working-directory: ${{ github.workspace }} - run: | - git config --local core.autocrlf false - git config --system core.autocrlf false - git config --global core.autocrlf false - - - name: Checkout branch - uses: actions/checkout@v4 - -## extra helpers/tools, these are not built inside the deps build dir - - name: Clone third-party deps (build/win) - uses: actions/checkout@v4 - with: - ref: 'third-party/build/win' - path: "${{env.THIRD_PARTY_BASE_DIR}}/build/win" + # on Windows Git will auto change line ending to CRLF, not preferable + - name: "Ensure LF line ending" + shell: "cmd" + working-directory: "${{ github.workspace }}" + run: | + git config --local core.autocrlf false + git config --system core.autocrlf false + git config --global core.autocrlf false -# env - - name: Install env - shell: cmd - working-directory: "${{ env.SCRIPT_BASE_DIR }}" - run: recreate_venv_win.bat + - name: "Checkout branch" + uses: actions/checkout@v4 -# build - - name: Rebuild - shell: cmd - working-directory: "${{ env.SCRIPT_BASE_DIR }}" - run: rebuild_win.bat + # extra helpers/tools, these are not built inside the deps build dir + - name: "Clone third-party deps (build/win)" + uses: actions/checkout@v4 + with: + ref: "third-party/build/win" + path: "${{env.THIRD_PARTY_BASE_DIR}}/build/win" -# upload artifact - - name: Upload build package - uses: actions/upload-artifact@v4 - with: - name: "${{ env.ARTIFACT_NAME }}" - path: "${{ env.PACKAGE_BASE_DIR }}/" - if-no-files-found: 'error' - compression-level: 9 - retention-days: 1 + # env + - name: "Install env" + shell: cmd + working-directory: "${{ env.SCRIPT_BASE_DIR }}" + run: recreate_venv_win.bat + + # build + - name: "Rebuild" + shell: cmd + working-directory: "${{ env.SCRIPT_BASE_DIR }}" + run: rebuild_win.bat + + # upload artifact + - name: "Upload build package" + uses: actions/upload-artifact@v4 + with: + name: "${{ env.ARTIFACT_NAME }}" + path: "${{ env.PACKAGE_BASE_DIR }}/" + if-no-files-found: "error" + compression-level: 9 + retention-days: 1 diff --git a/.github/workflows/migrate_gse-pull-request.yml b/.github/workflows/migrate_gse-pull-request.yml index bd5fe69f..77257a62 100644 --- a/.github/workflows/migrate_gse-pull-request.yml +++ b/.github/workflows/migrate_gse-pull-request.yml @@ -1,22 +1,22 @@ -name: Migrate GSE PR +name: "Migrate GSE PR" on: pull_request: - branches: [ "dev" ] + branches: ["dev"] paths: - - '!**/*.md' - - 'tools/migrate_gse/**' + - "!**/*.md" + - "tools/migrate_gse/**" permissions: - contents: write + contents: "write" jobs: script-win: - name: Migrate GSE win + name: "Migrate GSE win" if: ${{ !cancelled() }} uses: ./.github/workflows/migrate_gse-build-win.yml script-linux: - name: Migrate GSE linux + name: "Migrate GSE linux" if: ${{ !cancelled() }} uses: ./.github/workflows/migrate_gse-build-linux.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2541c2d7..7974417e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,430 +1,411 @@ -name: Prepare release +name: "Prepare release" on: push: tags: - - release-* + - "release-*" workflow_dispatch: # allows manual trigger permissions: - contents: write + contents: "write" env: - THIRD_PARTY_BASE_DIR: 'third-party' + THIRD_PARTY_BASE_DIR: "third-party" jobs: emu-win-all: - name: Emu win all + name: "Emu win all" if: ${{ !cancelled() }} - uses: ./.github/workflows/emu-build-all-win.yml + uses: "./.github/workflows/emu-build-all-win.yml" emu-win-prep: - needs: [ emu-win-all ] - runs-on: windows-2022 + needs: ["emu-win-all"] + runs-on: "windows-2022" steps: # on Windows Git will auto change line ending to CRLF, not preferable - - name: Ensure LF line ending - shell: cmd - working-directory: ${{ github.workspace }} + - name: "Ensure LF line ending" + shell: "cmd" + working-directory: "${{ github.workspace }}" run: | git config --local core.autocrlf false git config --system core.autocrlf false git config --global core.autocrlf false # we need branch because it has package scripts - - name: Checkout branch + - name: "Checkout branch" uses: actions/checkout@v4 - - name: Clone third-party deps (deps/win) + - name: "Clone third-party deps (deps/win)" uses: actions/checkout@v4 with: - ref: 'third-party/deps/win' + ref: "third-party/deps/win" path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/win" -## donwload artifacts - - name: Download emu build artifacts (Win) + # download artifacts + - name: "Download emu build artifacts (Win)" uses: actions/download-artifact@v4 with: - path: build/win - pattern: emu-win-*-${{ github.sha }} + path: "build/win" + pattern: "emu-win-*-${{ github.sha }}" merge-multiple: true -### print files - - name: Print files - shell: cmd - working-directory: ${{ github.workspace }} + # print files + - name: "Print files" + shell: "cmd" + working-directory: "${{ github.workspace }}" run: | dir /s /b /a:-d build\win -### remove linker files -### - name: Remove linker files -### shell: cmd -### working-directory: ${{ github.workspace }} -### run: | -### del /f /s /q build\win\*.exp,build\win\*.lib -### exit /b 0 - -### package (release mode) - - name: Package build (release) - shell: cmd - working-directory: ${{ github.workspace }} + # package (release mode) + - name: "Package build (release)" + shell: "cmd" + working-directory: "${{ github.workspace }}" run: package_win.bat vs2022\release -### package (debug mode) - - name: Package build (debug) - shell: cmd - working-directory: ${{ github.workspace }} + # package (debug mode) + - name: "Package build (debug)" + shell: "cmd" + working-directory: "${{ github.workspace }}" run: package_win.bat vs2022\debug 1 -### release (debug + release modes) if this is a tag push - - name: Release + # release (debug + release modes) if this is a tag push + - name: "Release" if: startsWith(github.ref, 'refs/tags/') - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: files: "build/package/win/**/*" -### upload artifacts/packages if this is a manual run - - name: Upload release package + # upload artifacts/packages if this is a manual run + - name: "Upload release package" if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: actions/upload-artifact@v4 with: name: "release-emu-win-release-${{ github.sha }}" path: "build/package/win/vs2022/*release*" - if-no-files-found: 'error' + if-no-files-found: "error" compression-level: 0 retention-days: 7 - - name: Upload debug package + + - name: "Upload debug package" if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: actions/upload-artifact@v4 with: name: "release-emu-win-debug-${{ github.sha }}" path: "build/package/win/vs2022/*debug*" - if-no-files-found: 'error' + if-no-files-found: "error" compression-level: 0 retention-days: 7 - - emu-linux-all: - name: Emu linux all + name: "Emu linux all" if: ${{ !cancelled() }} - uses: ./.github/workflows/emu-build-all-linux.yml + uses: "./.github/workflows/emu-build-all-linux.yml" emu-linux-prep: - needs: [ emu-linux-all ] - runs-on: ubuntu-24.04 + needs: ["emu-linux-all"] + runs-on: "ubuntu-24.04" steps: # we need branch because it has package scripts - - name: Checkout branch + - name: "Checkout branch" uses: actions/checkout@v4 - - name: Clone third-party deps (deps/linux) + - name: "Clone third-party deps (deps/linux)" uses: actions/checkout@v4 with: - ref: 'third-party/deps/linux' + ref: "third-party/deps/linux" path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/linux" -## donwload artifacts - - name: Download emu build artifacts (linux) + # download artifacts + - name: "Download emu build artifacts (linux)" uses: actions/download-artifact@v4 with: - path: build/linux - pattern: emu-linux-*-${{ github.sha }} + path: "build/linux" + pattern: "emu-linux-*-${{ github.sha }}" merge-multiple: true -### fix folder permissions! not sure why this fails + # fix folder permissions! not sure why this fails # nested subdirs "build/linux/release" cause permission problems - - name: Give all permissions to repo folder + - name: "Give all permissions to repo folder" shell: bash - working-directory: ${{ github.workspace }} + working-directory: "${{ github.workspace }}" run: sudo chmod -R 777 "${{ github.workspace }}" && sudo chmod 777 package_linux.sh -### print files - - name: Print files - shell: bash - working-directory: ${{ github.workspace }} + # print files + - name: "Print files" + shell: "bash" + working-directory: "${{ github.workspace }}" run: | ls -la build/linux/*/* -### downlaod ubuntu packages - - name: Download required Ubuntu packages - shell: bash - working-directory: ${{ github.workspace }} + # downlaod ubuntu packages + - name: "Download required Ubuntu packages" + shell: "bash" + working-directory: "${{ github.workspace }}" run: | sudo apt update || exit 1 sudo apt install tar -y || exit 1 -### package (release mode) - - name: Package build (release) - shell: bash - working-directory: ${{ github.workspace }} + # package (release mode) + - name: "Package build (release)" + shell: "bash" + working-directory: "${{ github.workspace }}" run: ./package_linux.sh gmake2/release -### package (debug mode) - - name: Package build (debug) - shell: bash - working-directory: ${{ github.workspace }} + # package (debug mode) + - name: "Package build (debug)" + shell: "bash" + working-directory: "${{ github.workspace }}" run: ./package_linux.sh gmake2/debug 1 -### release (debug + release modes) if this is a tag push - - name: Release + # release (debug + release modes) if this is a tag push + - name: "Release" if: startsWith(github.ref, 'refs/tags/') - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: files: "build/package/linux/**/*" -### upload artifacts/packages if this is a manual run - - name: Upload release package + # upload artifacts/packages if this is a manual run + - name: "Upload release package" if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: actions/upload-artifact@v4 with: name: "release-emu-linux-release-${{ github.sha }}" path: "build/package/linux/gmake2/*release*" - if-no-files-found: 'error' + if-no-files-found: "error" compression-level: 0 retention-days: 7 - - name: Upload debug package + + - name: "Upload debug package" if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: actions/upload-artifact@v4 with: name: "release-emu-linux-debug-${{ github.sha }}" path: "build/package/linux/gmake2/*debug*" - if-no-files-found: 'error' + if-no-files-found: "error" compression-level: 0 retention-days: 7 - - gen_emu_script-win: - name: Gen emu config win + name: "Gen emu config win" if: ${{ !cancelled() }} - uses: ./.github/workflows/gen_emu_config-build-win.yml + uses: "./.github/workflows/gen_emu_config-build-win.yml" gen_emu_script-win-prep: - needs: [ gen_emu_script-win ] - runs-on: windows-2022 + needs: ["gen_emu_script-win"] + runs-on: "windows-2022" steps: # on Windows Git will auto change line ending to CRLF, not preferable - - name: Ensure LF line ending - shell: cmd - working-directory: ${{ github.workspace }} + - name: "Ensure LF line ending" + shell: "cmd" + working-directory: "${{ github.workspace }}" run: | git config --local core.autocrlf false git config --system core.autocrlf false git config --global core.autocrlf false # we need branch because it has package scripts - - name: Checkout branch + - name: "Checkout branch" uses: actions/checkout@v4 - - name: Clone third-party deps (deps/win) + - name: "Clone third-party deps (deps/win)" uses: actions/checkout@v4 with: - ref: 'third-party/deps/win' + ref: "third-party/deps/win" path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/win" -## donwload artifacts - - name: Download script build artifacts (Win) + # download artifacts + - name: "Download script build artifacts (Win)" uses: actions/download-artifact@v4 with: - path: tools/generate_emu_config/bin/win - pattern: generate_emu_config-win-* + path: "tools/generate_emu_config/bin/win" + pattern: "generate_emu_config-win-*" merge-multiple: true -### package - - name: Package script - shell: cmd + # package + - name: "Package script" + shell: "cmd" working-directory: "tools/generate_emu_config" run: package_win.bat -# release tag - - name: Release + # release tag + - name: "Release" if: startsWith(github.ref, 'refs/tags/') - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: files: "tools/generate_emu_config/bin/package/win/**/*" -### upload artifact/package if this is a manual run - - name: Upload release package + # upload artifact/package if this is a manual run + - name: "Upload release package" if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: actions/upload-artifact@v4 with: name: "release-generate_emu_config-win-${{ github.sha }}" path: "tools/generate_emu_config/bin/package/win/**/*" - if-no-files-found: 'error' + if-no-files-found: "error" compression-level: 9 retention-days: 7 - - gen_emu_script-linux: - name: Gen emu config linux + name: "Gen emu config linux" if: ${{ !cancelled() }} - uses: ./.github/workflows/gen_emu_config-build-linux.yml + uses: "./.github/workflows/gen_emu_config-build-linux.yml" gen_emu_script-linux-prep: - needs: [ gen_emu_script-linux ] - runs-on: ubuntu-24.04 + needs: ["gen_emu_script-linux"] + runs-on: "ubuntu-24.04" steps: # we need branch because it has package scripts - - name: Checkout branch + - name: "Checkout branch" uses: actions/checkout@v4 -## donwload artifacts - - name: Download script build artifacts (linux) + # download artifacts + - name: "Download script build artifacts (linux)" uses: actions/download-artifact@v4 with: - path: tools/generate_emu_config/bin/linux - pattern: generate_emu_config-linux-* + path: "tools/generate_emu_config/bin/linux" + pattern: "generate_emu_config-linux-*" merge-multiple: true -### fix folder permissions! not sure why this fails + # fix folder permissions! not sure why this fails # nested subdirs "build/linux/release" cause permission problems - - name: Give all permissions to repo folder - shell: bash - working-directory: ${{ github.workspace }} - run: sudo chmod -R 777 "${{ github.workspace }}" + - name: "Give all permissions to repo folder" + shell: "bash" + working-directory: "${{ github.workspace }}" + run: sudo chmod -R 777 "${{ github.workspace }}" -### package - - name: Package script - shell: bash + # package + - name: "Package script" + shell: "bash" working-directory: "tools/generate_emu_config" run: sudo chmod 777 package_linux.sh && sudo ./package_linux.sh -# release tag - - name: Release + # release tag + - name: "Release" if: startsWith(github.ref, 'refs/tags/') - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: files: "tools/generate_emu_config/bin/package/linux/**/*" -### upload artifact/package if this is a manual run - - name: Upload release package + # upload artifact/package if this is a manual run + - name: "Upload release package" if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: actions/upload-artifact@v4 with: name: "release-generate_emu_config-linux-${{ github.sha }}" path: "tools/generate_emu_config/bin/package/linux/**/*" - if-no-files-found: 'error' + if-no-files-found: "error" compression-level: 9 retention-days: 7 - - migrate_gse_script-win: - name: Migrate GSE win + name: "Migrate GSE win" if: ${{ !cancelled() }} - uses: ./.github/workflows/migrate_gse-build-win.yml + uses: "./.github/workflows/migrate_gse-build-win.yml" migrate_gse_script-win-prep: - needs: [ migrate_gse_script-win ] - runs-on: windows-2022 + needs: ["migrate_gse_script-win"] + runs-on: "windows-2022" steps: # on Windows Git will auto change line ending to CRLF, not preferable - - name: Ensure LF line ending - shell: cmd - working-directory: ${{ github.workspace }} + - name: "Ensure LF line ending" + shell: "cmd" + working-directory: "${{ github.workspace }}" run: | git config --local core.autocrlf false git config --system core.autocrlf false git config --global core.autocrlf false # we need branch because it has package scripts - - name: Checkout branch + - name: "Checkout branch" uses: actions/checkout@v4 - - name: Clone third-party deps (deps/win) + - name: "Clone third-party deps (deps/win)" uses: actions/checkout@v4 with: - ref: 'third-party/deps/win' + ref: "third-party/deps/win" path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/win" -## donwload artifacts - - name: Download script build artifacts (Win) + # download artifacts + - name: "Download script build artifacts (Win)" uses: actions/download-artifact@v4 with: - path: tools/migrate_gse/bin/win - pattern: migrate_gse-win-* + path: "tools/migrate_gse/bin/win" + pattern: "migrate_gse-win-*" merge-multiple: true -### package - - name: Package script - shell: cmd + # package + - name: "Package script" + shell: "cmd" working-directory: "tools/migrate_gse" run: package_win.bat -# release tag - - name: Release + # release tag + - name: "Release" if: startsWith(github.ref, 'refs/tags/') - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: files: "tools/migrate_gse/bin/package/win/**/*" -### upload artifact/package if this is a manual run - - name: Upload release package + # upload artifact/package if this is a manual run + - name: "Upload release package" if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: actions/upload-artifact@v4 with: name: "release-migrate_gse-win-${{ github.sha }}" path: "tools/migrate_gse/bin/package/win/**/*" - if-no-files-found: 'error' + if-no-files-found: "error" compression-level: 9 retention-days: 7 - - migrate_gse_script-linux: name: Migrate GSE linux if: ${{ !cancelled() }} - uses: ./.github/workflows/migrate_gse-build-linux.yml + uses: "./.github/workflows/migrate_gse-build-linux.yml" migrate_gse_script-linux-prep: - needs: [ migrate_gse_script-linux ] - runs-on: ubuntu-24.04 + needs: ["migrate_gse_script-linux"] + runs-on: "ubuntu-24.04" steps: # we need branch because it has package scripts - - name: Checkout branch + - name: "Checkout branch" uses: actions/checkout@v4 -## donwload artifacts - - name: Download script build artifacts (linux) + # download artifacts + - name: "Download script build artifacts (linux)" uses: actions/download-artifact@v4 with: - path: tools/migrate_gse/bin/linux - pattern: migrate_gse-linux-* + path: "tools/migrate_gse/bin/linux" + pattern: "migrate_gse-linux-*" merge-multiple: true -### fix folder permissions! not sure why this fails + # fix folder permissions! not sure why this fails # nested subdirs "build/linux/release" cause permission problems - - name: Give all permissions to repo folder - shell: bash - working-directory: ${{ github.workspace }} - run: sudo chmod -R 777 "${{ github.workspace }}" + - name: "Give all permissions to repo folder" + shell: "bash" + working-directory: "${{ github.workspace }}" + run: sudo chmod -R 777 "${{ github.workspace }}" -### package - - name: Package script - shell: bash + # package + - name: "Package script" + shell: "bash" working-directory: "tools/migrate_gse" run: sudo chmod 777 package_linux.sh && sudo ./package_linux.sh -# release tag - - name: Release + # release tag + - name: "Release" if: startsWith(github.ref, 'refs/tags/') - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: files: "tools/migrate_gse/bin/package/linux/**/*" -### upload artifact/package if this is a manual run - - name: Upload release package + # upload artifact/package if this is a manual run + - name: "Upload release package" if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: actions/upload-artifact@v4 with: name: "release-migrate_gse-linux-${{ github.sha }}" path: "tools/migrate_gse/bin/package/linux/**/*" - if-no-files-found: 'error' + if-no-files-found: "error" compression-level: 9 retention-days: 7 - - -