Skip to content

Feature/shell (#7)

Feature/shell (#7) #1

Workflow file for this run

name: Build and Release Apple Silicon
on:
push:
branches:
- main
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: '7.0.x'
- name: Restore workloads
run: dotnet workload restore
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build -c Release
- name: Test
run: dotnet test
- name: Publish
run: dotnet publish -c Release -r osx-arm64 --self-contained true
- name: Get Latest Tag
id: get_latest_tag
uses: actions/github-script@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const { data: tags } = await github.git.listTags({
owner: context.repo.owner,
repo: context.repo.repo
});
const latestTag = tags[0].ref;
const tagNumber = parseInt(latestTag.replace('refs/tags/v', ''));
const newTag = `v${tagNumber + 1}`;
console.log(`Latest tag: ${latestTag}, new tag: ${newTag}`);
return newTag;
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.get_latest_tag.outputs.result }},macos-arm64
release_name: Release ${{ steps.get_latest_tag.outputs.result }}
draft: true
prerelease: false
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./bin/Release/net6.0/osx-arm64/publish/MyApp
asset_name: MyApp
asset_content_type: application/octet-stream