iconoir/.github/workflows/release.yaml
2023-10-29 01:44:52 +02:00

76 lines
2 KiB
YAML

name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
name: Release
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
# We have to checkout main or PNPM fails. Tag should be on main anyway.
ref: main
- name: Setup
uses: ./.github/actions/setup
with:
node-registry: https://registry.npmjs.org
- name: Generate changelog file
uses: rhysd/changelog-from-release/action@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
file: packages/iconoir-flutter/CHANGELOG.md
commit: false
args: -d=false
- name: Build
run: pnpm run build
- name: Prepare packages
run: pnpm run prepublish-all
env:
TAG_NAME: ${{ github.ref_name }}
- name: Commit release
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Release Version ${{ github.ref_name }}
branch: main
- name: Update tag
run: |
git -c user.email="actions@github.com" -c user.name="GitHub Actions" tag -fa ${{ github.ref_name }} -m "${{ github.ref_name }}"
git push -f origin ${{ github.ref_name }}
- name: Publish packages
run: pnpm -r publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_CONFIG_PROVENANCE: true
continue-on-error: true
- name: Publish Flutter
uses: k-paxian/dart-package-publisher@v1.6
with:
credentialJson: ${{ secrets.PUB_CREDENTIAL_JSON }}
relativePath: ./packages/iconoir-flutter
- name: Trigger Website Workflow
uses: actions/github-script@v6
with:
script: |
github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'website.yaml',
ref: 'main',
})