Skip to content

BitMono.CLI

BitMono.CLI #19

Workflow file for this run

name: BitMono.CLI
on:
create:
tags:
- "*"
push:
branches: [ main ]
paths:
- '.github/workflows/BitMono.CLI.yaml'
- 'src/**'
- 'test/**'
pull_request:
paths:
- '.github/workflows/BitMono.CLI.yaml'
- 'src/**'
- 'test/**'
jobs:
Build:
runs-on: ubuntu-latest
strategy:
matrix:
target-framework: [net8.0, net7.0, net6.0, net462, netstandard2.1, netstandard2.0]
runtime: [linux-x64, win-x64]
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.x
- name: Build Project
uses: ./.github/actions/project-build
id: project-build
with:
project_path: src/BitMono.CLI/BitMono.CLI.csproj
nuget_push: false
target_framework: ${{ matrix.target-framework }}
runtime_version: ${{ matrix.runtime }}
github_token: ${{ secrets.PAT }}
- name: Install zip
run: sudo apt-get install zip
- name: Zip artifacts
run: "cd ./src/BitMono.CLI/bin/Release/${{ matrix.target-framework }}/${{ matrix.runtime }} && zip -qq -r ./BitMono-v${{ steps.project-build.outputs.version }}-CLI-${{ matrix.target-framework }}-${{ matrix.runtime }}.zip *"
- name: Upload build
uses: actions/upload-artifact@v3 # Do not use v4 as it is not working properly, see: https://github.com/actions/upload-artifact/issues/478
with:
name: BitMono-v${{ steps.project-build.outputs.version }}-CLI-${{ matrix.target-framework }}-${{ matrix.runtime }}
path: "./src/BitMono.CLI/bin/Release/${{ matrix.target-framework }}/${{ matrix.runtime }}/BitMono-v${{ steps.project-build.outputs.version }}-CLI-${{ matrix.target-framework }}-${{ matrix.runtime }}.zip"
if-no-files-found: error
- name: Create Release
if: github.event_name == 'create' && github.event.ref_type == 'tag'
uses: ncipollo/release-action@v1.14.0
with:
name: BitMono Release v${{ steps.project-build.outputs.version }}
tag: v${{ steps.project-build.outputs.version }}
artifacts: "./src/BitMono.CLI/bin/Release/${{ matrix.target-framework }}/${{ matrix.runtime }}/BitMono-v${{ steps.project-build.outputs.version }}-CLI-${{ matrix.target-framework }}-${{ matrix.runtime }}.zip"
token: ${{ secrets.PAT }}
prerelease: ${{ steps.project-build.outputs.is_prerelease }}
allowUpdates: true
generateReleaseNotes: true