mirror of
				https://github.com/XRPLF/clio.git
				synced 2025-11-04 03:45:50 +00:00 
			
		
		
		
	ci: Release nightly with date (#2731)
This commit is contained in:
		
							
								
								
									
										17
									
								
								.github/workflows/nightly.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.github/workflows/nightly.yml
									
									
									
									
										vendored
									
									
								
							@@ -93,14 +93,25 @@ jobs:
 | 
			
		||||
      targets: all
 | 
			
		||||
      analyze_build_time: true
 | 
			
		||||
 | 
			
		||||
  get_date:
 | 
			
		||||
    name: Get Date
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    outputs:
 | 
			
		||||
      date: ${{ steps.get_date.outputs.date }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Get current date
 | 
			
		||||
        id: get_date
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT
 | 
			
		||||
 | 
			
		||||
  nightly_release:
 | 
			
		||||
    needs: build-and-test
 | 
			
		||||
    needs: [build-and-test, get_date]
 | 
			
		||||
    uses: ./.github/workflows/reusable-release.yml
 | 
			
		||||
    with:
 | 
			
		||||
      overwrite_release: true
 | 
			
		||||
      delete_pattern: "nightly-*"
 | 
			
		||||
      prerelease: true
 | 
			
		||||
      title: "Clio development (nightly) build"
 | 
			
		||||
      version: nightly
 | 
			
		||||
      version: nightly-${{ needs.get_date.outputs.date }}
 | 
			
		||||
      header: >
 | 
			
		||||
        > **Note:** Please remember that this is a development release and it is not recommended for production use.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							@@ -49,7 +49,7 @@ jobs:
 | 
			
		||||
    needs: build-and-test
 | 
			
		||||
    uses: ./.github/workflows/reusable-release.yml
 | 
			
		||||
    with:
 | 
			
		||||
      overwrite_release: false
 | 
			
		||||
      delete_pattern: ""
 | 
			
		||||
      prerelease: ${{ contains(github.ref_name, '-') }}
 | 
			
		||||
      title: "${{ github.ref_name }}"
 | 
			
		||||
      version: "${{ github.ref_name }}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								.github/workflows/reusable-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								.github/workflows/reusable-release.yml
									
									
									
									
										vendored
									
									
								
							@@ -3,10 +3,10 @@ name: Make release
 | 
			
		||||
on:
 | 
			
		||||
  workflow_call:
 | 
			
		||||
    inputs:
 | 
			
		||||
      overwrite_release:
 | 
			
		||||
        description: "Overwrite the current release and tag"
 | 
			
		||||
      delete_pattern:
 | 
			
		||||
        description: "Pattern to delete previous releases"
 | 
			
		||||
        required: true
 | 
			
		||||
        type: boolean
 | 
			
		||||
        type: string
 | 
			
		||||
 | 
			
		||||
      prerelease:
 | 
			
		||||
        description: "Create a prerelease"
 | 
			
		||||
@@ -94,14 +94,19 @@ jobs:
 | 
			
		||||
          name: release_notes_${{ inputs.version }}
 | 
			
		||||
          path: "${RUNNER_TEMP}/release_notes.md"
 | 
			
		||||
 | 
			
		||||
      - name: Remove current release and tag
 | 
			
		||||
        if: ${{ github.event_name != 'pull_request' && inputs.overwrite_release }}
 | 
			
		||||
      - name: Remove previous release with a pattern
 | 
			
		||||
        if: ${{ github.event_name != 'pull_request' && inputs.delete_pattern != '' }}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        env:
 | 
			
		||||
          RELEASE_VERSION: ${{ inputs.version }}
 | 
			
		||||
          DELETE_PATTERN: ${{ inputs.delete_pattern }}
 | 
			
		||||
        run: |
 | 
			
		||||
          gh release delete "${RELEASE_VERSION}" --yes || true
 | 
			
		||||
          git push origin :"${RELEASE_VERSION}" || true
 | 
			
		||||
          RELEASES_TO_DELETE=$(gh release list --limit 50 --repo "${GH_REPO}" | grep -E "${DELETE_PATTERN}" | awk -F'\t' '{print $3}' || true)
 | 
			
		||||
          if [ -n "$RELEASES_TO_DELETE" ]; then
 | 
			
		||||
            for RELEASE in $RELEASES_TO_DELETE; do
 | 
			
		||||
              echo "Deleting release: $RELEASE"
 | 
			
		||||
              gh release delete "$RELEASE" --repo "${GH_REPO}" --yes --cleanup-tag
 | 
			
		||||
            done
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
      - name: Publish release
 | 
			
		||||
        if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user