#161 Allow using single-case unions as dictionary keys #373
Workflow file for this run
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: Build | |
on: | |
push: | |
branches: | |
- '**' | |
pull_request: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: '7.0.102' | |
include-prerelease: true | |
- name: NuGet cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.nuget/packages | |
key: ${{ runner.os }}-nuget-${{ hashFiles('.config/dotnet-tools.json') }}-${{ hashFiles('*.lock') }} | |
restore-keys: | | |
${{ runner.os }}-nuget- | |
- name: Check formatting | |
run: | | |
dotnet tool restore | |
dotnet fantomas --check -r . | |
- name: Build | |
run: | | |
# GH Actions puts us in detached head, but for nbgv, we need to be on the branch | |
if echo "${{github.ref}}" | grep -q "^refs/heads/"; then | |
git checkout "$(echo ${{github.ref}} | sed -E 's|^refs/heads/||')"; | |
fi | |
DOTNET_RUNTIME_IDENTIFIER=linux-x64 ./build.ps1 | |
- name: Upload nupkg | |
uses: actions/upload-artifact@v1 | |
with: | |
name: nuget | |
path: bin/nuget | |
prerelease: | |
runs-on: ubuntu-latest | |
needs: build | |
if: ${{ github.ref == 'refs/heads/master' }} | |
steps: | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: '7.0.102' | |
include-prerelease: true | |
- name: Download nupkg | |
uses: actions/download-artifact@v1 | |
with: | |
name: nuget | |
- name: Push to GitHub feed | |
run: dotnet nuget push nuget/*.nupkg | |
--api-key "${{secrets.GITHUB_TOKEN}}" | |
--source "https://nuget.pkg.github.com/${{github.repository_owner}}/" | |
--skip-duplicate | |
release: | |
runs-on: ubuntu-latest | |
needs: build | |
if: ${{ contains(github.ref, 'releases') }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: '7.0.102' | |
include-prerelease: true | |
- name: Prepare | |
run: | | |
# GH Actions puts us in detached head, but for nbgv, we need to be on the branch | |
git checkout "$(echo ${{github.ref}} | sed -E 's|^refs/[^/]+/||')" | |
dotnet tool restore | |
SHORT_VERSION="$(dotnet nbgv get-version -v MajorMinorVersion)" | |
echo "SHORT_VERSION=$SHORT_VERSION" >> $GITHUB_ENV | |
echo "FULL_VERSION=$(dotnet nbgv get-version -v SemVer2)" >> $GITHUB_ENV | |
# Parse the relevant changelog entry out of CHANGELOG.md | |
sed -n "/^## ${SHORT_VERSION//./\\.}\$/{n;bl};d;:l;/^#/Q;p;n;bl" CHANGELOG.md > release.md | |
- name: Create draft release | |
uses: actions/create-release@v1 | |
with: | |
tag_name: v${{ env.FULL_VERSION }} | |
release_name: Version ${{ env.SHORT_VERSION }} | |
body_path: release.md | |
draft: true | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |