mirror of
https://github.com/ApfelTeeSaft/MultiInject.git
synced 2026-08-26 19:33:29 +00:00
92 lines
2.7 KiB
YAML
92 lines
2.7 KiB
YAML
name: Publish MultiInject
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main" ]
|
|
|
|
jobs:
|
|
build-and-release:
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
env:
|
|
VERSION: ${{ github.event.ref_name }} # Set the version tag as the release version
|
|
APP_NAME: "MultiInject" # Application name
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup .NET SDK
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '8.0' # Specify .NET SDK version
|
|
|
|
- name: Install MAUI Workloads
|
|
run: dotnet workload restore
|
|
|
|
- name: Build for Windows
|
|
if: matrix.os == 'windows-latest'
|
|
run: dotnet publish MultiInject.sln -c Release -o output -f net8.0-windows10.0.19041.0
|
|
|
|
- name: Build for macOS
|
|
if: matrix.os == 'macos-latest'
|
|
run: dotnet publish MultiInject.sln -c Release -o output -f net8.0-maccatalyst
|
|
|
|
- name: Build for Linux
|
|
if: matrix.os == 'ubuntu-latest'
|
|
run: dotnet publish MultiInject.sln -c Release -o output -f net8.0
|
|
|
|
- name: Upload build artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ${{ matrix.os }}-build
|
|
path: output
|
|
|
|
- name: Create GitHub Release
|
|
id: create_release
|
|
if: github.ref_type == 'tag'
|
|
uses: actions/create-release@v1
|
|
with:
|
|
tag_name: ${{ env.VERSION }}
|
|
release_name: Release ${{ env.VERSION }}
|
|
draft: false
|
|
prerelease: false
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Upload to Release - Linux
|
|
if: matrix.os == 'ubuntu-latest'
|
|
uses: actions/upload-release-asset@v1
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
asset_path: output
|
|
asset_name: MultiInject-linux-${{ env.VERSION }}.zip
|
|
asset_content_type: application/zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Upload to Release - Windows
|
|
if: matrix.os == 'windows-latest'
|
|
uses: actions/upload-release-asset@v1
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
asset_path: output
|
|
asset_name: MultiInject-win-${{ env.VERSION }}.zip
|
|
asset_content_type: application/zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Upload to Release - macOS
|
|
if: matrix.os == 'macos-latest'
|
|
uses: actions/upload-release-asset@v1
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
asset_path: output
|
|
asset_name: MultiInject-mac-${{ env.VERSION }}.zip
|
|
asset_content_type: application/zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |