fix: README.md instruction for dxLink #130
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "CI" | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
build_and_test: | |
name: Build & Test on ${{ matrix.OS_NAME }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: windows-latest | |
OS_NAME: win-x64 | |
- os: ubuntu-latest | |
OS_NAME: linux-x64 | |
- os: macos-latest | |
OS_NAME: osx-x64 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: | | |
8.0.x | |
- name: Restore Dependencies | |
run: dotnet restore | |
- name: Build Project | |
run: dotnet build -c Release --no-restore | |
- name: Test Project | |
run: dotnet test --configuration Release --no-build --verbosity normal --logger:"console;verbosity=normal" | |
- name: Pack Project | |
run: dotnet pack -c Release | |
release: | |
needs: build_and_test | |
if: (startsWith(github.event.ref, 'refs/tags/')) | |
name: Release | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: | | |
8.0.x | |
- name: Publish Tools | |
run: | | |
frameworks="net6.0 net7.0 net8.0" | |
echo "$frameworks" | tr ' ' '\n' | while read -r framework; do | |
./publish.sh DxFeed.Graal.Net.Tools "$framework" | |
done | |
platforms="win-x64 linux-x64 osx-x64 osx-arm64" | |
echo "$platforms" | tr ' ' '\n' | while read -r platform; do | |
./publish.sh DxFeed.Graal.Net.Tools net8.0 "$platform" | |
done | |
(cd artifacts/Publish/DxFeed.Graal.Net.Tools && for dir in */; do | |
(cd "$dir" && zip "../DxFeed.Graal.Net.Tools-${dir%/}-${{ github.ref_name }}.zip" . -r -D) | |
done) | |
shell: bash | |
- name: Upload Tools | |
uses: softprops/action-gh-release@v1 | |
with: | |
generate_release_notes: true | |
files: | | |
artifacts/Publish/DxFeed.Graal.Net.Tools/*.zip | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Pack NuGet | |
run: dotnet pack -c Release --property:PackageOutputPath=${{ github.workspace }}/artifacts/Packages | |
- name: Upload NuGet | |
run: | | |
nuget push artifacts/Packages/DxFeed.Graal.Net.${{ github.ref_name }}.nupkg \ | |
-Source ${{ secrets.JFROG_PATH }}/${{ github.ref_name }} \ | |
-ApiKey ${{ secrets.JFROG_API_KEY }} | |
shell: bash | |
build_and_upload_docs: | |
needs: release | |
if: (startsWith(github.event.ref, 'refs/tags/')) | |
name: Build & Upload Docs | |
runs-on: windows-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: | | |
8.0.x | |
- name: Restore Dependencies | |
run: dotnet restore | |
- name: Build Project | |
run: dotnet build -c Release --no-restore | |
- name: Install DocFX | |
run: dotnet tool update -g docfx | |
- name: Prepare Tag | |
id: prepare_tag | |
if: startsWith(github.ref, 'refs/tags/') | |
run: | | |
echo "DEPLOY_TAG_NAME=deploy-${TAG_NAME}" >> "${GITHUB_OUTPUT}" | |
- name: Build Doc | |
run: ./build_doc.cmd | |
- name: Upload Doc | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: artifacts/Documentation | |
tag_name: ${{ steps.prepare_tag.outputs.DEPLOY_TAG_NAME }} | |
commit_message: 'deploy: ${{ github.ref_name }}' | |
allow_empty_commit: true | |
# ToDo Create a reusable workflow and extract uploading artifacts to a separate flow. | |
# - name: Upload DxFeed.Graal.Net.Tools | |
# if: github.event_name == 'workflow_dispatch' | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: DxFeed.Graal.Net.Tools-self-contained-${{ matrix.OS_NAME }} | |
# path: | | |
# artifacts/Publish/${{ matrix.OS_NAME }}/ | |
# | |
# - name: Upload DxFeed.Graal.Net.Tools for macOS Apple Silicon | |
# if: github.event_name == 'workflow_dispatch' && matrix.os == 'macOS-latest' | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: DxFeed.Graal.Net.Tools-self-contained-osx-arm64 | |
# path: | | |
# artifacts/Publish/osx-arm64 |