mirror of
https://github.com/anope/anope.git
synced 2026-07-08 13:03:13 +02:00
aef1925b1d
Unfortunately we need to move our escape character from 0x1A to 0x1B because newer versions of gettext treat the former as an EOF character.
83 lines
3.2 KiB
YAML
83 lines
3.2 KiB
YAML
name: Windows CI
|
|
on:
|
|
pull_request:
|
|
push:
|
|
release:
|
|
types:
|
|
- published
|
|
schedule:
|
|
- cron: '0 0 * * 0'
|
|
workflow_dispatch:
|
|
jobs:
|
|
build:
|
|
if: "!contains(github.event.head_commit.message, '[skip windows ci]')"
|
|
runs-on: windows-2025
|
|
env:
|
|
BUILD_TYPE: ${{ github.event_name == 'release' && 'Release' || 'Debug' }}
|
|
CONAN_HOME: ${{ github.workspace }}\build\conan
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: Setup NSIS
|
|
run: |-
|
|
choco install nsis
|
|
|
|
- name: Setup MSBuild
|
|
uses: microsoft/setup-msbuild@v2
|
|
|
|
- name: Setup Conan
|
|
uses: turtlebrowser/get-conan@v1.2
|
|
|
|
- name: Create Conan profile
|
|
run: |-
|
|
conan profile detect
|
|
(Get-Content ${{ env.CONAN_HOME }}\profiles\default).replace('build_type=Release', 'build_type=${{ env.BUILD_TYPE }}') | Set-Content ${{ env.CONAN_HOME }}\profiles\default
|
|
(Get-Content ${{ env.CONAN_HOME }}\profiles\default).replace('compiler.cppstd=14', 'compiler.cppstd=17') | Set-Content ${{ env.CONAN_HOME }}\profiles\default
|
|
Write-Output 'core.sources:download_urls=["origin", "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/"]' | Out-File -Append ${{ env.CONAN_HOME }}\global.conf
|
|
|
|
- name: Try to restore libraries from the cache
|
|
uses: actions/cache/restore@v5
|
|
id: library-cache
|
|
with:
|
|
key: conan-${{ env.BUILD_TYPE }}-${{ hashFiles('src\win32\conanfile.txt') }}
|
|
path: ${{ env.CONAN_HOME }}\p
|
|
|
|
- name: Install libraries
|
|
run: |
|
|
(Get-Content ${{ github.workspace }}\src\win32\conanfile.txt).replace('##', '') | Set-Content ${{ github.workspace }}\src\win32\conanfile.txt
|
|
conan install ${{ github.workspace }}\src\win32 --build missing --deployer runtime_deploy --deployer-folder ${{ github.workspace }}\build\extradll --output-folder .
|
|
|
|
- name: Save libraries to the cache
|
|
if: ${{ steps.library-cache.outputs.cache-hit != 'true' }}
|
|
uses: actions/cache/save@v5
|
|
with:
|
|
key: ${{ steps.library-cache.outputs.cache-primary-key }}
|
|
path: ${{ env.CONAN_HOME }}\p
|
|
|
|
- name: Run CMake
|
|
shell: cmd # work around a conan-io/conan-center-index bug #21823
|
|
working-directory: ${{ github.workspace }}\build
|
|
run: |
|
|
call ${{ github.workspace }}\conanbuild.bat
|
|
cmake -A x64 -D "CMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}" -D CMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -G "Visual Studio 17 2022" ..
|
|
|
|
- name: Build Anope
|
|
working-directory: ${{ github.workspace }}\build
|
|
run: |
|
|
msbuild PACKAGE.vcxproj /M:5 /P:Configuration=${{ env.BUILD_TYPE }} /P:Platform=x64 /VERBOSITY:MINIMAL
|
|
|
|
- name: Upload installer
|
|
if: "${{ github.event_name == 'release' }}"
|
|
working-directory: ${{ github.workspace }}\build
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh release upload ${{ github.event.release.tag_name }} $(Get-ChildItem anope-*.exe)
|
|
|
|
- name: Upload artifact
|
|
if: "${{ github.event_name != 'release' }}"
|
|
uses: actions/upload-artifact@v6
|
|
with:
|
|
name: windows-installer
|
|
path: ${{ github.workspace }}\build\\anope-*.exe
|