-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Ruben Vargas <[email protected]>
- Loading branch information
1 parent
2f1ffba
commit c77f936
Showing
2 changed files
with
106 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
name: Reusable - Create operator hub pull request | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
org: | ||
type: string | ||
required: true | ||
repo: | ||
type: string | ||
required: true | ||
|
||
jobs: | ||
create-operator-pull-request: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Generate token | ||
id: generate_token | ||
uses: tibdex/github-app-token@v1 | ||
with: | ||
app_id: ${{ secrets.APP_ID }} | ||
private_key: ${{ secrets.PRIVATE_KEY }} | ||
- name: Set version as env variable | ||
env: | ||
TAG: ${{ github.ref_name }} | ||
run: | | ||
echo $TAG | ||
TAG=${TAG:1} # remove v (prefix) | ||
echo version=${TAG} >> $GITHUB_ENV # update GitHub ENV vars | ||
- name: Sync fork | ||
env: | ||
GH_TOKEN: ${{ steps.generate_token.outputs.token }} | ||
run: | | ||
# synchronizing the fork is fast, and avoids the need to fetch the full upstream repo | ||
# (fetching the upstream repo with "--depth 1" would lead to "shallow update not allowed" | ||
# error when pushing back to the origin repo) | ||
gh repo sync grafana/${{ inputs.repo }} \ | ||
--source ${{ inputs.org }}/${{ inputs.repo }} \ | ||
--force | ||
- name: Checkout operatorhub repo | ||
uses: actions/checkout@v3 | ||
with: | ||
repository: grafana/${{ inputs.repo }} | ||
token: ${{ steps.generate_token.outputs.token }} | ||
|
||
- name: Checkout tempo-operator to tmp/ directory | ||
uses: actions/checkout@v3 | ||
with: | ||
repository: grafana/tempo-operator | ||
token: ${{ steps.generate_token.outputs.token }} | ||
path: tmp/ | ||
|
||
- name: Update version | ||
env: | ||
VERSION: ${{ env.version }} | ||
run: | | ||
mkdir operators/tempo-operator/${VERSION} | ||
cp -R ./tmp/bundle/* operators/tempo-operator/${VERSION} | ||
rm -rf ./tmp | ||
- name: Use CLA approved github bot | ||
run: | | ||
git config user.name tempobot | ||
git config user.email [email protected] | ||
- name: Create pull request against ${{ inputs.org }}/${{ inputs.repo }} | ||
env: | ||
VERSION: ${{ env.version }} | ||
GH_TOKEN: ${{ steps.generate_token.outputs.token }} | ||
run: | | ||
message="Update the tempo to $VERSION" | ||
body="Release tempo-operator \`$VERSION\`. | ||
cc @pavolloffay @frzifus @andreasgerstmayr @rubenvp8510 @iblancasa | ||
" | ||
branch="update-tempo-operator-to-${VERSION}" | ||
# gh pr create doesn't have a way to explicitly specify different head and base | ||
# repositories currently, but it will implicitly pick up the head from a different | ||
# repository if you set up a tracking branch | ||
git checkout -b $branch | ||
git add -A | ||
git commit -s -m "$message" | ||
git push -f --set-upstream origin $branch | ||
gh pr create --title "$message" \ | ||
--body "$body" \ | ||
--repo ${{ inputs.org }}/${{ inputs.repo }} \ | ||
--base main |