45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			45 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
 | |
|     timeout-minutes: 10
 | |
|     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 [ -n "$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
 | |
|           fi          
 |