Pipeline: disabled non-linux builds

This commit is contained in:
XargonWan 2024-09-17 10:01:13 +02:00 committed by GitHub
parent 51bee0982e
commit 1e3efd1b77
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -19,179 +19,179 @@ on:
workflow_dispatch:
jobs:
windows-build:
runs-on: windows-2022
timeout-minutes: 120
steps:
- uses: actions/checkout@v4.1.6
with:
fetch-depth: 0
- name: Cache Dependencies
id: cache-deps
uses: actions/cache@v4.0.2
with:
path: |
dep/msvc/deps-arm64
dep/msvc/deps-x64
key: deps ${{ hashFiles('scripts/deps/build-dependencies-windows-arm64.bat', 'scripts/deps/build-dependencies-windows-x64.bat') }}
- name: Build X64 Dependencies
if: steps.cache-deps.outputs.cache-hit != 'true'
env:
DEBUG: 0
run: scripts/deps/build-dependencies-windows-x64.bat
- name: Build ARM64 Dependencies
if: steps.cache-deps.outputs.cache-hit != 'true'
env:
DEBUG: 0
run: scripts/deps/build-dependencies-windows-arm64.bat
- name: Initialize build tag
shell: cmd
run: |
echo #pragma once > src/scmversion/tag.h
- name: Tag as preview build
if: github.ref == 'refs/heads/master'
shell: cmd
run: |
echo #define SCM_RELEASE_ASSET "duckstation-windows-x64-release.zip" >> src/scmversion/tag.h
echo #define SCM_RELEASE_TAGS {"latest", "preview"} >> src/scmversion/tag.h
echo #define SCM_RELEASE_TAG "preview" >> src/scmversion/tag.h
- name: Tag as dev build
if: github.ref == 'refs/heads/dev'
shell: cmd
run: |
echo #define SCM_RELEASE_ASSET "duckstation-windows-x64-release.zip" >> src/scmversion/tag.h
echo #define SCM_RELEASE_TAGS {"latest", "preview"} >> src/scmversion/tag.h
echo #define SCM_RELEASE_TAG "latest" >> src/scmversion/tag.h
- name: Update RC version fields
shell: cmd
run: |
cd src\scmversion
call update_rc_version.bat
cd ..\..
git update-index --assume-unchanged src/duckstation-qt/duckstation-qt.rc
- name: Compile x64 release build
shell: cmd
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
msbuild duckstation.sln -t:Build -p:Platform=x64;Configuration=ReleaseLTCG-Clang
- name: Create x64 symbols archive
shell: cmd
run: |
"C:\Program Files\7-Zip\7z.exe" a -r duckstation-windows-x64-release-symbols.zip ./bin/x64/*.pdb
- name: Remove extra bloat before archiving
shell: cmd
run: |
del /Q bin\x64\*.pdb bin\x64\*.exp bin\x64\*.lib bin\x64\*.iobj bin\x64\*.ipdb bin\x64\common-tests*
rename bin\x64\updater-x64-ReleaseLTCG.exe updater.exe
- name: Create x64 release archive
shell: cmd
run: |
"C:\Program Files\7-Zip\7z.exe" a -r duckstation-windows-x64-release.zip ./bin/x64/*
- name: Upload x64 release artifact
uses: actions/upload-artifact@v4.3.3
with:
name: "windows"
path: "duckstation-windows-x64-release*.zip"
windows-arm64-build:
runs-on: windows-2022
timeout-minutes: 120
steps:
- uses: actions/checkout@v4.1.6
with:
fetch-depth: 0
submodules: true
- name: Cache Dependencies
id: cache-deps
uses: actions/cache@v4.0.2
with:
path: |
dep/msvc/deps-arm64
dep/msvc/deps-x64
key: deps ${{ hashFiles('scripts/deps/build-dependencies-windows-arm64.bat', 'scripts/deps/build-dependencies-windows-x64.bat') }}
- name: Build X64 Dependencies
if: steps.cache-deps.outputs.cache-hit != 'true'
env:
DEBUG: 0
run: scripts/deps/build-dependencies-windows-x64.bat
- name: Build ARM64 Dependencies
if: steps.cache-deps.outputs.cache-hit != 'true'
env:
DEBUG: 0
run: scripts/deps/build-dependencies-windows-arm64.bat
- name: Initialize build tag
shell: cmd
run: |
echo #pragma once > src/scmversion/tag.h
- name: Tag as preview build
if: github.ref == 'refs/heads/master'
shell: cmd
run: |
echo #define SCM_RELEASE_ASSET "duckstation-windows-arm64-release.zip" >> src/scmversion/tag.h
echo #define SCM_RELEASE_TAGS {"latest", "preview"} >> src/scmversion/tag.h
echo #define SCM_RELEASE_TAG "preview" >> src/scmversion/tag.h
- name: Tag as dev build
if: github.ref == 'refs/heads/dev'
shell: cmd
run: |
echo #define SCM_RELEASE_ASSET "duckstation-windows-arm64-release.zip" >> src/scmversion/tag.h
echo #define SCM_RELEASE_TAGS {"latest", "preview"} >> src/scmversion/tag.h
echo #define SCM_RELEASE_TAG "latest" >> src/scmversion/tag.h
- name: Update RC version fields
shell: cmd
run: |
cd src\scmversion
call update_rc_version.bat
cd ..\..
git update-index --assume-unchanged src/duckstation-qt/duckstation-qt.rc
- name: Compile arm64 release build
shell: cmd
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64_arm64
msbuild duckstation.sln -t:Build -p:Platform=ARM64;Configuration=ReleaseLTCG-Clang
- name: Create arm64 symbols archive
shell: cmd
run: |
"C:\Program Files\7-Zip\7z.exe" a -r duckstation-windows-arm64-release-symbols.zip ./bin/ARM64/*.pdb
- name: Remove extra bloat before archiving
shell: cmd
run: |
del /Q bin\ARM64\*.pdb bin\ARM64\*.exp bin\ARM64\*.lib bin\ARM64\*.iobj bin\ARM64\*.ipdb bin\ARM64\common-tests*
rename bin\ARM64\updater-ARM64-ReleaseLTCG.exe updater.exe
- name: Create arm64 release archive
shell: cmd
run: |
"C:\Program Files\7-Zip\7z.exe" a -r duckstation-windows-arm64-release.zip ./bin/ARM64/*
- name: Upload arm64 release artifact
uses: actions/upload-artifact@v4.3.3
with:
name: "windows-arm64"
path: "duckstation-windows-arm64-release*.zip"
# windows-build:
# runs-on: windows-2022
# timeout-minutes: 120
# steps:
# - uses: actions/checkout@v4.1.6
# with:
# fetch-depth: 0
# - name: Cache Dependencies
# id: cache-deps
# uses: actions/cache@v4.0.2
# with:
# path: |
# dep/msvc/deps-arm64
# dep/msvc/deps-x64
# key: deps ${{ hashFiles('scripts/deps/build-dependencies-windows-arm64.bat', 'scripts/deps/build-dependencies-windows-x64.bat') }}
# - name: Build X64 Dependencies
# if: steps.cache-deps.outputs.cache-hit != 'true'
# env:
# DEBUG: 0
# run: scripts/deps/build-dependencies-windows-x64.bat
# - name: Build ARM64 Dependencies
# if: steps.cache-deps.outputs.cache-hit != 'true'
# env:
# DEBUG: 0
# run: scripts/deps/build-dependencies-windows-arm64.bat
# - name: Initialize build tag
# shell: cmd
# run: |
# echo #pragma once > src/scmversion/tag.h
# - name: Tag as preview build
# if: github.ref == 'refs/heads/master'
# shell: cmd
# run: |
# echo #define SCM_RELEASE_ASSET "duckstation-windows-x64-release.zip" >> src/scmversion/tag.h
# echo #define SCM_RELEASE_TAGS {"latest", "preview"} >> src/scmversion/tag.h
# echo #define SCM_RELEASE_TAG "preview" >> src/scmversion/tag.h
# - name: Tag as dev build
# if: github.ref == 'refs/heads/dev'
# shell: cmd
# run: |
# echo #define SCM_RELEASE_ASSET "duckstation-windows-x64-release.zip" >> src/scmversion/tag.h
# echo #define SCM_RELEASE_TAGS {"latest", "preview"} >> src/scmversion/tag.h
# echo #define SCM_RELEASE_TAG "latest" >> src/scmversion/tag.h
# - name: Update RC version fields
# shell: cmd
# run: |
# cd src\scmversion
# call update_rc_version.bat
# cd ..\..
# git update-index --assume-unchanged src/duckstation-qt/duckstation-qt.rc
# - name: Compile x64 release build
# shell: cmd
# run: |
# call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
# msbuild duckstation.sln -t:Build -p:Platform=x64;Configuration=ReleaseLTCG-Clang
# - name: Create x64 symbols archive
# shell: cmd
# run: |
# "C:\Program Files\7-Zip\7z.exe" a -r duckstation-windows-x64-release-symbols.zip ./bin/x64/*.pdb
# - name: Remove extra bloat before archiving
# shell: cmd
# run: |
# del /Q bin\x64\*.pdb bin\x64\*.exp bin\x64\*.lib bin\x64\*.iobj bin\x64\*.ipdb bin\x64\common-tests*
# rename bin\x64\updater-x64-ReleaseLTCG.exe updater.exe
# - name: Create x64 release archive
# shell: cmd
# run: |
# "C:\Program Files\7-Zip\7z.exe" a -r duckstation-windows-x64-release.zip ./bin/x64/*
# - name: Upload x64 release artifact
# uses: actions/upload-artifact@v4.3.3
# with:
# name: "windows"
# path: "duckstation-windows-x64-release*.zip"
# windows-arm64-build:
# runs-on: windows-2022
# timeout-minutes: 120
# steps:
# - uses: actions/checkout@v4.1.6
# with:
# fetch-depth: 0
# submodules: true
# - name: Cache Dependencies
# id: cache-deps
# uses: actions/cache@v4.0.2
# with:
# path: |
# dep/msvc/deps-arm64
# dep/msvc/deps-x64
# key: deps ${{ hashFiles('scripts/deps/build-dependencies-windows-arm64.bat', 'scripts/deps/build-dependencies-windows-x64.bat') }}
# - name: Build X64 Dependencies
# if: steps.cache-deps.outputs.cache-hit != 'true'
# env:
# DEBUG: 0
# run: scripts/deps/build-dependencies-windows-x64.bat
# - name: Build ARM64 Dependencies
# if: steps.cache-deps.outputs.cache-hit != 'true'
# env:
# DEBUG: 0
# run: scripts/deps/build-dependencies-windows-arm64.bat
# - name: Initialize build tag
# shell: cmd
# run: |
# echo #pragma once > src/scmversion/tag.h
# - name: Tag as preview build
# if: github.ref == 'refs/heads/master'
# shell: cmd
# run: |
# echo #define SCM_RELEASE_ASSET "duckstation-windows-arm64-release.zip" >> src/scmversion/tag.h
# echo #define SCM_RELEASE_TAGS {"latest", "preview"} >> src/scmversion/tag.h
# echo #define SCM_RELEASE_TAG "preview" >> src/scmversion/tag.h
# - name: Tag as dev build
# if: github.ref == 'refs/heads/dev'
# shell: cmd
# run: |
# echo #define SCM_RELEASE_ASSET "duckstation-windows-arm64-release.zip" >> src/scmversion/tag.h
# echo #define SCM_RELEASE_TAGS {"latest", "preview"} >> src/scmversion/tag.h
# echo #define SCM_RELEASE_TAG "latest" >> src/scmversion/tag.h
# - name: Update RC version fields
# shell: cmd
# run: |
# cd src\scmversion
# call update_rc_version.bat
# cd ..\..
# git update-index --assume-unchanged src/duckstation-qt/duckstation-qt.rc
# - name: Compile arm64 release build
# shell: cmd
# run: |
# call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64_arm64
# msbuild duckstation.sln -t:Build -p:Platform=ARM64;Configuration=ReleaseLTCG-Clang
# - name: Create arm64 symbols archive
# shell: cmd
# run: |
# "C:\Program Files\7-Zip\7z.exe" a -r duckstation-windows-arm64-release-symbols.zip ./bin/ARM64/*.pdb
# - name: Remove extra bloat before archiving
# shell: cmd
# run: |
# del /Q bin\ARM64\*.pdb bin\ARM64\*.exp bin\ARM64\*.lib bin\ARM64\*.iobj bin\ARM64\*.ipdb bin\ARM64\common-tests*
# rename bin\ARM64\updater-ARM64-ReleaseLTCG.exe updater.exe
# - name: Create arm64 release archive
# shell: cmd
# run: |
# "C:\Program Files\7-Zip\7z.exe" a -r duckstation-windows-arm64-release.zip ./bin/ARM64/*
# - name: Upload arm64 release artifact
# uses: actions/upload-artifact@v4.3.3
# with:
# name: "windows-arm64"
# path: "duckstation-windows-arm64-release*.zip"
linux-build:
@ -336,72 +336,73 @@ jobs:
path: "duckstation-x64.flatpak"
macos-build:
runs-on: macos-14
timeout-minutes: 120
steps:
- uses: actions/checkout@v4.1.6
with:
fetch-depth: 0
- name: Use Xcode 15.4
run: sudo xcode-select -s /Applications/Xcode_15.4.app
- name: Install packages
shell: bash
run: |
brew install curl ninja
- name: Cache Dependencies
id: cache-deps-mac
uses: actions/cache@v4.0.2
with:
path: ~/deps
key: deps-mac ${{ hashFiles('scripts/deps/build-dependencies-mac.sh') }}
- name: Build Dependencies
if: steps.cache-deps-mac.outputs.cache-hit != 'true'
run: scripts/deps/build-dependencies-mac.sh "$HOME/deps"
- name: Initialize build tag
run: |
echo '#pragma once' > src/scmversion/tag.h
- name: Tag as preview build
if: github.ref == 'refs/heads/master'
run: |
echo '#define SCM_RELEASE_ASSET "duckstation-mac-release.zip"' >> src/scmversion/tag.h
echo '#define SCM_RELEASE_TAGS {"latest", "preview"}' >> src/scmversion/tag.h
echo '#define SCM_RELEASE_TAG "preview"' >> src/scmversion/tag.h
- name: Tag as dev build
if: github.ref == 'refs/heads/dev'
run: |
echo '#define SCM_RELEASE_ASSET "duckstation-mac-release.zip"' >> src/scmversion/tag.h
echo '#define SCM_RELEASE_TAGS {"latest", "preview"}' >> src/scmversion/tag.h
echo '#define SCM_RELEASE_TAG "latest"' >> src/scmversion/tag.h
- name: Compile and zip .app
shell: bash
run: |
mkdir build
cd build
export MACOSX_DEPLOYMENT_TARGET=11.0
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENGL=OFF -DCMAKE_PREFIX_PATH="$HOME/deps" -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -G Ninja ..
cmake --build . --parallel
mv bin/DuckStation.app .
codesign -s - --deep -f -v DuckStation.app
zip -r duckstation-mac-release.zip DuckStation.app/
- name: Upload macOS .app
uses: actions/upload-artifact@v4.3.3
with:
name: "macos"
path: "build/duckstation-mac-release.zip"
# macos-build:
# runs-on: macos-14
# timeout-minutes: 120
# steps:
# - uses: actions/checkout@v4.1.6
# with:
# fetch-depth: 0
# - name: Use Xcode 15.4
# run: sudo xcode-select -s /Applications/Xcode_15.4.app
# - name: Install packages
# shell: bash
# run: |
# brew install curl ninja
# - name: Cache Dependencies
# id: cache-deps-mac
# uses: actions/cache@v4.0.2
# with:
# path: ~/deps
# key: deps-mac ${{ hashFiles('scripts/deps/build-dependencies-mac.sh') }}
# - name: Build Dependencies
# if: steps.cache-deps-mac.outputs.cache-hit != 'true'
# run: scripts/deps/build-dependencies-mac.sh "$HOME/deps"
# - name: Initialize build tag
# run: |
# echo '#pragma once' > src/scmversion/tag.h
# - name: Tag as preview build
# if: github.ref == 'refs/heads/master'
# run: |
# echo '#define SCM_RELEASE_ASSET "duckstation-mac-release.zip"' >> src/scmversion/tag.h
# echo '#define SCM_RELEASE_TAGS {"latest", "preview"}' >> src/scmversion/tag.h
# echo '#define SCM_RELEASE_TAG "preview"' >> src/scmversion/tag.h
# - name: Tag as dev build
# if: github.ref == 'refs/heads/dev'
# run: |
# echo '#define SCM_RELEASE_ASSET "duckstation-mac-release.zip"' >> src/scmversion/tag.h
# echo '#define SCM_RELEASE_TAGS {"latest", "preview"}' >> src/scmversion/tag.h
# echo '#define SCM_RELEASE_TAG "latest"' >> src/scmversion/tag.h
# - name: Compile and zip .app
# shell: bash
# run: |
# mkdir build
# cd build
# export MACOSX_DEPLOYMENT_TARGET=11.0
# cmake -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENGL=OFF -DCMAKE_PREFIX_PATH="$HOME/deps" -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -G Ninja ..
# cmake --build . --parallel
# mv bin/DuckStation.app .
# codesign -s - --deep -f -v DuckStation.app
# zip -r duckstation-mac-release.zip DuckStation.app/
# - name: Upload macOS .app
# uses: actions/upload-artifact@v4.3.3
# with:
# name: "macos"
# path: "build/duckstation-mac-release.zip"
create-release:
needs: [windows-build, windows-arm64-build, linux-build, linux-flatpak-build, macos-build]
# needs: [windows-build, windows-arm64-build, linux-build, linux-flatpak-build, macos-build]
needs: [linux-build, linux-flatpak-build]
runs-on: ubuntu-22.04
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev'
steps: