Skip to content

fix install dylib on arm #24

fix install dylib on arm

fix install dylib on arm #24

Workflow file for this run

# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
name: .NET
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
DOTNET_CLI_TELEMETRY_OPTOUT: true
DOTNET_GENERATE_ASPNET_CERTIFICATE: false
jobs:
build:
runs-on: macos-latest
name: .NET ${{ matrix.dotnet }}
strategy:
matrix:
dotnet:
# update other matrix's version below when new latest released
#- 10 # REL: 2025-11-10 EOL: 2028-11-11
#- 9 # REL: 2024-11-10 EOL: 2026-11-11
- 8 # EOL: 2026-11-10
- 6 # EOL: 2024-11-12
# version support doc: https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core
steps:
- uses: actions/checkout@v4
with:
repository: getargv/getargv
path: getargv
token: ${{ secrets.GH_PAT }}
- name: Build libgetargv
run: make dylib
working-directory: getargv
- name: Install libgetargv
run: sudo make install_dylib
working-directory: getargv
- uses: actions/checkout@v4
with:
path: getargv.cs
- name: Setup .NET
uses: actions/setup-dotnet@v4
id: setup
with:
dotnet-version: ${{ matrix.dotnet }}.0.x
- name: Create temporary global.json
run: "echo '{\"sdk\":{\"version\": \"${{ steps.setup.outputs.dotnet-version }}\"}}' > ./global.json"
working-directory: getargv.cs
- name: Restore dependencies
run: dotnet restore -p:TargetFramework=net${{ matrix.dotnet }}.0
working-directory: getargv.cs
- name: Build
run: dotnet build --no-restore --framework net${{ matrix.dotnet }}.0
working-directory: getargv.cs
- name: Test
run: dotnet test --no-build --verbosity normal --framework net${{ matrix.dotnet }}.0
working-directory: getargv.cs
release:
runs-on: macos-latest
needs: [ build ]
name: Publish package
permissions:
contents: write
packages: write
strategy:
matrix:
dotnet:
- 8 # Check above for newest version
steps:
- uses: actions/checkout@v4
with:
repository: getargv/getargv
path: getargv
token: ${{ secrets.GH_PAT }}
- name: Build libgetargv
run: make dylib
working-directory: getargv
- name: Install libgetargv
run: sudo make install_dylib
working-directory: getargv
- uses: actions/checkout@v4
with:
path: getargv.cs
- name: Setup .NET
uses: actions/setup-dotnet@v4
id: setup
with:
dotnet-version: ${{ matrix.dotnet }}.0.x
- name: Create temporary global.json
run: "echo '{\"sdk\":{\"version\": \"${{ steps.setup.outputs.dotnet-version }}\"}}' > ./global.json"
working-directory: getargv.cs
- name: Bump version
id: bump_version
run: echo "new_version=$(./bump_version)" >> $GITHUB_OUTPUT
working-directory: getargv.cs
- name: Build
run: dotnet build --framework net${{ matrix.dotnet }}.0
working-directory: getargv.cs
- name: Create the package
run: dotnet pack --configuration Release Getargv
working-directory: getargv.cs
- name: create && push tag
run: |
git commit -am 'release ${{ steps.bump_version.outputs.new_version }}'
git tag 'v${{ steps.bump_version.outputs.new_version }}'
git push origin tag 'v${{ steps.bump_version.outputs.new_version }}'
git push origin HEAD:main
working-directory: getargv.cs
- name: Publish the package to GPR
run: dotnet nuget push Getargv/bin/Release/*.nupkg -k $NUGET_AUTH_TOKEN -s https://nuget.pkg.github.com/getargv/index.json
env:
NUGET_AUTH_TOKEN: ${{github.token}}
working-directory: getargv.cs
- name: Publish the package to nuget.org
run: dotnet nuget push Getargv/bin/Release/*.nupkg -k $NUGET_AUTH_TOKEN -s https://api.nuget.org/v3/index.json
env:
NUGET_AUTH_TOKEN: ${{ secrets.NUGET_TOKEN }}
working-directory: getargv.cs