mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-12-24 09:24:15 +08:00
workflows for linux too + rename scripts
This commit is contained in:
parent
67dd084448
commit
470003f926
208
.github/workflows/build-linux.yml
vendored
208
.github/workflows/build-linux.yml
vendored
@ -1,208 +0,0 @@
|
||||
name: Emu build (Linux)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [
|
||||
"ci-build-emu-linux*",
|
||||
"ci-build-all"
|
||||
]
|
||||
tags:
|
||||
- release*
|
||||
|
||||
# pull_request:
|
||||
# branches: [ "dev" ]
|
||||
# paths-ignore:
|
||||
# - '**/*.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 shell scripts, not compiled
|
||||
|
||||
workflow_dispatch:
|
||||
# allows manual trigger
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
env:
|
||||
DEPS_CACHE_KEY: emu-deps-linux
|
||||
DEPS_CACHE_DIR: build/deps/linux
|
||||
|
||||
PACKAGE_BASE_DIR: "build/package/linux"
|
||||
THIRD_PARTY_BASE_DIR: 'third-party'
|
||||
|
||||
jobs:
|
||||
# this helps in manual runs, if build fails, then deps are saved
|
||||
dependencies:
|
||||
runs-on: ubuntu-22.04
|
||||
# cache but not for tags or PRs
|
||||
# !tag && !pull_request
|
||||
# also you could use this: github.event_name != 'pull_request'
|
||||
if: |
|
||||
!startsWith(github.ref, 'refs/tags/') &&
|
||||
!startsWith(github.ref, 'refs/pull/')
|
||||
|
||||
steps:
|
||||
# we need branch because it has build scripts
|
||||
- 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 for repo folder
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: sudo chmod -R 777 "${{ github.workspace }}"
|
||||
|
||||
- name: Lookup cache for deps
|
||||
id: emu-deps-cache-step
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
key: ${{ env.DEPS_CACHE_KEY }}
|
||||
path: ${{ env.DEPS_CACHE_DIR }}
|
||||
lookup-only: true # don't restore cache if found
|
||||
|
||||
- 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: Build deps
|
||||
if: steps.emu-deps-cache-step.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: sudo chmod 777 build_linux_deps.sh && sudo ./build_linux_deps.sh -verbose
|
||||
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
needs: [ dependencies ]
|
||||
if: ${{ !cancelled() }}
|
||||
|
||||
steps:
|
||||
- name: Checkout branch
|
||||
uses: actions/checkout@v4
|
||||
|
||||
### deps
|
||||
- name: Lookup cache for deps
|
||||
id: emu-deps-cache-step
|
||||
# !tag && !pull_request
|
||||
# also you could use this: github.event_name != 'pull_request'
|
||||
if: |
|
||||
!startsWith(github.ref, 'refs/tags/') &&
|
||||
!startsWith(github.ref, 'refs/pull/')
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
key: ${{ env.DEPS_CACHE_KEY }}
|
||||
path: ${{ env.DEPS_CACHE_DIR }}
|
||||
|
||||
# attempt to download again because in tags/PRs no cache is created
|
||||
- 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"
|
||||
|
||||
### fix folder permissions! not sure why this fails
|
||||
# nested subdirs "build/linux/release" cause permission problems
|
||||
- name: Give all permissions for repo folder
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: sudo chmod -R 777 "${{ github.workspace }}"
|
||||
|
||||
- name: Build deps
|
||||
if: steps.emu-deps-cache-step.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: sudo chmod 777 build_linux_deps.sh && sudo ./build_linux_deps.sh -verbose
|
||||
|
||||
## mandatory Linux packages, installed via sudo apt install ...
|
||||
- name: Install required packages
|
||||
shell: bash
|
||||
run: sudo chmod 777 build_linux_deps.sh && sudo ./build_linux_deps.sh -verbose -packages_only
|
||||
|
||||
## extra helpers/tools, these are not built inside the deps build dir
|
||||
- name: Clone third-party build helpers (build/linux)
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
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 for repo folder
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: sudo chmod -R 777 "${{ github.workspace }}"
|
||||
|
||||
### build (release mode)
|
||||
- name: Build release mode
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: "sudo chmod 777 build_linux.sh && ./build_linux.sh -verbose release +build_str ${{ github.sha }}"
|
||||
|
||||
### package (release mode)
|
||||
- name: Package build (release)
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: sudo chmod 77 package_linux.sh && sudo ./package_linux.sh release
|
||||
|
||||
### upload artifact/package to github Actions (release mode)
|
||||
- name: Upload build package (release)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "build-linux-release-${{ github.sha }}"
|
||||
path: "${{ env.PACKAGE_BASE_DIR }}/release/"
|
||||
if-no-files-found: 'error'
|
||||
compression-level: 9
|
||||
retention-days: 1
|
||||
|
||||
### build (debug mode)
|
||||
- name: Build debug mode
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: "sudo chmod 777 build_linux.sh && ./build_linux.sh -verbose debug +build_str ${{ github.sha }}"
|
||||
|
||||
### package (debug mode)
|
||||
- name: Package build (debug)
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: sudo chmod 77 package_linux.sh && sudo ./package_linux.sh debug
|
||||
|
||||
### upload artifact/package to github Actions (debug mode)
|
||||
- name: Upload build package (debug)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "build-linux-debug-${{ github.sha }}"
|
||||
path: "${{ env.PACKAGE_BASE_DIR }}/debug/"
|
||||
if-no-files-found: 'error'
|
||||
compression-level: 9
|
||||
retention-days: 1
|
||||
|
||||
### release (debug + release modes) if this is a tag push
|
||||
- name: Release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
files: "${{ env.PACKAGE_BASE_DIR }}/**/*"
|
||||
|
138
.github/workflows/emu-build-all-linux.yml
vendored
Normal file
138
.github/workflows/emu-build-all-linux.yml
vendored
Normal file
@ -0,0 +1,138 @@
|
||||
name: Build all emu variants (Linux)
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
# needed since it allows this to become a reusable workflow
|
||||
workflow_dispatch:
|
||||
# allows manual trigger
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
deps:
|
||||
name: Restore or build deps
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-deps-linux.yml
|
||||
|
||||
emu-regular-x32-release:
|
||||
name: Regular x32 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: regular
|
||||
x32: true
|
||||
debug: false
|
||||
|
||||
emu-regular-x32-debug:
|
||||
name: Regular x32 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: regular
|
||||
x32: true
|
||||
debug: true
|
||||
|
||||
emu-exp-x32-release:
|
||||
name: Experimental x32 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: exp
|
||||
x32: true
|
||||
debug: false
|
||||
|
||||
emu-exp-x32-debug:
|
||||
name: Experimental x32 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: exp
|
||||
x32: true
|
||||
debug: true
|
||||
|
||||
tools-x32-release:
|
||||
name: Tools x32 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: tools
|
||||
x32: true
|
||||
debug: false
|
||||
|
||||
tools-x32-debug:
|
||||
name: Tools x32 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: tools
|
||||
x32: true
|
||||
debug: true
|
||||
|
||||
|
||||
|
||||
emu-regular-x64-release:
|
||||
name: Regular x64 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: regular
|
||||
x32: false
|
||||
debug: false
|
||||
|
||||
emu-regular-x64-debug:
|
||||
name: Regular x64 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: regular
|
||||
x32: false
|
||||
debug: true
|
||||
|
||||
emu-exp-x64-release:
|
||||
name: Experimental x64 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: exp
|
||||
x32: false
|
||||
debug: false
|
||||
|
||||
emu-exp-x64-debug:
|
||||
name: Experimental x64 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: exp
|
||||
x32: false
|
||||
debug: true
|
||||
|
||||
tools-x64-release:
|
||||
name: Tools x64 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: tools
|
||||
x32: false
|
||||
debug: false
|
||||
|
||||
tools-x64-debug:
|
||||
name: Tools x64 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-variant-linux.yml
|
||||
with:
|
||||
emu-variant: tools
|
||||
x32: false
|
||||
debug: true
|
@ -13,13 +13,13 @@ jobs:
|
||||
deps:
|
||||
name: Restore or build deps
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/deps-win.yml
|
||||
uses: ./.github/workflows/emu-deps-win.yml
|
||||
|
||||
emu-regular-x32-release:
|
||||
name: Regular x32 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: regular
|
||||
x32: true
|
||||
@ -29,7 +29,7 @@ jobs:
|
||||
name: Regular x32 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: regular
|
||||
x32: true
|
||||
@ -39,7 +39,7 @@ jobs:
|
||||
name: Experimental x32 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: exp
|
||||
x32: true
|
||||
@ -49,7 +49,7 @@ jobs:
|
||||
name: Experimental x32 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: exp
|
||||
x32: true
|
||||
@ -59,7 +59,7 @@ jobs:
|
||||
name: Client x32 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: client
|
||||
x32: true
|
||||
@ -69,7 +69,7 @@ jobs:
|
||||
name: Client x32 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: client
|
||||
x32: true
|
||||
@ -81,7 +81,7 @@ jobs:
|
||||
name: Regular x64 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: regular
|
||||
x32: false
|
||||
@ -91,7 +91,7 @@ jobs:
|
||||
name: Regular x64 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: regular
|
||||
x32: false
|
||||
@ -101,7 +101,7 @@ jobs:
|
||||
name: Experimental x64 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: exp
|
||||
x32: false
|
||||
@ -111,7 +111,7 @@ jobs:
|
||||
name: Experimental x64 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: exp
|
||||
x32: false
|
||||
@ -121,7 +121,7 @@ jobs:
|
||||
name: Client x64 (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: client
|
||||
x32: false
|
||||
@ -131,7 +131,7 @@ jobs:
|
||||
name: Client x64 (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: client
|
||||
x32: false
|
||||
@ -143,7 +143,7 @@ jobs:
|
||||
name: Tools (release)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: tools
|
||||
debug: false
|
||||
@ -152,7 +152,7 @@ jobs:
|
||||
name: Tools (debug)
|
||||
needs: [ deps ]
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-variant-win.yml
|
||||
uses: ./.github/workflows/emu-build-variant-win.yml
|
||||
with:
|
||||
emu-variant: tools
|
||||
debug: true
|
127
.github/workflows/emu-build-variant-linux.yml
vendored
Normal file
127
.github/workflows/emu-build-variant-linux.yml
vendored
Normal file
@ -0,0 +1,127 @@
|
||||
name: Build emu variant (Linux)
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
emu-variant:
|
||||
description: |
|
||||
Which variant of the emu to build:
|
||||
regular: build the regular version of the emu
|
||||
exp: build the experimental version of the emu
|
||||
tools: build the tools only
|
||||
required: true
|
||||
type: string
|
||||
|
||||
x32:
|
||||
description: |
|
||||
build architecture
|
||||
true: x32
|
||||
false: x64
|
||||
required: true
|
||||
type: boolean
|
||||
|
||||
debug:
|
||||
description: |
|
||||
build mode
|
||||
true: build in debug mode
|
||||
false: build in release mode
|
||||
required: true
|
||||
type: boolean
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
env:
|
||||
DEPS_CACHE_KEY: emu-deps-linux
|
||||
DEPS_CACHE_DIR: build/deps/linux
|
||||
|
||||
PACKAGE_BASE_DIR: "build/package/linux"
|
||||
THIRD_PARTY_BASE_DIR: 'third-party'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
if: ${{ !cancelled() }}
|
||||
|
||||
steps:
|
||||
### setup build vars
|
||||
- name: Setup build vars
|
||||
shell: bash
|
||||
run: |
|
||||
echo "env file = '$GITHUB_ENV'"
|
||||
echo "workspace = '${{ github.workspace }}'"
|
||||
|
||||
arch=""
|
||||
if [[ "${{ inputs.x32 }}" = "true" ]]; then
|
||||
arch="32"
|
||||
else
|
||||
arch="64"
|
||||
fi
|
||||
echo "build_arch=$arch" >>"$GITHUB_ENV"
|
||||
|
||||
build_switches=""
|
||||
if [[ "${{ inputs.emu-variant }}" = "regular" ]]; then
|
||||
build_switches="+lib-$arch +client-$arch"
|
||||
elif [[ "${{ inputs.emu-variant }}" = "exp" ]]; then
|
||||
build_switches="+exp-lib-$arch +exp-client-$arch"
|
||||
elif [[ "${{ inputs.emu-variant }}" = "tools" ]]; then
|
||||
build_switches="+tool-clientldr +tool-itf-$arch +tool-lobby-$arch"
|
||||
else
|
||||
echo "[X] invalid emu variant '${{ inputs.emu-variant }}'" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "build_switches=$build_switches" >>"$GITHUB_ENV"
|
||||
|
||||
build_mode=""
|
||||
if [[ "${{ inputs.debug }}" = "true" ]]; then
|
||||
build_mode="debug"
|
||||
else
|
||||
build_mode="release"
|
||||
fi
|
||||
echo "build_mode=$build_mode" >>"$GITHUB_ENV"
|
||||
|
||||
- name: Checkout branch
|
||||
uses: actions/checkout@v4
|
||||
|
||||
### deps
|
||||
- name: Restore deps
|
||||
id: emu-deps-cache-step
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
key: ${{ env.DEPS_CACHE_KEY }}
|
||||
path: ${{ env.DEPS_CACHE_DIR }}
|
||||
|
||||
## mandatory Linux packages, installed via sudo apt install ...
|
||||
- name: Install required packages
|
||||
shell: bash
|
||||
run: sudo chmod 777 build_linux_deps.sh && sudo ./build_linux_deps.sh -verbose -packages_only
|
||||
|
||||
## extra helpers/tools, these are not built inside the deps build dir
|
||||
- name: Clone third-party build helpers (build/linux)
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
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 for repo folder
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: sudo chmod -R 777 "${{ github.workspace }}"
|
||||
|
||||
### build target(s)
|
||||
- name: Build target(s)
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: "sudo chmod 777 build_linux.sh && ./build_linux.sh -verbose ${{ env.build_mode }} clean +build_str ${{ github.sha }} ${{ env.build_switches }}"
|
||||
|
||||
### upload artifact/package to github Actions (for targets)
|
||||
- name: Upload build package (for targets)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "emu-linux-${{ inputs.emu-variant }}-${{ env.build_arch }}-${{ env.build_mode }}-${{ github.sha }}"
|
||||
path: "build/linux/"
|
||||
if-no-files-found: 'error'
|
||||
compression-level: 9
|
||||
retention-days: 1
|
@ -43,6 +43,7 @@ jobs:
|
||||
build:
|
||||
runs-on: windows-2022
|
||||
if: ${{ !cancelled() }}
|
||||
|
||||
steps:
|
||||
### setup build vars
|
||||
- name: Setup build vars
|
62
.github/workflows/emu-deps-linux.yml
vendored
Normal file
62
.github/workflows/emu-deps-linux.yml
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
name: Emu third-party dependencies (Linux)
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
# needed since it allows this to become a reusable workflow
|
||||
workflow_dispatch:
|
||||
# allows manual trigger
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
env:
|
||||
DEPS_CACHE_KEY: emu-deps-linux
|
||||
DEPS_CACHE_DIR: build/deps/linux
|
||||
|
||||
PACKAGE_BASE_DIR: "build/package/linux"
|
||||
THIRD_PARTY_BASE_DIR: 'third-party'
|
||||
|
||||
jobs:
|
||||
deps-build:
|
||||
runs-on: ubuntu-22.04
|
||||
if: ${{ !cancelled() }}
|
||||
|
||||
steps:
|
||||
- name: Lookup cache for deps
|
||||
id: emu-deps-cache-step
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
key: ${{ env.DEPS_CACHE_KEY }}
|
||||
path: ${{ env.DEPS_CACHE_DIR }}
|
||||
|
||||
# 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 (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"
|
||||
|
||||
### fix folder permissions! not sure why this fails
|
||||
# nested subdirs "build/linux/release" cause permission problems
|
||||
- name: Give all permissions for 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 }}"
|
||||
|
||||
- name: Build deps
|
||||
if: steps.emu-deps-cache-step.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: sudo chmod 777 build_linux_deps.sh && sudo ./build_linux_deps.sh -verbose
|
@ -1,4 +1,4 @@
|
||||
name: Third-party dependencies (Windows)
|
||||
name: Emu third-party dependencies (Windows)
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
@ -17,7 +17,6 @@ env:
|
||||
THIRD_PARTY_BASE_DIR: 'third-party'
|
||||
|
||||
jobs:
|
||||
# this helps in manual runs, if build fails, then deps are saved
|
||||
deps-build:
|
||||
runs-on: windows-2022
|
||||
if: ${{ !cancelled() }}
|
@ -1,4 +1,4 @@
|
||||
name: Emu pull request (Windows)
|
||||
name: Emu pull request
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
@ -13,7 +13,7 @@ on:
|
||||
# tools
|
||||
- 'tools/generate_emu_config/**'
|
||||
- 'tools/migrate_gse/**'
|
||||
- 'tools/steamclient_loader/linux/**'
|
||||
- 'tools/steamclient_loader/linux/**' # these are just scripts, not built
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
@ -22,4 +22,9 @@ jobs:
|
||||
emu-win-all:
|
||||
name: Emu win all
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-all-win.yml
|
||||
uses: ./.github/workflows/emu-build-all-win.yml
|
||||
|
||||
emu-linux-all:
|
||||
name: Emu linux all
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/emu-build-all-linux.yml
|
@ -1,4 +1,4 @@
|
||||
name: Emu final release (Windows)
|
||||
name: Prepare release
|
||||
|
||||
on:
|
||||
push:
|
||||
@ -19,10 +19,10 @@ jobs:
|
||||
emu-win-all:
|
||||
name: Emu win all
|
||||
if: ${{ !cancelled() }}
|
||||
uses: ./.github/workflows/build-emu-all-win.yml
|
||||
uses: ./.github/workflows/emu-build-all-win.yml
|
||||
|
||||
|
||||
emu-win-dl:
|
||||
emu-win-prep:
|
||||
needs: [ emu-win-all ]
|
||||
runs-on: windows-2022
|
||||
steps:
|
12
README.md
12
README.md
@ -223,15 +223,15 @@ Arguments you can pass to this script:
|
||||
|
||||
>>>>>>>>> ___
|
||||
|
||||
* `+exp-lib-32`: build experimental 32-bit `libsteam_api.so`
|
||||
* `+exp-lib-64`: build experimental 64-bit `libsteam_api.so`
|
||||
* `+exp-client-32`: build experimental steam client 64-bit `steamclient.so`
|
||||
* `+exp-client-64`: build experimental steam client 64-bit `steamclient.so`
|
||||
* `+client-32`: build steam client 32-bit `steamclient.so`
|
||||
* `+client-64`: build steam client 64-bit `steamclient.so`
|
||||
|
||||
>>>>>>>>> ___
|
||||
|
||||
* `+client-32`: build steam client 32-bit `steamclient.so`
|
||||
* `+client-64`: build steam client 64-bit `steamclient.so`
|
||||
* `+exp-lib-32`: build experimental 32-bit `libsteam_api.so`
|
||||
* `+exp-lib-64`: build experimental 64-bit `libsteam_api.so`
|
||||
* `+exp-client-32`: build experimental steam client 32-bit `steamclient.so`
|
||||
* `+exp-client-64`: build experimental steam client 64-bit `steamclient.so`
|
||||
|
||||
>>>>>>>>> ___
|
||||
|
||||
|
@ -87,7 +87,7 @@ for (( i=1; i<=$#; i++ )); do
|
||||
BUILD_TOOL_FIND_ITFS64=1
|
||||
elif [[ "$var" = "+tool-lobby-32" ]]; then
|
||||
BUILD_TOOL_LOBBY32=1
|
||||
elif [[ "$var" = "vtool-lobby-64" ]]; then
|
||||
elif [[ "$var" = "+tool-lobby-64" ]]; then
|
||||
BUILD_TOOL_LOBBY64=1
|
||||
elif [[ "$var" = "+lib-netsockets-32" ]]; then
|
||||
BUILD_LIB_NET_SOCKETS_32=1
|
||||
@ -664,6 +664,7 @@ cleanup
|
||||
# copy configs + examples
|
||||
if [[ $last_code = 0 ]]; then
|
||||
echo "// copying readmes + files examples"
|
||||
mkdir -p "$build_root_dir/"
|
||||
cp -f -r "post_build/steam_settings.EXAMPLE/" "$build_root_dir/"
|
||||
cp -f "post_build/README.release.md" "$build_root_dir/"
|
||||
cp -f "CHANGELOG.md" "$build_root_dir/"
|
||||
@ -671,9 +672,11 @@ if [[ $last_code = 0 ]]; then
|
||||
cp -f "post_build/README.debug.md" "$build_root_dir/"
|
||||
fi
|
||||
if [[ -d "$build_root_tools/find_interfaces" ]]; then
|
||||
mkdir -p "$build_root_tools/find_interfaces/"
|
||||
cp -f "post_build/README.find_interfaces.md" "$build_root_tools/find_interfaces/"
|
||||
fi
|
||||
if [[ -d "$build_root_tools/lobby_connect" ]]; then
|
||||
mkdir -p "$build_root_tools/lobby_connect/"
|
||||
cp -f "post_build/README.lobby_connect.md" "$build_root_tools/lobby_connect/"
|
||||
fi
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user