44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
| name: Publish to pub.dev
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     tags: 
 | |
|     - v[0-9]+.[0-9]+.[0-9]+
 | |
| 
 | |
| # Publish using the reusable workflow from dart-lang.
 | |
| jobs:
 | |
|   publish:
 | |
|     permissions:
 | |
|       contents: read
 | |
|       id-token: write
 | |
|     uses: famedly/frontend-ci-templates/.github/workflows/publish-pub.yml@main
 | |
|     with:
 | |
|       env_file: ".github/workflows/versions.env"
 | |
| 
 | |
|   create_gh_release:
 | |
|     env:
 | |
|       GH_TOKEN: ${{ github.token }}
 | |
|     needs: [publish]
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@v4
 | |
|       - name: Create release
 | |
|         run: |
 | |
|           version=$(echo ${{ github.ref_name }} | sed 's/^v//')
 | |
|           releaseRegex="^v[0-9]+\.[0-9]+\.[0-9]+$"
 | |
|           releaseCandidateRegex="^v[0-9]+\.[0-9]+\.[0-9]+rc[0-9]+$"
 | |
|           notes="$(./scripts/extract_changelog.sh $version)"
 | |
|           if [ -z $notes ]; then
 | |
|             if [[ ${{ github.ref_name }} =~ $releaseRegex ]]; then
 | |
|               gh release create ${{ github.ref_name }} --notes $notes -t ${{ github.ref_name }} --verify-tag
 | |
|             elif [[ ${{ github.ref_name }} =~ $releaseCandidateRegex ]]; then
 | |
|               gh release create ${{ github.ref_name }} --notes $notes --prerelease -t ${{ github.ref_name }} --verify-tag
 | |
|             fi
 | |
|           else
 | |
|             if [[ ${{ github.ref_name }} =~ $releaseRegex ]]; then
 | |
|               gh release create ${{ github.ref_name }} --generate-notes -t ${{ github.ref_name }} --verify-tag
 | |
|             elif [[ ${{ github.ref_name }} =~ $releaseCandidateRegex ]]; then
 | |
|               gh release create ${{ github.ref_name }} --generate-notes --prerelease -t ${{ github.ref_name }} --verify-tag
 | |
|             fi          
 | |
| 
 |