82 lines
2.6 KiB
YAML
82 lines
2.6 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'Plain Craft Launcher 2/**'
|
|
- '.github/workflows/**'
|
|
pull_request:
|
|
paths:
|
|
- 'Plain Craft Launcher 2/**'
|
|
- '.github/workflows/**'
|
|
workflow_dispatch:
|
|
inputs:
|
|
Release:
|
|
description: 'Release'
|
|
type: boolean
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
strategy:
|
|
matrix:
|
|
configuration: [Debug]
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set Describe
|
|
shell: bash
|
|
run: |
|
|
Describe=`git describe --tags --always`
|
|
echo "Describe=$Describe" >> $GITHUB_ENV
|
|
|
|
- name: Setup MSBuild.exe
|
|
uses: microsoft/setup-msbuild@v2
|
|
with:
|
|
msbuild-architecture: x64
|
|
|
|
- name: Replace
|
|
shell: powershell
|
|
run: |
|
|
(gc "Plain Craft Launcher 2\Modules\Minecraft\ModLaunch.vb") -replace 'Dim ClientId As String = ""', 'Dim ClientId As String = "${{ secrets.CLIENT_ID }}"' | Out-File "Plain Craft Launcher 2\Modules\Minecraft\ModLaunch.vb"
|
|
(gc "Plain Craft Launcher 2\Modules\ModSecret.vb") -replace 'Client.Headers\("x-api-key"\) = ""', 'Client.Headers("x-api-key") = "${{ secrets.X_API_KEY }}"' | Out-File "Plain Craft Launcher 2\Modules\ModSecret.vb"
|
|
(gc "Plain Craft Launcher 2\Modules\ModSecret.vb") -replace 'Request.Headers\("x-api-key"\) = ""', 'Request.Headers("x-api-key") = "${{ secrets.X_API_KEY }}"' | Out-File "Plain Craft Launcher 2\Modules\ModSecret.vb"
|
|
|
|
- name: Build
|
|
run: msbuild "Plain Craft Launcher 2\Plain Craft Launcher 2.vbproj" -p:Configuration=${{ matrix.configuration }}
|
|
|
|
- name: Upload a Build Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ matrix.configuration }} ${{ env.Describe }}
|
|
path: Plain Craft Launcher 2\obj\${{ matrix.configuration }}\Plain Craft Launcher 2.exe
|
|
|
|
- name: Create Release
|
|
if: ${{ inputs.Release }}
|
|
id: create_release
|
|
uses: actions/create-release@latest
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
tag_name: ${{ env.Describe }}
|
|
release_name: ${{ env.Describe }}
|
|
|
|
- name: Upload Release Asset
|
|
if: ${{ inputs.Release }}
|
|
id: upload-release-asset
|
|
uses: actions/upload-release-asset@latest
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
asset_path: Plain Craft Launcher 2\obj\${{ matrix.configuration }}\Plain Craft Launcher 2.exe
|
|
asset_name: Plain Craft Launcher 2.exe
|
|
asset_content_type: application/octet-stream
|