Skip to content

c++23

c++23 #1182

name: Build, test and publish
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
#concurrency:
# group: ${{ github.workflow }}-${{ github.ref }}
# cancel-in-progress: true
jobs:
build_test_and_publish:
name: Build, test and publish local
if: github.repository_owner == 'ParadoxGameConverters'
runs-on: [self-hosted, windows]
steps:
- name: "Cloning repo"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Cloning selective submodules"
run: |
git submodule update --init --recursive commonItems
git -c submodule."external/commonItems".update=none `
submodule update --init --recursive Fronter
- name: "Get previous tag"
if: ${{ github.event_name == 'push' }}
id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@v1"
- name: "Build solution"
run: |
cd "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\"
.\MSBuild.exe -m -p:Configuration=Release $Env:GITHUB_WORKSPACE\EU4ToVic3.sln
- name: "Run tests"
run: |
cd $Env:GITHUB_WORKSPACE\Release-Tests\
.\EU4ToVic3Tests.exe
- name: "Prepare release"
# if: ${{ github.event_name == 'push' }}
run: |
cd "C:\Program Files\7-Zip\"
.\7z.exe a $Env:GITHUB_WORKSPACE\EU4ToVic3-0.4Durres-win-x64.zip $Env:GITHUB_WORKSPACE\Release\*
cp $Env:GITHUB_WORKSPACE\EU4ToVic3-0.4Durres-win-x64.zip $Env:GITHUB_WORKSPACE\EU4ToVic3-latest-win-x64.zip
- name: "Prepare installer"
# if: ${{ github.event_name == 'push' }}
run: |
c:\"Program Files (x86)\Inno Setup 6\iscc" EU4ToVic3-Installer.iss
cp $Env:GITHUB_WORKSPACE\Output\EU4ToVic3-latest-win-x64.exe $Env:GITHUB_WORKSPACE\Output\EU4ToVic3-0.4Durres-win-x64.exe
- name: "Upload binaries to release"
if: ${{ github.event_name == 'push' }}
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.previoustag.outputs.tag }}
token: ${{ secrets.API_TOKEN_GITHUB }}
files: |
EU4ToVic3-0.4Durres-win-x64.zip
Output/EU4ToVic3-0.4Durres-win-x64.exe
- name: "Upload binaries to archive"
if: ${{ github.event_name == 'push' }}
uses: softprops/action-gh-release@v2
with:
tag_name: windows_development_build
token: ${{ secrets.API_TOKEN_GITHUB }}
files: |
EU4ToVic3-0.4Durres-win-x64.zip
EU4ToVic3-latest-win-x64.zip
Output/EU4ToVic3-0.4Durres-win-x64.exe
Output/EU4ToVic3-latest-win-x64.exe
#- name: "Upload binaries to release"
# if: ${{ github.event_name == 'push' }}
# uses: ncipollo/release-action@v1.14
# with:
# tag: ${{ steps.previoustag.outputs.tag }}
# allowUpdates: true
# omitBodyDuringUpdate: true
# omitNameDuringUpdate: true
# artifacts: EU4ToVic3-0.4Durres-win-x64.zip, Output\EU4ToVic3-0.4Durres-win-x64.exe
# token: ${{ secrets.API_TOKEN_GITHUB }}
#- name: "Upload binaries to archive"
# if: ${{ github.event_name == 'push' }}
# uses: ncipollo/release-action@v1.14
# with:
# tag: windows_development_build
# allowUpdates: true
# omitBodyDuringUpdate: true
# omitNameDuringUpdate: true
# artifacts: EU4ToVic3-0.4Durres-win-x64.zip, EU4ToVic3-latest-win-x64.zip, Output\EU4ToVic3-0.4Durres-win-x64.exe, Output\EU4ToVic3-latest-win-x64.exe
# token: ${{ secrets.API_TOKEN_GITHUB }}
- name: "Cleanup"
if: always()
run: |
Get-ChildItem -Path $Env:GITHUB_WORKSPACE -Recurse -Force | Remove-Item -force -recurse
build_test:
name: Build and test foreign
if: github.repository_owner != 'ParadoxGameConverters'
runs-on: windows-2022
steps:
- name: "Cloning repo"
uses: actions/checkout@v4
- name: "Cloning selective submodules"
run: |
git submodule update --init --recursive commonItems
git -c submodule."external/commonItems".update=none `
submodule update --init --recursive Fronter
- name: "Build solution"
run: |
cd "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\"
.\MSBuild.exe -m -p:Configuration=Release $Env:GITHUB_WORKSPACE\EU4ToVic3.sln
- name: "Run tests"
run: |
cd $Env:GITHUB_WORKSPACE\Release-Tests\
.\EU4ToVic3Tests.exe