This repository has been archived by the owner on Jul 15, 2024. It is now read-only.
Merge pull request #748 from diamante0018/main #38
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: | |
- "*" | |
pull_request: | |
branches: | |
- "*" | |
types: [opened, synchronize, reopened] | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
matrix: | |
configuration: | |
- Debug | |
- Release | |
steps: | |
- name: Check out files | |
uses: actions/[email protected] | |
with: | |
submodules: true | |
fetch-depth: 0 | |
# NOTE - If LFS ever starts getting used during builds, switch this to true! | |
lfs: false | |
- name: Add msbuild to PATH | |
uses: microsoft/[email protected] | |
- name: Generate project files | |
run: tools/premake5 vs2022 --no-check | |
- name: Set up problem matching | |
uses: ammaraskar/msvc-problem-matcher@master | |
- name: Build ${{matrix.configuration}} | |
run: msbuild /m /v:minimal /p:Configuration=${{matrix.configuration}} /p:Platform=x64 build/boiii.sln | |
- name: Upload ${{matrix.configuration}} symbols | |
if: matrix.configuration == 'Release' && github.repository_owner == 'momo5502' && github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop') | |
uses: actions/[email protected] | |
with: | |
name: ${{matrix.configuration}} Symbols | |
path: | | |
build/bin/x64/${{matrix.configuration}}/boiii.pdb | |
- name: Upload ${{matrix.configuration}} binary | |
if: matrix.configuration == 'Release' && github.repository_owner == 'momo5502' && github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop') | |
uses: actions/[email protected] | |
with: | |
name: ${{matrix.configuration}} Binary | |
path: | | |
build/bin/x64/${{matrix.configuration}}/boiii.exe | |
- name: Upload ${{matrix.configuration}} data artifacts | |
if: matrix.configuration == 'Release' && github.repository_owner == 'momo5502' && github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop') | |
uses: actions/[email protected] | |
with: | |
name: ${{matrix.configuration}} data artifacts | |
path: | | |
data/* | |
deploy: | |
name: Deploy artifacts | |
needs: build | |
runs-on: ubuntu-latest | |
if: github.repository_owner == 'momo5502' && github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop') | |
steps: | |
- name: Setup environment | |
run: echo "BOIII_MASTER_PATH=${{ secrets.BOIII_MASTER_SSH_PATH }}" >> $GITHUB_ENV | |
#- name: Setup main environment | |
# if: github.ref == 'refs/heads/main' | |
# run: echo "BOIII_MASTER_PATH=${{ secrets.BOIII_MASTER_SSH_PATH }}" >> $GITHUB_ENV | |
#- name: Setup develop environment | |
# if: github.ref == 'refs/heads/develop' | |
# run: echo "BOIII_MASTER_PATH=${{ secrets.BOIII_MASTER_SSH_PATH_DEV }}" >> $GITHUB_ENV | |
- name: Download Release binaries | |
uses: actions/[email protected] | |
with: | |
name: Release Binary | |
- name: Download Release data artifacts | |
uses: actions/[email protected] | |
with: | |
name: Release data artifacts | |
path: data | |
- name: Install SSH key | |
uses: shimataro/[email protected] | |
with: | |
key: ${{ secrets.BOIII_MASTER_SSH_PRIVATE_KEY }} | |
known_hosts: "just-a-placeholder-so-we-dont-get-errors" | |
- name: Add known hosts | |
run: ssh-keyscan -H ${{ secrets.BOIII_MASTER_SSH_ADDRESS }} >> ~/.ssh/known_hosts | |
- name: Remove old data files | |
run: ssh ${{ secrets.BOIII_MASTER_SSH_USER }}@${{ secrets.BOIII_MASTER_SSH_ADDRESS }} rm -rf ${{ env.BOIII_MASTER_PATH }}/boiii/data/* | |
- name: Upload BOIII binary | |
run: rsync -avz boiii.exe ${{ secrets.BOIII_MASTER_SSH_USER }}@${{ secrets.BOIII_MASTER_SSH_ADDRESS }}:${{ env.BOIII_MASTER_PATH }}/boiii/ | |
- name: Upload data files | |
run: rsync -avz ./data/ ${{ secrets.BOIII_MASTER_SSH_USER }}@${{ secrets.BOIII_MASTER_SSH_ADDRESS }}:${{ env.BOIII_MASTER_PATH }}/boiii/data/ | |
- name: Publish changes | |
run: ssh ${{ secrets.BOIII_MASTER_SSH_USER }}@${{ secrets.BOIII_MASTER_SSH_ADDRESS }} ${{ secrets.BOIII_MASTER_SSH_CHANGE_PUBLISH_COMMAND }} | |
- name: Prepare cleanup | |
run: echo "" > boiii.exe | |
- name: Cleanup | |
uses: actions/[email protected] | |
with: | |
name: Release Binary | |
retention-days: 1 | |
path: | | |
boiii.exe |