ci(release): attach changelog to release instead of committing to mai… #34
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: release | |
on: | |
push: | |
tags: ["v[0-9].[0-9]+.[0-9]+"] | |
permissions: | |
contents: write | |
jobs: | |
build_foxe: | |
name: build_foxe | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "16" | |
- name: Install dependencies | |
run: npm install | |
- name: Package | |
run: npm run package | |
- name: Extract version | |
id: extract_version | |
run: | | |
version=$(node -p "require('./package.json').version") | |
echo "version=$version" >> $GITHUB_ENV | |
- name: Update changelog file | |
if: ${{ startsWith(github.ref, 'refs/tags/v') }} | |
run: | | |
yarn commitizen init cz-conventional-changelog --save-dev --force --save-exact | |
HEADER=$(awk '/^---/{exit} {print}' CHANGELOG.md) | |
yarn conventional-changelog -p angular -o TEMP.md -r o | |
echo "$HEADER" > CHANGELOG.md | |
echo "" >> CHANGELOG.md | |
cat TEMP.md >> CHANGELOG.md | |
rm TEMP.md | |
- name: Commit changelog changes | |
run: | | |
git config user.name "github-actions[bot]" | |
git config user.email "github-actions[bot]@users.noreply.github.com" | |
git add CHANGELOG.md | |
git commit -m "chore: update changelog for $GITHUB_REF" | |
- name: Create a Pull Request | |
uses: peter-evans/create-pull-request@v5 | |
with: | |
branch: update-changelog | |
commit-message: "chore: update changelog" | |
title: "Update Changelog" | |
body: "This pull request updates the changelog with the latest changes." | |
base: main | |
- name: Create GitHub Release | |
if: ${{ startsWith(github.ref, 'refs/tags/v') }} | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: ASAM OSI Converter ${{ env.version }} | |
draft: false | |
prerelease: false | |
- name: Upload Release Asset | |
if: ${{ startsWith(github.ref, 'refs/tags/v') }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: lichtblick.asam-osi-converter-${{ env.version }}.foxe | |
asset_name: lichtblick.asam-osi-converter-${{ env.version }}.foxe | |
asset_content_type: application/octet-stream | |
- name: Upload Changelog | |
if: ${{ startsWith(github.ref, 'refs/tags/v') }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./CHANGELOG.md | |
asset_name: CHANGELOG.md | |
asset_content_type: text/markdown |