diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..795fc0a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,58 @@ +name: Release +on: + push: + tags: ['[0-9]+.[0-9]+.[0-9]+', '[0-9]+.[0-9]+.[0-9]+-pre[0-9]+'] + paths-ignore: [ 'docs/**' ] + +permissions: write-all + +env: + CONFIG: Release + TEMPLATE_PROJ: templates/FSharp.Mobile.Templates.proj + +jobs: + release: + runs-on: macos-13 + environment: nuget + steps: + - name: Checkout sources + uses: actions/checkout@v3 + - name: Extract version from tag + uses: damienaicheh/extract-version-from-tag-action@v1.0.0 + - name: Set release version + run: | + if [ "${PRE_RELEASE}" == "" ]; then + RELEASE_VERSION=${MAJOR}.${MINOR}.${PATCH} + else + RELEASE_VERSION=${MAJOR}.${MINOR}.${PATCH}-${PRE_RELEASE} + fi + echo "Release version is $RELEASE_VERSION" + echo "RELEASE_VERSION=$RELEASE_VERSION" >> "$GITHUB_ENV" + - name: Get FSharp.Mobile.Templates Changelog Entry + id: templates_changelog + uses: mindsers/changelog-reader-action@v2 + with: + validation_level: warn + version: '${{ env.RELEASE_VERSION }}' + path: templates/CHANGELOG.md + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 8.0.x + - name: Install dotnet workload + run: dotnet workload restore + - name: Restore + run: dotnet restore ${SLN_FILE} + - name: Build + run: dotnet build ${SLN_FILE} -p:Version=${RELEASE_VERSION} -c ${CONFIG} --no-restore + - name: Pack + run: | + find templates -type f -name template.json | xargs sed -i bak "s/PKG_VERSION/${RELEASE_VERSION}/g" + dotnet pack ${TEMPLATE_PROJ} -p:Version=${RELEASE_VERSION} -p:PackageReleaseNotes="${{ steps.templates_changelog.outputs.changes }}" -c ${CONFIG} --property PackageOutputPath=${PWD}/nupkgs + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: Packages + path: nupkgs/ + - name: Push + run: dotnet nuget push "nupkgs/*" -s https://api.nuget.org/v3/index.json -k ${{ secrets.NUGET_TOKEN }} --skip-duplicate \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..e883f6f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,18 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] +_No unreleased changes_ + +## [8.0.0] - 2023-12-14 + +### Added +- Update NET8.0 and F# 8.0 + +[unreleased]: https://github.com/fabulous-dev/FSharp.Mobile.Templates/compare/8.0.0...HEAD +[8.0.0]: https://github.com/fabulous-dev/FSharp.Mobile.Templates/releases/tag/8.0.0 +