70 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Release Workflow
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    tags:
 | 
						|
      - 'v*'
 | 
						|
 | 
						|
jobs:
 | 
						|
  route:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    outputs:
 | 
						|
      provider: ${{ steps.provider.outputs.provider }}
 | 
						|
      gitea_ref_name: ${{ steps.provider.outputs.gitea_ref_name }}
 | 
						|
      gitea_server_url: ${{ steps.provider.outputs.gitea_server_url }}
 | 
						|
      gitea_repository: ${{ steps.provider.outputs.gitea_repository }}
 | 
						|
    steps:
 | 
						|
      - name: Checkout Repository
 | 
						|
        uses: actions/checkout@v3
 | 
						|
 | 
						|
      - name: Debug Environment
 | 
						|
        run: |
 | 
						|
          echo "CI Environment Details:"
 | 
						|
          echo "GITHUB_ACTIONS=${GITHUB_ACTIONS:-not set}"
 | 
						|
          echo "GITEA_ACTIONS=${GITEA_ACTIONS:-not set}"
 | 
						|
          echo "GITEA_REPOSITORY=${GITEA_REPOSITORY:-not set}"
 | 
						|
          echo "GITEA_SERVER_URL=${GITEA_SERVER_URL:-not set}"
 | 
						|
          echo "RUNNER_NAME=${RUNNER_NAME:-not set}"
 | 
						|
 | 
						|
      - name: Determine CI Provider
 | 
						|
        id: provider
 | 
						|
        shell: bash
 | 
						|
        run: |
 | 
						|
          if [ -n "${GITEA_ACTIONS}" ] || [ -n "${GITEA_REPOSITORY}" ] || [[ "${RUNNER_NAME}" == *"gitea"* ]]; then
 | 
						|
            echo "provider=gitea" >> "$GITHUB_OUTPUT"
 | 
						|
            echo "gitea_ref_name=${GITHUB_REF_NAME}" >> "$GITHUB_OUTPUT"
 | 
						|
            echo "gitea_server_url=${GITHUB_SERVER_URL}" >> "$GITHUB_OUTPUT"
 | 
						|
            echo "gitea_repository=${GITHUB_REPOSITORY}" >> "$GITHUB_OUTPUT"
 | 
						|
          elif [ "${GITHUB_ACTIONS}" = "true" ]; then
 | 
						|
            echo "provider=github" >> "$GITHUB_OUTPUT"
 | 
						|
          else
 | 
						|
            echo "provider=unknown" >> "$GITHUB_OUTPUT"
 | 
						|
          fi
 | 
						|
 | 
						|
  verify-provider:
 | 
						|
    needs: route
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - name: Echo detected provider
 | 
						|
        run: |
 | 
						|
          echo "Detected CI Provider: ${{ needs.route.outputs.provider }}"
 | 
						|
          if [ "${{ needs.route.outputs.provider }}" = "unknown" ]; then
 | 
						|
            echo "::error::Failed to detect CI provider!"
 | 
						|
            exit 1
 | 
						|
          fi
 | 
						|
 | 
						|
  github-release:
 | 
						|
    needs: [route, verify-provider]
 | 
						|
    if: needs.route.outputs.provider == 'github'
 | 
						|
    uses: ./.github/workflows/providers/github-release.yml
 | 
						|
 | 
						|
  gitea-release:
 | 
						|
    needs: [route, verify-provider]
 | 
						|
    if: needs.route.outputs.provider == 'gitea'
 | 
						|
    uses: ./.github/workflows/providers/gitea-release.yml
 | 
						|
    with:
 | 
						|
      gitea_ref_name: ${{ needs.route.outputs.gitea_ref_name }}
 | 
						|
      gitea_server_url: ${{ needs.route.outputs.gitea_server_url }}
 | 
						|
      gitea_repository: ${{ needs.route.outputs.gitea_repository }}
 | 
						|
    secrets:
 | 
						|
      GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} |