code_review: PR #120 #2
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: Continuous Integration | |
on: | |
push: | |
branches: | |
- develop | |
pull_request: | |
branches: [develop] | |
workflow_dispatch: | |
jobs: | |
build-windows: | |
name: Build Windows x64 | |
runs-on: windows-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Build | |
run: dotnet build -c Release | |
- name: Publish | |
run: dotnet publish src/SourceGit.csproj -c Release -o publish -r win-x64 -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sourcegit.win-x64 | |
path: publish | |
build-macos-intel: | |
name: Build macOS (Intel) | |
runs-on: macos-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Build | |
run: dotnet build -c Release | |
- name: Publish | |
run: dotnet publish src/SourceGit.csproj -c Release -o publish -r osx-x64 -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained | |
- name: Packing Program | |
run: tar -cvf sourcegit.osx-x64.tar publish/ | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sourcegit.osx-x64 | |
path: sourcegit.osx-x64.tar | |
build-macos-arm64: | |
name: Build macOS (Apple Silicon) | |
runs-on: macos-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Build | |
run: dotnet build -c Release | |
- name: Publish | |
run: dotnet publish src/SourceGit.csproj -c Release -o publish -r osx-arm64 -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained | |
- name: Packing Program | |
run: tar -cvf sourcegit.osx-arm64.tar publish/ | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sourcegit.osx-arm64 | |
path: sourcegit.osx-arm64.tar | |
build-linux: | |
name: Build Linux | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Build | |
run: dotnet build -c Release | |
- name: Publish | |
run: dotnet publish src/SourceGit.csproj -c Release -o publish -r linux-x64 -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained | |
- name: Rename Executable File | |
run: mv publish/SourceGit publish/sourcegit | |
- name: Packing Program | |
run: tar -cvf sourcegit.linux-x64.tar publish/ | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sourcegit.linux-x64 | |
path: sourcegit.linux-x64.tar |