9 # The regex support here is limited, so just match everything that starts with llvmorg- and filter later.
15 runs-on: ubuntu-latest
16 if: github.repository == 'llvm/llvm-project'
18 release-version: ${{ steps.validate-tag.outputs.release-version }}
23 echo "${{ github.ref_name }}" | grep -e '^llvmorg-[0-9]\+\.[0-9]\+\.[0-9]\+\(-rc[0-9]\+\)\?$'
24 release_version=$(echo "${{ github.ref_name }}" | sed 's/llvmorg-//g')
25 echo "release-version=$release_version" >> "$GITHUB_OUTPUT"
28 name: Create a New Release
29 runs-on: ubuntu-latest
31 contents: write # For creating the release.
35 - name: Install Dependencies
38 sudo apt-get install python3-github
41 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
43 - name: Create Release
45 GITHUB_TOKEN: ${{ github.token }}
46 USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
48 ./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --release ${{ needs.validate-tag.outputs.release-version }} --user ${{ github.actor }} --user-token "$USER_TOKEN" create
49 release-documentation:
50 name: Build and Upload Release Documentation
53 uses: ./.github/workflows/release-documentation.yml
55 release-version: ${{ needs.validate-tag.outputs.release-version }}
59 name: Build and Upload Release Doxygen
65 uses: ./.github/workflows/release-doxygen.yml
67 release-version: ${{ needs.validate-tag.outputs.release-version }}
69 # Called workflows don't have access to secrets by default, so we need to explicitly pass secrets that we use.
71 RELEASE_TASKS_USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
76 uses: ./.github/workflows/release-lit.yml
78 release-version: ${{ needs.validate-tag.outputs.release-version }}
79 # Called workflows don't have access to secrets by default, so we need to explicitly pass secrets that we use.
81 RELEASE_TASKS_USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
84 name: Build Release Binaries
101 uses: ./.github/workflows/release-binaries.yml
103 release-version: ${{ needs.validate-tag.outputs.release-version }}
105 runs-on: ${{ matrix.runs-on }}
106 # Called workflows don't have access to secrets by default, so we need to explicitly pass secrets that we use.
108 RELEASE_TASKS_USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
111 name: Package Release Sources
118 uses: ./.github/workflows/release-sources.yml
120 release-version: ${{ needs.validate-tag.outputs.release-version }}
121 # Called workflows don't have access to secrets by default, so we need to explicitly pass secrets that we use.
123 RELEASE_TASKS_USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}