Skip to content

Commit

Permalink
Merge pull request #1458 from arturcic/feature/release-trigger
Browse files Browse the repository at this point in the history
Refactor release workflow to separate prerelease and release jobs
  • Loading branch information
arturcic authored Jan 22, 2025
2 parents 92a66c4 + 9c331b8 commit 5aa753a
Showing 1 changed file with 49 additions and 10 deletions.
59 changes: 49 additions & 10 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,54 @@ defaults:
shell: pwsh

jobs:
build:
prerelease:
if: github.event.release.prerelease == true
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.PUSH_GITHUB_TOKEN }}

- run: |
npm install
npm run build:tools
npm run build:agent:github
npm run build:agent:azure
name: Build code
- name: Install GitVersion
uses: ./gitversion/setup
with:
versionSpec: '6.0.x'
- name: Use GitVersion
id: gitversion # step id used as reference for output values
uses: ./gitversion/execute
- run: |
$mode = "test"
$date = Get-Date -format "yyMMddHH"
$version = "${{steps.gitversion.outputs.majorMinorPatch}}.$date"
$major = "${{steps.gitversion.outputs.major}}"
$minor = "${{steps.gitversion.outputs.minor}}"
$patch = "${{steps.gitversion.outputs.patch}}"
$vsix = "dist/gittools.gittools-$version.vsix"
echo "Release mode: $mode"
echo "Version: $version"
npm run publish:prepare -- --mode $mode --version $version
npm run publish:azure:local -- --env mode=$mode version=$version --output-path $vsix
npm run publish:azure:marketplace -- --token ${{ secrets.TFX_TOKEN }} --env mode=$mode version=$version
echo "vsix=$vsix" >> $env:GITHUB_OUTPUT
id: publish-azure
name: Publish Azure extension
release:
if: github.event.release.prerelease == false
runs-on: ${{ matrix.os }}
strategy:
matrix:
Expand Down Expand Up @@ -38,7 +85,6 @@ jobs:
id: gitversion # step id used as reference for output values
uses: ./gitversion/execute
- name: Update Release Notes
if: github.event.release.prerelease == false
uses: ./gitreleasemanager/create
with:
token: ${{ secrets.RELEASE_GITHUB_TOKEN }}
Expand All @@ -49,11 +95,7 @@ jobs:
isPreRelease: ${{ github.event.release.prerelease }}
targetcommitish: "main"
- run: |
if ('${{ github.event.release.prerelease }}' -eq 'true') {
$mode = "test"
} else {
$mode = "prod"
}
$mode = "prod"
$date = Get-Date -format "yyMMddHH"
$version = "${{steps.gitversion.outputs.majorMinorPatch}}.$date"
$major = "${{steps.gitversion.outputs.major}}"
Expand All @@ -73,7 +115,6 @@ jobs:
id: publish-azure
name: Publish Azure extension
- name: Add Assets
if: github.event.release.prerelease == false
uses: ./gitreleasemanager/addasset
with:
token: ${{ secrets.RELEASE_GITHUB_TOKEN }}
Expand All @@ -82,15 +123,13 @@ jobs:
milestone: "v${{ steps.gitversion.outputs.majorMinorPatch }}"
assets: ${{ steps.publish-azure.outputs.vsix }}
- name: Close Release
if: github.event.release.prerelease == false
uses: ./gitreleasemanager/close
with:
token: ${{ secrets.RELEASE_GITHUB_TOKEN }}
owner: ${{ github.repository_owner }}
repository: actions
milestone: "v${{ steps.gitversion.outputs.majorMinorPatch }}"
- name: Get tags
if: github.event.release.prerelease == false
id: get-tags
shell: pwsh
run: |
Expand Down

0 comments on commit 5aa753a

Please sign in to comment.