mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-23 11:15:34 +08:00
formatted the .yml workflows, updated the python version of migrate_gse to v3.12 and updated softprops/action-gh-release to v2
This commit is contained in:
parent
971e60c85d
commit
1b68c4bb0e
92
.github/workflows/emu-build-all-linux.yml
vendored
92
.github/workflows/emu-build-all-linux.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: Build emu (Linux)
|
||||
name: "Build emu (Linux)"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
@ -7,26 +7,26 @@ 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
|
||||
|
||||
@ -35,60 +35,62 @@ jobs:
|
||||
matrix:
|
||||
prj: [
|
||||
# regular api
|
||||
'api_regular', 'steamclient_regular',
|
||||
"api_regular",
|
||||
"steamclient_regular",
|
||||
# api + client (experimental)
|
||||
'api_experimental', 'steamclient_experimental',
|
||||
"api_experimental",
|
||||
"steamclient_experimental",
|
||||
# tools
|
||||
'tool_lobby_connect', 'tool_generate_interfaces',
|
||||
"tool_lobby_connect",
|
||||
"tool_generate_interfaces",
|
||||
]
|
||||
arch: [ 'x64', 'x32', ]
|
||||
cfg: [ 'debug', 'release', ]
|
||||
|
||||
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
|
||||
# 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 }}
|
||||
- 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
|
||||
|
96
.github/workflows/emu-build-all-win.yml
vendored
96
.github/workflows/emu-build-all-win.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: Build emu (Windows)
|
||||
name: "Build emu (Windows)"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
@ -7,25 +7,25 @@ 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"
|
||||
|
||||
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-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
|
||||
|
||||
@ -34,77 +34,81 @@ jobs:
|
||||
matrix:
|
||||
prj: [
|
||||
# regular api
|
||||
'api_regular',
|
||||
"api_regular",
|
||||
# (experimental) api + client
|
||||
'api_experimental', 'steamclient_experimental_stub',
|
||||
"api_experimental",
|
||||
"steamclient_experimental_stub",
|
||||
# client (experimental) + loader + extra dll + gameoverlaylib
|
||||
'steamclient_experimental', 'steamclient_experimental_loader',
|
||||
'steamclient_experimental_extra', 'lib_game_overlay_renderer',
|
||||
"steamclient_experimental",
|
||||
"steamclient_experimental_loader",
|
||||
"steamclient_experimental_extra",
|
||||
"lib_game_overlay_renderer",
|
||||
# tools
|
||||
'tool_lobby_connect', 'tool_generate_interfaces',
|
||||
"tool_lobby_connect",
|
||||
"tool_generate_interfaces",
|
||||
]
|
||||
arch: [ 'x64', 'Win32', ]
|
||||
cfg: [ 'debug', 'release', ]
|
||||
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
|
||||
|
56
.github/workflows/emu-deps-linux.yml
vendored
56
.github/workflows/emu-deps-linux.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: Emu third-party dependencies (Linux)
|
||||
name: "Emu third-party dependencies (Linux)"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
@ -7,66 +7,66 @@ 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
|
||||
- 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 }}
|
||||
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
|
||||
- name: "Checkout branch"
|
||||
if: steps.emu-deps-cache-step.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Clone third-party deps (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'
|
||||
ref: "third-party/common/linux"
|
||||
path: "${{env.THIRD_PARTY_BASE_DIR}}/common/linux"
|
||||
|
||||
- name: Clone third-party deps (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'
|
||||
ref: "third-party/deps/linux"
|
||||
path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/linux"
|
||||
|
||||
- name: Clone third-party deps (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'
|
||||
ref: "third-party/deps/common"
|
||||
path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/common"
|
||||
|
||||
### 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"
|
||||
if: steps.emu-deps-cache-step.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
shell: "bash"
|
||||
working-directory: "${{ github.workspace }}"
|
||||
run: sudo chmod -R 777 "${{ github.workspace }}"
|
||||
|
||||
## 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...
|
||||
@ -78,10 +78,10 @@ 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
|
||||
|
||||
- name: Build deps
|
||||
- name: "Build deps"
|
||||
if: steps.emu-deps-cache-step.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
shell: "bash"
|
||||
working-directory: "${{ github.workspace }}"
|
||||
run: |
|
||||
export CMAKE_GENERATOR="Unix Makefiles"
|
||||
sudo chmod 777 ./${{env.THIRD_PARTY_BASE_DIR}}/common/linux/premake/premake5
|
||||
|
50
.github/workflows/emu-deps-win.yml
vendored
50
.github/workflows/emu-deps-win.yml
vendored
@ -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
|
||||
- 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
|
||||
- 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 }}
|
||||
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
|
||||
- name: "Checkout branch"
|
||||
if: steps.emu-deps-cache-step.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Clone third-party deps (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'
|
||||
ref: "third-party/common/win"
|
||||
path: "${{env.THIRD_PARTY_BASE_DIR}}/common/win"
|
||||
|
||||
- name: Clone third-party deps (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'
|
||||
ref: "third-party/deps/win"
|
||||
path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/win"
|
||||
|
||||
- name: Clone third-party deps (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'
|
||||
ref: "third-party/deps/common"
|
||||
path: "${{env.THIRD_PARTY_BASE_DIR}}/deps/common"
|
||||
|
||||
- name: Clone third-party deps (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'
|
||||
ref: "third-party/common/win"
|
||||
path: "${{env.THIRD_PARTY_BASE_DIR}}/common/win"
|
||||
|
||||
- name: Build deps
|
||||
- name: "Build deps"
|
||||
if: steps.emu-deps-cache-step.outputs.cache-hit != 'true'
|
||||
shell: cmd
|
||||
working-directory: ${{ github.workspace }}
|
||||
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
|
||||
|
32
.github/workflows/emu-pull-request.yml
vendored
32
.github/workflows/emu-pull-request.yml
vendored
@ -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"
|
||||
|
34
.github/workflows/gen_emu_config-build-linux.yml
vendored
34
.github/workflows/gen_emu_config-build-linux.yml
vendored
@ -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
|
||||
- name: "Checkout branch"
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# env
|
||||
- name: Install env
|
||||
shell: bash
|
||||
# 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
|
||||
# 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 }}
|
||||
- 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
|
||||
# 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
|
||||
# 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'
|
||||
if-no-files-found: "error"
|
||||
compression-level: 9
|
||||
retention-days: 1
|
||||
|
44
.github/workflows/gen_emu_config-build-win.yml
vendored
44
.github/workflows/gen_emu_config-build-win.yml
vendored
@ -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
|
||||
- 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 }}
|
||||
### 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
|
||||
- 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)
|
||||
## 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'
|
||||
ref: "third-party/build/win"
|
||||
path: "${{env.THIRD_PARTY_BASE_DIR}}/build/win"
|
||||
|
||||
# env
|
||||
- name: Install env
|
||||
shell: cmd
|
||||
# env
|
||||
- name: "Install env"
|
||||
shell: "cmd"
|
||||
working-directory: "${{ env.SCRIPT_BASE_DIR }}"
|
||||
run: recreate_venv_win.bat
|
||||
|
||||
# build
|
||||
- name: Rebuild
|
||||
shell: cmd
|
||||
# build
|
||||
- name: "Rebuild"
|
||||
shell: "cmd"
|
||||
working-directory: "${{ env.SCRIPT_BASE_DIR }}"
|
||||
run: rebuild_win.bat
|
||||
|
||||
# upload artifact
|
||||
- name: Upload build package
|
||||
# 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'
|
||||
if-no-files-found: "error"
|
||||
compression-level: 9
|
||||
retention-days: 1
|
||||
|
@ -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"
|
||||
|
34
.github/workflows/migrate_gse-build-linux.yml
vendored
34
.github/workflows/migrate_gse-build-linux.yml
vendored
@ -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
|
||||
- name: "Checkout branch"
|
||||
uses: actions/checkout@v4
|
||||
|
||||
### 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 }}
|
||||
- name: "Give all permissions to repo folder"
|
||||
shell: "bash"
|
||||
working-directory: "${{ github.workspace }}"
|
||||
run: sudo chmod -R 777 "${{ github.workspace }}"
|
||||
|
||||
# env
|
||||
- name: Install env
|
||||
shell: bash
|
||||
# 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
|
||||
|
||||
# build
|
||||
- name: Rebuild
|
||||
shell: bash
|
||||
# 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
|
||||
# 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'
|
||||
if-no-files-found: "error"
|
||||
compression-level: 9
|
||||
retention-days: 1
|
||||
|
42
.github/workflows/migrate_gse-build-win.yml
vendored
42
.github/workflows/migrate_gse-build-win.yml
vendored
@ -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
|
||||
- name: "Set up Python 3.12"
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
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 }}
|
||||
# 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
|
||||
- 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)
|
||||
# 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'
|
||||
ref: "third-party/build/win"
|
||||
path: "${{env.THIRD_PARTY_BASE_DIR}}/build/win"
|
||||
|
||||
# env
|
||||
- name: Install env
|
||||
# env
|
||||
- name: "Install env"
|
||||
shell: cmd
|
||||
working-directory: "${{ env.SCRIPT_BASE_DIR }}"
|
||||
run: recreate_venv_win.bat
|
||||
|
||||
# build
|
||||
- name: Rebuild
|
||||
# build
|
||||
- name: "Rebuild"
|
||||
shell: cmd
|
||||
working-directory: "${{ env.SCRIPT_BASE_DIR }}"
|
||||
run: rebuild_win.bat
|
||||
|
||||
# upload artifact
|
||||
- name: Upload build package
|
||||
# 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'
|
||||
if-no-files-found: "error"
|
||||
compression-level: 9
|
||||
retention-days: 1
|
||||
|
14
.github/workflows/migrate_gse-pull-request.yml
vendored
14
.github/workflows/migrate_gse-pull-request.yml
vendored
@ -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
|
||||
|
353
.github/workflows/release.yml
vendored
353
.github/workflows/release.yml
vendored
@ -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 }}
|
||||
- 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 }}
|
||||
- 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
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user