Files
source/.github/workflows/build.yml
T
rftrdevandGitHub 1bcdf6e198 Update build action (#40)
Remove version info from exes, add txt file with source and gamedir version info
2022-12-06 01:18:12 -08:00

129 lines
4.3 KiB
YAML

name: build
on: [push, workflow_dispatch]
jobs:
build:
if: github.repository == '1dot13/source' && github.ref_name == 'master'
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: microsoft/setup-msbuild@v1.1
- name: Get short SHA and date (source)
run: |
echo "SHA_SHORT=$(git rev-parse --short ${{ github.sha }})" | Out-File -FilePath $env:GITHUB_ENV -Append
echo "DATE=$(git log -1 --date=format:'%Y%m%d' --format=%cd)" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: Checkout gamedir
uses: actions/checkout@v3
with:
repository: 1dot13/gamedir
path: ja2
- name: Get short SHA and date (gamedir)
run: |
cd ja2
echo "GAMEDIR_SHA_SHORT=$(git rev-parse --short HEAD)" | Out-File -FilePath $env:GITHUB_ENV -Append
echo "GAMEDIR_DATE=$(git log -1 --date=format:'%Y%m%d' --format=%cd)" | Out-File -FilePath $env:GITHUB_ENV -Append
cd ..
- name: Check vars
run: |
echo "Source SHA: ${{ env.SHA_SHORT }}"
echo "Source Date: ${{ env.DATE }}"
echo "Gamedir SHA: ${{ env.GAMEDIR_SHA_SHORT }}"
echo "Gamedir Date: ${{ env.GAMEDIR_DATE }}"
- name: Create version info text file
run: |
echo @"
If you encounter problems during gameplay, please provide the following version information:
Source SHA: ${{ env.SHA_SHORT }}
Source Date: ${{ env.DATE }}
Gamedir SHA: ${{ env.GAMEDIR_SHA_SHORT }}
Gamedir Date: ${{ env.GAMEDIR_DATE }}
"@ | Out-File -FilePath ja2/ja2_1.13_release.txt
- name: Replace GameVersion.cpp (Map Editor)
run: |
rm GameVersion.cpp
echo @"
#include "Types.h"
#include "GameVersion.h"
CHAR16 zVersionLabel[256] = { L"Map Editor v1.13 (Development Build) (Github)" };
CHAR8 czVersionNumber[16] = { "V ${{ env.DATE }}" };
CHAR16 zTrackingNumber[16] = { L"Z" };
CHAR16 zRevisionNumber[16] = { L"Hash ${{ env.SHA_SHORT }}" };
"@ | Out-File -FilePath GameVersion.cpp
- name: Build Map Editor
run: msbuild ja2_VS2019.sln -property:Configuration=MapEditor
- name: Rename Map Editor output
run: mv bin/VS2013/MapEditor_EN_Release_master.exe ja2/ja2mapeditor.exe
- name: Replace GameVersion.cpp (JA2)
run: |
rm GameVersion.cpp
echo @"
#include "Types.h"
#include "GameVersion.h"
CHAR16 zVersionLabel[256] = { L"Release v1.13 (Development Build) (Github)" };
CHAR8 czVersionNumber[16] = { "V ${{ env.DATE }}" };
CHAR16 zTrackingNumber[16] = { L"Z" };
CHAR16 zRevisionNumber[16] = { L"Hash ${{ env.SHA_SHORT }}" };
"@ | Out-File -FilePath GameVersion.cpp
- name: Build JA2
run: msbuild ja2_VS2019.sln -property:Configuration=Release
- name: Rename JA2 output
run: mv bin/VS2013/JA2_EN_Release_master_VS2019.exe ja2/ja2.exe
- name: Replace GameVersion.cpp and builddefines.h (JA2 UB)
run: |
rm GameVersion.cpp
echo @"
#include "Types.h"
#include "GameVersion.h"
CHAR16 zVersionLabel[256] = { L"Release Unfinished Business v1.13 (Development Build) (Github)" };
CHAR8 czVersionNumber[16] = { "V ${{ env.DATE }}" };
CHAR16 zTrackingNumber[16] = { L"Z" };
CHAR16 zRevisionNumber[16] = { L"Hash ${{ env.SHA_SHORT }}" };
"@ | Out-File -FilePath GameVersion.cpp
rm builddefines.h
echo @"
#ifndef _BUILDDEFINES_H_
#define _BUILDDEFINES_H_
#include "Language Defines.h"
#define JA2UB
#define JA2UBMAPS
#define FORCE_ASSERTS_ON
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_NON_CONFORMING_SWPRINTFS
#define _SCL_SECURE_NO_WARNINGS
#include "Profiler.h"
#endif
"@ | Out-File -FilePath builddefines.h
- name: Build JA2 UB
run: msbuild ja2_VS2019.sln -property:Configuration=Release
- name: Rename JA2 UB output
run: mv bin/VS2013/JA2_EN_Release_master_VS2019.exe ja2/ja2ub.exe
- name: Upload output
uses: actions/upload-artifact@v3
with:
name: ja2_113
path: |
ja2/
!ja2/.git/