Skip to content

Create Release

Create Release #36

name: Create Release
on:
workflow_dispatch:
permissions:
contents: write
issues: write
pull-requests: write
deployments: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: windows-latest
env:
MajorVersion: 1
MinorVersion: 1
BuildVersion: ${{ github.run_number }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: "18.x"
- name: Clear npm cache
run: npm cache clean --force
- name: Install Dependencies in build-scripts
run: |
cd ./build-scripts
npm install
npm ci
- name: Version Stamp Code Components
uses: actions/github-script@v2
with:
script: |
const version = require(`${process.env.GITHUB_WORKSPACE}/build-scripts/version-stamp.js`)
version({
majorVersion: ${{ env.MajorVersion }},
minorVersion: ${{ env.MinorVersion }},
buildVersion: ${{ env.BuildVersion }},
manifestsPaths: [
`${process.env.GITHUB_WORKSPACE}/AutoWidthLabel/AutoWidthLabel`,
`${process.env.GITHUB_WORKSPACE}/Breadcrumb/Breadcrumb`,
`${process.env.GITHUB_WORKSPACE}/Calendar/Calendar`,
`${process.env.GITHUB_WORKSPACE}/CommandBar/CommandBar`,
`${process.env.GITHUB_WORKSPACE}/ContextMenu/ContextMenu`,
`${process.env.GITHUB_WORKSPACE}/DetailsList/DetailsList`,
`${process.env.GITHUB_WORKSPACE}/DonutChart/DonutChart`,
`${process.env.GITHUB_WORKSPACE}/Elevation/Elevation`,
`${process.env.GITHUB_WORKSPACE}/Facepile/Facepile`,
`${process.env.GITHUB_WORKSPACE}/GaugeChart/GaugeChart`,
`${process.env.GITHUB_WORKSPACE}/HorizontalBarChart/HorizontalBarChart`,
`${process.env.GITHUB_WORKSPACE}/Icon/Icon`,
`${process.env.GITHUB_WORKSPACE}/KeyboardShortcuts/KeyboardShortcuts`,
`${process.env.GITHUB_WORKSPACE}/MaskedTextField/MaskedTextField`,
`${process.env.GITHUB_WORKSPACE}/Nav/Nav`,
`${process.env.GITHUB_WORKSPACE}/PeoplePicker/PeoplePicker`,
`${process.env.GITHUB_WORKSPACE}/Persona/Persona`,
`${process.env.GITHUB_WORKSPACE}/Picker/Picker`,
`${process.env.GITHUB_WORKSPACE}/Pivot/Pivot`,
`${process.env.GITHUB_WORKSPACE}/ProgressIndicator/ProgressIndicator`,
`${process.env.GITHUB_WORKSPACE}/ResizableTextarea/ResizableTextarea`,
`${process.env.GITHUB_WORKSPACE}/SearchBox/SearchBox`,
`${process.env.GITHUB_WORKSPACE}/Shimmer/Shimmer`,
`${process.env.GITHUB_WORKSPACE}/SpinButton/SpinButton`,
`${process.env.GITHUB_WORKSPACE}/Spinner/Spinner`,
`${process.env.GITHUB_WORKSPACE}/StackedBarChart/StackedBarChart`,
`${process.env.GITHUB_WORKSPACE}/SubwayNav/SubwayNav`,
`${process.env.GITHUB_WORKSPACE}/TagList/TagList`,
`${process.env.GITHUB_WORKSPACE}/ThemeGenerator/ThemeGenerator`
],
solutionPaths: `${process.env.GITHUB_WORKSPACE}/Solution/src/Other/Solution.xml`,
beta: false}
)
- name: Install Dependencies in AutoWidthLabel
run: |
cd ./AutoWidthLabel
npm install
npm ci
- name: Install Dependencies in Breadcrumb
run: |
cd ./Breadcrumb
npm install
npm ci
- name: Install Dependencies in Calendar
run: |
cd ./Calendar
npm install
npm ci
- name: Install Dependencies in CommandBar
run: |
cd ./CommandBar
npm install
npm ci
- name: Install Dependencies in ContextMenu
run: |
cd ./ContextMenu
npm install
npm ci
- name: Install Dependencies in DetailsList
run: |
cd ./DetailsList
npm install
npm ci
- name: Install Dependencies in DonutChart
run: |
cd ./DonutChart
npm install
npm ci
- name: Install Dependencies in Elevation
run: |
cd ./Elevation
npm install
npm ci
- name: Install Dependencies in Facepile
run: |
cd ./Facepile
npm install
npm ci
- name: Install Dependencies in GaugeChart
run: |
cd ./GaugeChart
npm install
npm ci
- name: Install Dependencies in HorizontalBarChart
run: |
cd ./HorizontalBarChart
npm install
npm ci
- name: Install Dependencies in Icon
run: |
cd ./Icon
npm install
npm ci
- name: Install Dependencies in KeyboardShortcuts
run: |
cd ./KeyboardShortcuts
npm install
npm ci
- name: Install Dependencies in MaskedTextField
run: |
cd ./MaskedTextField
npm install
npm ci
- name: Install Dependencies in Nav
run: |
cd ./Nav
npm install
npm ci
- name: Install Dependencies in PeoplePicker
run: |
cd ./PeoplePicker
npm install
npm ci
- name: Install Dependencies in Persona
run: |
cd ./Persona
npm install
npm ci
- name: Install Dependencies in Picker
run: |
cd ./Picker
npm install
npm ci
- name: Install Dependencies in Pivot
run: |
cd ./Pivot
npm install
npm ci
- name: Install Dependencies in ProgressIndicator
run: |
cd ./ProgressIndicator
npm install
npm ci
- name: Install Dependencies in ResizableTextarea
run: |
cd ./ResizableTextarea
npm install
npm ci
- name: Install Dependencies in SearchBox
run: |
cd ./SearchBox
npm install
npm ci
- name: Install Dependencies in Shimmer
run: |
cd ./Shimmer
npm install
npm ci
- name: Install Dependencies in SpinButton
run: |
cd ./SpinButton
npm install
npm ci
- name: Install Dependencies in Spinner
run: |
cd ./Spinner
npm install
npm ci
- name: Install Dependencies in StackedBarChart
run: |
cd ./StackedBarChart
npm install
npm ci
- name: Install Dependencies in SubwayNav
run: |
cd ./SubwayNav
npm install
npm ci
- name: Install Dependencies in TagList
run: |
cd ./TagList
npm install
npm ci
- name: Install Dependencies in ThemeGenerator
run: |
cd ./ThemeGenerator
npm install
npm ci
- uses: actions/setup-dotnet@v1
with:
dotnet-version: "6.x"
- run: dotnet build -c release
working-directory: "./Solution"
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ env.MajorVersion }}.${{ env.MinorVersion }}.${{ env.BuildVersion }}
release_name: v${{ env.MajorVersion }}.${{ env.MinorVersion }}.${{ env.BuildVersion }}
draft: true
prerelease: true
- name: Upload Release Asset
id: upload-release-asset1
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: Solution/bin/Release/Solution.zip
asset_name: PowerCATCodeComponents_unmanaged_${{ env.MajorVersion }}_${{ env.MinorVersion }}_0_${{ env.BuildVersion }}.zip
asset_content_type: application/zip
- name: Upload Release Asset
id: upload-release-asset2
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: Solution/bin/Release/Solution_managed.zip
asset_name: PowerCATCodeComponents_managed_${{ env.MajorVersion }}_${{ env.MinorVersion }}_0_${{ env.BuildVersion }}.zip
asset_content_type: application/zip