Give each locally-built package a unique version #1184
This file contains hidden or 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: | |
branches: | |
- "*" | |
tags: | |
- v* | |
paths-ignore: | |
- docs/** | |
- LICENSE | |
- "**.md" | |
pull_request: | |
branches: | |
- "*" | |
paths-ignore: | |
- docs/** | |
- LICENSE | |
- "**.md" | |
jobs: | |
build: | |
name: "Build & package" | |
runs-on: ubuntu-latest | |
env: | |
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # required for minver to create the right version number | |
filter: tree:0 | |
- uses: extractions/setup-just@v2 | |
- uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: | | |
8.0.x | |
- name: Install tools | |
run: just install-tools | |
- name: Restore | |
run: just restore | |
- name: Format | |
run: just format --verify-no-changes | |
- name: Build | |
run: just build --configuration Release --no-restore | |
env: | |
MINVERBUILDMETADATA: ${{ env.GITHUB_RUN_NUMBER }} | |
- name: Install Playwright | |
run: just install-playwright | |
- name: Test | |
run: | | |
just unit-tests --configuration Release --no-build | |
just conformance-tests --configuration Release --no-build | |
just integration-tests --configuration Release --no-build | |
- name: Check documentation | |
run: | | |
just publish-docs | |
changes=$(git status --porcelain docs ':!docs/images' | cut -c 4-) | |
if [ -n "$changes" ] | |
then | |
echo "::error ::Documentation is stale" | |
exit 1 | |
fi | |
- name: Publish package artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: GovUk.Frontend.AspNetCore.nupkg | |
path: packages/*.nupkg | |
release: | |
name: "Release" | |
runs-on: ubuntu-latest | |
needs: build | |
if: startsWith(github.ref, 'refs/tags/v') | |
steps: | |
- name: Download package artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: GovUk.Frontend.AspNetCore.nupkg | |
- name: Publish package to NuGet | |
run: dotnet nuget push **/*.nupkg --api-key $NUGET_TOKEN --source https://api.nuget.org/v3/index.json --skip-duplicate | |
env: | |
NUGET_TOKEN: ${{ secrets.NUGET_TOKEN }} |