Skip to content

Build and Publish Self-Contained Assemblies #8

Build and Publish Self-Contained Assemblies

Build and Publish Self-Contained Assemblies #8

Workflow file for this run

name: Build and Publish Self-Contained Assemblies
on:
workflow_dispatch:
inputs:
branch:
description: 'Branch to build and release'
required: true
default: 'main'
release_version:
description: 'Release version (e.g., v1.0.0)'
required: true
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
runtime:
- linux-x64
- linux-arm64
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.branch }}
- name: Set up .NET
uses: actions/[email protected]
with:
dotnet-version: '6.x'
- name: Restore dependencies
run: dotnet restore
- name: Build and publish self-contained assembly
run: |
dotnet publish -c Release -r ${{ matrix.runtime }} --self-contained -p:PublishSingleFile=true -o ./publish/${{ matrix.runtime }}
shell: bash
- name: Create Git tag
run: |
git tag ${{ github.event.inputs.release_version }}
git push origin ${{ github.event.inputs.release_version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload release assets
uses: softprops/action-gh-release@v2
with:
files: ./publish/${{ matrix.runtime }}/EmpireCompiler
tag_name: ${{ github.event.inputs.release_version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}