Skip to content

Implement better UX for pattern finding #372

Implement better UX for pattern finding

Implement better UX for pattern finding #372

Workflow file for this run

name: Build
on: [push, pull_request]
# Automatically cancel previous runs of this workflow on the same branch
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
cmake:
# Skip building pull requests from the same repository
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository }}
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
arch: [x64, x86]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 1
- name: Visual Studio Development Environment
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with:
arch: ${{ matrix.arch }}
- name: Build
run: |
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_UNITY_BUILD=ON -DCMAKE_UNITY_BUILD_BATCH_SIZE=6 -DX64DBG_RELEASE=${{ startsWith(github.ref, 'refs/tags/') && 'ON' || 'OFF' }}
cmake --build build
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.arch }}
path: bin
if-no-files-found: error
include-hidden-files: true
retention-days: 1
docs:
# Skip building pull requests from the same repository
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository }}
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Build Documentation
run: |
docs\makechm.bat
- name: Upload Documentation
uses: actions/upload-artifact@v4
with:
name: docs
path: docs/x64dbg.chm
if-no-files-found: error
include-hidden-files: true
retention-days: 1
package:
needs: [cmake, docs]
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Download x64 Artifacts
uses: actions/download-artifact@v4
with:
name: build-x64
path: bin
- name: Download x86 Artifacts
uses: actions/download-artifact@v4
with:
name: build-x86
path: bin
- name: Download Documentation
uses: actions/download-artifact@v4
with:
name: docs
path: docs
- name: Prepare Release
run: |
curl.exe -L https://github.com/x64dbg/translations/releases/download/translations/qm.zip -o bin\qm.zip
7z x bin\qm.zip -obin
cmake -P .\cmake\release.cmake
$timestamp = Get-Date (Get-Date).ToUniversalTime() -Format "yyyy-MM-dd_HH-mm"
echo "timestamp=$timestamp" >> $env:GITHUB_ENV
- name: Upload Snapshot
uses: actions/upload-artifact@v4
with:
name: snapshot_${{ env.timestamp }}
path: |
release/pluginsdk
release/release
release/commithash.txt
if-no-files-found: error
include-hidden-files: true
compression-level: 9
- name: Upload Symbols
uses: actions/upload-artifact@v4
with:
name: symbols-snapshot_${{ env.timestamp }}
path: |
release/pdb
release/commithash.txt
if-no-files-found: error
include-hidden-files: true
compression-level: 9
- name: Upload Plugin SDK
uses: actions/upload-artifact@v4
with:
name: x64dbg-pluginsdk
path: |
release/pluginsdk
if-no-files-found: error
include-hidden-files: true
compression-level: 9