diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..6f95030 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,50 @@ +name: Build + +env: + Branch: ${{github.ref_name}} + Solution: windows/libmysofa.sln + Configuration: Release + Artifacts: windows/bin/x64/Release + +on: + push: + Branches: $Branch + pull_request: + Branches: $Branch + workflow_dispatch: + +jobs: + Windows: + runs-on: windows-latest + steps: + + - name: Clone repo and submodules + run: git clone --recurse-submodules https://github.com/${{github.repository}}.git . --branch ${{env.Branch}} + + - name: Get current date, commit hash and count + run: | + echo "CommitDate=$(git show -s --date=format:'%Y-%m-%d' --format=%cd)" >> $env:GITHUB_ENV + echo "CommitHashShort=$(git rev-parse --short=7 HEAD)" >> $env:GITHUB_ENV + echo "CommitCount=$(git rev-list --count HEAD)" >> $env:GITHUB_ENV + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@v1.0.2 + + - name: Build + run: | + msbuild /m ${{env.Solution}} #/p:Configuration="${{env.Configuration}}" + + - name: Upload Installer Artifact to GitHub + uses: actions/upload-artifact@v4 + with: + name: "${{github.event.repository.name}}_r${{env.CommitCount}}@${{env.CommitHashShort}}" + path: "${{github.workspace}}/${{env.Artifacts}}/" + + - name: GitHub pre-release + uses: "marvinpinto/action-automatic-releases@latest" + with: + repo_token: "${{secrets.GITHUB_TOKEN}}" + automatic_release_tag: "latest" + prerelease: true + title: "[${{env.CommitDate}}] ${{github.event.repository.name}} r${{env.CommitCount}}@${{env.CommitHashShort}}" + files: "${{env.Artifacts}}/*"