diff --git a/.github/workflows/rpcs3.yml b/.github/workflows/rpcs3.yml index 789e923075..d143e46b1a 100644 --- a/.github/workflows/rpcs3.yml +++ b/.github/workflows/rpcs3.yml @@ -1,5 +1,8 @@ name: Build RPCS3 +defaults: + run: + shell: bash on: push: paths-ignore: @@ -33,6 +36,8 @@ jobs: docker_img: "rpcs3/rpcs3-ci-jammy:1.1" build_sh: "/rpcs3/.ci/build-linux.sh" compiler: clang + UPLOAD_COMMIT_HASH: d812f1254a1157c80fd402f94446310560f54e5f + UPLOAD_REPO_FULL_NAME: "rpcs3/rpcs3-binaries-linux" - os: ubuntu-24.04 docker_img: "rpcs3/rpcs3-ci-jammy:1.1" build_sh: "/rpcs3/.ci/build-linux.sh" @@ -92,8 +97,7 @@ jobs: github.event_name != 'pull_request' && github.repository == 'RPCS3/rpcs3' && github.ref == 'refs/heads/master' && - matrix.compiler == 'clang' && - runner.arch == 'ARM64' + matrix.compiler == 'clang' env: RPCS3_TOKEN: ${{ secrets.RPCS3_TOKEN }} run: | @@ -120,6 +124,8 @@ jobs: CCACHE_INODECACHE: 'true' CCACHE_SLOPPINESS: 'time_macros' DEPS_CACHE_DIR: ./dependency_cache + UPLOAD_COMMIT_HASH: 7d09e3be30805911226241afbb14f8cdc2eb054e + UPLOAD_REPO_FULL_NAME: "RPCS3/rpcs3-binaries-win" steps: - name: Checkout repository @@ -128,12 +134,12 @@ jobs: fetch-depth: 0 - name: Setup env + shell: pwsh run: | echo "QTDIR=C:\Qt\${{ env.QT_VER }}\${{ env.QT_VER_MSVC }}_64" >> ${{ github.env }} echo "VULKAN_SDK=C:\VulkanSDK\${{ env.VULKAN_VER }}" >> ${{ github.env }} - name: Get Cache Keys - shell: bash run: .ci/get_keys-windows.sh - name: Setup Build Ccache @@ -151,11 +157,9 @@ jobs: restore-keys: ${{ runner.os }}-${{ env.COMPILER }}- - name: Download and unpack dependencies - shell: bash run: .ci/setup-windows.sh - name: Export Variables - shell: bash run: | while IFS='=' read -r key val; do # Skip lines that are empty or start with '#' @@ -167,24 +171,27 @@ jobs: uses: microsoft/setup-msbuild@main - name: Compile RPCS3 + shell: pwsh run: msbuild rpcs3.sln /p:Configuration=Release /p:Platform=x64 /p:CLToolPath=${{ env.CCACHE_BIN_DIR }} /p:UseMultiToolTask=true /p:CustomAfterMicrosoftCommonTargets="${{ github.workspace }}\buildfiles\msvc\ci_no_debug_info.targets" - name: Pack up build artifacts - shell: bash run: | mkdir -p "${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}" .ci/deploy-windows.sh - name: Upload artifacts (7z) - #TODO: Upload artifact to release repository - #condition for release - #if: | - # github.event_name != 'pull_request' && - # github.repository == 'RPCS3/rpcs3' && - # github.ref == 'refs/heads/master' uses: actions/upload-artifact@main with: name: RPCS3 for Windows (MSVC) path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }} compression-level: 0 if-no-files-found: error + + - name: Deploy master build to GitHub Releases + if: | + github.event_name != 'pull_request' && + github.repository == 'RPCS3/rpcs3' && + github.ref == 'refs/heads/master' + env: + RPCS3_TOKEN: ${{ secrets.RPCS3_TOKEN }} + run: .ci/github-upload.sh diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 2907949c9f..98e071462b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -10,131 +10,131 @@ pr: include: - master jobs: -- job: Linux_Build - strategy: - matrix: - Clang: - COMPILER: clang - GCC: - COMPILER: gcc - variables: - CCACHE_DIR: $(Pipeline.Workspace)/ccache - CI_HAS_ARTIFACTS: true - UPLOAD_COMMIT_HASH: d812f1254a1157c80fd402f94446310560f54e5f - UPLOAD_REPO_FULL_NAME: "RPCS3/rpcs3-binaries-linux" - DEPLOY_APPIMAGE: true - APPDIR: "/rpcs3/build/appdir" - ARTDIR: "/root/artifacts" - RELEASE_MESSAGE: "/rpcs3/GitHubReleaseMessage.txt" +# - job: Linux_Build +# strategy: +# matrix: +# Clang: +# COMPILER: clang +# GCC: +# COMPILER: gcc +# variables: +# CCACHE_DIR: $(Pipeline.Workspace)/ccache +# CI_HAS_ARTIFACTS: true +# UPLOAD_COMMIT_HASH: d812f1254a1157c80fd402f94446310560f54e5f +# UPLOAD_REPO_FULL_NAME: "RPCS3/rpcs3-binaries-linux" +# DEPLOY_APPIMAGE: true +# APPDIR: "/rpcs3/build/appdir" +# ARTDIR: "/root/artifacts" +# RELEASE_MESSAGE: "/rpcs3/GitHubReleaseMessage.txt" - pool: - vmImage: 'ubuntu-latest' +# pool: +# vmImage: 'ubuntu-latest' - steps: - - task: Cache@2 - inputs: - key: ccache | $(Agent.OS) | $(COMPILER) | $(Build.SourceVersion) - restoreKeys: | - ccache | $(Agent.OS) | $(COMPILER) - path: $(CCACHE_DIR) - displayName: ccache +# steps: +# - task: Cache@2 +# inputs: +# key: ccache | $(Agent.OS) | $(COMPILER) | $(Build.SourceVersion) +# restoreKeys: | +# ccache | $(Agent.OS) | $(COMPILER) +# path: $(CCACHE_DIR) +# displayName: ccache - - bash: | - docker pull --quiet rpcs3/rpcs3-ci-jammy:1.1 - docker run \ - -v $(pwd):/rpcs3 \ - --env-file .ci/docker.env \ - -v $CCACHE_DIR:/root/.ccache \ - -v $BUILD_ARTIFACTSTAGINGDIRECTORY:/root/artifacts \ - rpcs3/rpcs3-ci-jammy:1.1 \ - /rpcs3/.ci/build-linux.sh - displayName: Docker setup and build +# - bash: | +# docker pull --quiet rpcs3/rpcs3-ci-jammy:1.1 +# docker run \ +# -v $(pwd):/rpcs3 \ +# --env-file .ci/docker.env \ +# -v $CCACHE_DIR:/root/.ccache \ +# -v $BUILD_ARTIFACTSTAGINGDIRECTORY:/root/artifacts \ +# rpcs3/rpcs3-ci-jammy:1.1 \ +# /rpcs3/.ci/build-linux.sh +# displayName: Docker setup and build - - publish: $(Build.ArtifactStagingDirectory) - condition: succeeded() - artifact: RPCS3 for Linux ($(COMPILER)) +# - publish: $(Build.ArtifactStagingDirectory) +# condition: succeeded() +# artifact: RPCS3 for Linux ($(COMPILER)) - - bash: | - COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ./rpcs3/rpcs3_version.cpp) - COMM_COUNT=$(git rev-list --count HEAD) - COMM_HASH=$(git rev-parse --short=8 HEAD) +# - bash: | +# COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ./rpcs3/rpcs3_version.cpp) +# COMM_COUNT=$(git rev-list --count HEAD) +# COMM_HASH=$(git rev-parse --short=8 HEAD) - export AVVER="${COMM_TAG}-${COMM_COUNT}" +# export AVVER="${COMM_TAG}-${COMM_COUNT}" - .ci/github-upload.sh - condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.Repository.Name'], 'RPCS3/rpcs3'), eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['COMPILER'], 'clang')) - displayName: Push build to GitHub - env: - RPCS3_TOKEN: $(RPCS3-Token) +# .ci/github-upload.sh +# condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.Repository.Name'], 'RPCS3/rpcs3'), eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['COMPILER'], 'clang')) +# displayName: Push build to GitHub +# env: +# RPCS3_TOKEN: $(RPCS3-Token) -- job: Windows_Build - variables: - COMPILER: msvc - QT_VER_MAIN: '6' - QT_VER: '6.8.2' - QT_VER_MSVC: 'msvc2022' - QT_DATE: '202501260838' - QTDIR: C:\Qt\$(QT_VER)\$(QT_VER_MSVC)_64 - VULKAN_VER: '1.3.268.0' - VULKAN_SDK_SHA: '8459ef49bd06b697115ddd3d97c9aec729e849cd775f5be70897718a9b3b9db5' - VULKAN_SDK: C:\VulkanSDK\$(VULKAN_VER) - CCACHE_SHA: '6252f081876a9a9f700fae13a5aec5d0d486b28261d7f1f72ac11c7ad9df4da9' - CCACHE_BIN_DIR: 'C:\ccache_bin' - CCACHE_DIR: 'C:\ccache' - CCACHE_INODECACHE: 'true' - CCACHE_SLOPPINESS: 'time_macros' - DEPS_CACHE_DIR: ./dependency_cache - UPLOAD_COMMIT_HASH: 7d09e3be30805911226241afbb14f8cdc2eb054e - UPLOAD_REPO_FULL_NAME: "RPCS3/rpcs3-binaries-win" +# - job: Windows_Build +# variables: +# COMPILER: msvc +# QT_VER_MAIN: '6' +# QT_VER: '6.8.2' +# QT_VER_MSVC: 'msvc2022' +# QT_DATE: '202501260838' +# QTDIR: C:\Qt\$(QT_VER)\$(QT_VER_MSVC)_64 +# VULKAN_VER: '1.3.268.0' +# VULKAN_SDK_SHA: '8459ef49bd06b697115ddd3d97c9aec729e849cd775f5be70897718a9b3b9db5' +# VULKAN_SDK: C:\VulkanSDK\$(VULKAN_VER) +# CCACHE_SHA: '6252f081876a9a9f700fae13a5aec5d0d486b28261d7f1f72ac11c7ad9df4da9' +# CCACHE_BIN_DIR: 'C:\ccache_bin' +# CCACHE_DIR: 'C:\ccache' +# CCACHE_INODECACHE: 'true' +# CCACHE_SLOPPINESS: 'time_macros' +# DEPS_CACHE_DIR: ./dependency_cache +# UPLOAD_COMMIT_HASH: 7d09e3be30805911226241afbb14f8cdc2eb054e +# UPLOAD_REPO_FULL_NAME: "RPCS3/rpcs3-binaries-win" - pool: - vmImage: "windows-latest" +# pool: +# vmImage: "windows-latest" - steps: - - bash: .ci/get_keys-windows.sh - displayName: Get Cache Keys +# steps: +# - bash: .ci/get_keys-windows.sh +# displayName: Get Cache Keys - - task: Cache@2 - inputs: - key: ccache | $(Agent.OS) | $(COMPILER) | "$(Build.SourceVersion)" - path: $(CCACHE_DIR) - restoreKeys: - ccache | $(Agent.OS) | $(COMPILER) - displayName: Build Ccache +# - task: Cache@2 +# inputs: +# key: ccache | $(Agent.OS) | $(COMPILER) | "$(Build.SourceVersion)" +# path: $(CCACHE_DIR) +# restoreKeys: +# ccache | $(Agent.OS) | $(COMPILER) +# displayName: Build Ccache - - task: Cache@2 - inputs: - key: $(Agent.OS) | $(COMPILER) | "$(QT_VER)" | $(VULKAN_SDK_SHA) | $(CCACHE_SHA) | llvm.lock | glslang.lock - path: $(DEPS_CACHE_DIR) - displayName: Dependencies Cache +# - task: Cache@2 +# inputs: +# key: $(Agent.OS) | $(COMPILER) | "$(QT_VER)" | $(VULKAN_SDK_SHA) | $(CCACHE_SHA) | llvm.lock | glslang.lock +# path: $(DEPS_CACHE_DIR) +# displayName: Dependencies Cache - - bash: .ci/setup-windows.sh - displayName: Download and unpack dependencies +# - bash: .ci/setup-windows.sh +# displayName: Download and unpack dependencies - - bash: .ci/export-azure-vars.sh - displayName: Export Variables +# - bash: .ci/export-azure-vars.sh +# displayName: Export Variables - - task: VSBuild@1 - inputs: - solution: 'rpcs3.sln' - maximumCpuCount: true - platform: x64 - configuration: 'Release' - msbuildArgs: /p:CLToolPath=$(CCACHE_BIN_DIR) /p:UseMultiToolTask=true /p:CustomAfterMicrosoftCommonTargets="$(Build.SourcesDirectory)\buildfiles\msvc\ci_no_debug_info.targets" - displayName: Compile RPCS3 +# - task: VSBuild@1 +# inputs: +# solution: 'rpcs3.sln' +# maximumCpuCount: true +# platform: x64 +# configuration: 'Release' +# msbuildArgs: /p:CLToolPath=$(CCACHE_BIN_DIR) /p:UseMultiToolTask=true /p:CustomAfterMicrosoftCommonTargets="$(Build.SourcesDirectory)\buildfiles\msvc\ci_no_debug_info.targets" +# displayName: Compile RPCS3 - - bash: .ci/deploy-windows.sh - displayName: Pack up build artifacts +# - bash: .ci/deploy-windows.sh +# displayName: Pack up build artifacts - - publish: $(Build.ArtifactStagingDirectory) - condition: succeeded() - artifact: RPCS3 for Windows +# - publish: $(Build.ArtifactStagingDirectory) +# condition: succeeded() +# artifact: RPCS3 for Windows - - bash: .ci/github-upload.sh - condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.Repository.Name'], 'RPCS3/rpcs3'), eq(variables['Build.SourceBranch'], 'refs/heads/master')) - displayName: Push build to GitHub - env: - RPCS3_TOKEN: $(RPCS3-Token) +# - bash: .ci/github-upload.sh +# condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.Repository.Name'], 'RPCS3/rpcs3'), eq(variables['Build.SourceBranch'], 'refs/heads/master')) +# displayName: Push build to GitHub +# env: +# RPCS3_TOKEN: $(RPCS3-Token) - job: Mac_Build_x86_64 timeoutInMinutes: 180