Add style guide and basic contribution section #2552
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
name: PR actions | |
on: | |
issue_comment: | |
types: [created] | |
env: | |
COMMENT: ${{ github.event.comment.body }} | |
PR_NUM: ${{ github.event.issue.number }} | |
USER_EMAIL: [email protected] | |
USER_NAME: opentelemetrybot | |
jobs: | |
fix-format: | |
name: /fix:format | |
runs-on: ubuntu-latest | |
if: | | |
github.event.issue.pull_request && | |
contains(github.event.comment.body, '/fix:format') | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- name: Context info | |
run: | | |
echo $PR_NUM | |
echo $COMMENT | |
- uses: actions/checkout@v4 | |
- name: Write start comment | |
run: | | |
gh pr comment $PR_NUM -b "You triggered fix:format action run at $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" | |
env: | |
GH_TOKEN: ${{ github.token }} | |
- run: gh pr checkout $PR_NUM -b "pr-action-${RANDOM}" | |
env: | |
GH_TOKEN: ${{ github.token }} | |
- name: Create NPM cache-hash input file | |
run: | | |
mkdir -p tmp | |
jq '{devDependencies, dependencies, engines, gitHubActionCacheKey}' package.json > tmp/package-ci.json | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: .nvmrc | |
cache: npm | |
cache-dependency-path: tmp/package-ci.json | |
- run: | | |
npm run format | |
git status | |
git branch -v | |
- name: Commit and push changes, if any | |
run: | | |
git config --local user.email "$USER_EMAIL" | |
git config --local user.name "$USER_NAME" | |
if [[ $(git status --porcelain) ]]; then | |
git add -A | |
current_branch=$(git rev-parse --abbrev-ref HEAD) | |
echo current_branch=$current_branch | |
# gh pr checkout sets some git configs that we can use to make sure | |
# we push to the right repo & to the right branch | |
remote_repo=$(git config --get branch.${current_branch}.remote) | |
echo remote_repo=$remote_repo | |
remote_branch=$(git config --get branch.${current_branch}.merge) | |
echo remote_branch=$remote_branch | |
git commit -m 'Results from /fix:format' | |
git push ${remote_repo} HEAD:${remote_branch} | |
else | |
echo "No changes to commit" | |
fi | |
env: | |
GH_TOKEN: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }} | |
- name: Report an error in the case of failure | |
if: ${{ failure() || cancelled() }} | |
run: | | |
gh pr comment $PR_NUM -b "fix:format run failed, please check $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID for details" | |
env: | |
GH_TOKEN: ${{ github.token }} | |
fix-refcache: | |
name: /fix:refcache | |
runs-on: ubuntu-latest | |
if: | | |
github.event.issue.pull_request && | |
contains(github.event.comment.body, '/fix:refcache') | |
permissions: | |
contents: write | |
pull-requests: write | |
env: | |
DEPTH: --depth 100 # submodule clone depth | |
steps: | |
- name: Context info | |
run: | | |
echo $PR_NUM | |
echo $COMMENT | |
- uses: actions/checkout@v4 | |
- name: Write start comment | |
run: | | |
gh pr comment $PR_NUM -b "You triggered fix:refcache action run at $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" | |
env: | |
GH_TOKEN: ${{ github.token }} | |
# By providing a branch name the checkout will not break if a branch with the | |
# same name exists already upstream (e.g. patch-X) | |
- run: gh pr checkout $PR_NUM -b "pr-action-${RANDOM}" | |
env: | |
GH_TOKEN: ${{ github.token }} | |
- name: Create NPM cache-hash input file | |
run: | | |
mkdir -p tmp | |
jq '{devDependencies, dependencies, engines, gitHubActionCacheKey}' package.json > tmp/package-ci.json | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: .nvmrc | |
cache: npm | |
cache-dependency-path: tmp/package-ci.json | |
- run: npm install --omit=optional | |
- run: | | |
npm run check:links | |
git status | |
git branch -v | |
- name: Commit and push changes, if any | |
run: | | |
git config --local user.email "$USER_EMAIL" | |
git config --local user.name "$USER_NAME" | |
if [[ $(git status --porcelain) ]]; then | |
git add -A | |
current_branch=$(git rev-parse --abbrev-ref HEAD) | |
echo current_branch=$current_branch | |
# gh pr checkout sets some git configs that we can use to make sure | |
# we push to the right repo & to the right branch | |
remote_repo=$(git config --get branch.${current_branch}.remote) | |
echo remote_repo=$remote_repo | |
remote_branch=$(git config --get branch.${current_branch}.merge) | |
echo remote_branch=$remote_branch | |
git commit -m 'Results from /fix:refcache' | |
git push ${remote_repo} HEAD:${remote_branch} | |
else | |
echo "No changes to commit" | |
fi | |
env: | |
GH_TOKEN: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }} | |
- name: Report an error in the case of failure | |
if: ${{ failure() || cancelled() }} | |
run: | | |
gh pr comment $PR_NUM -b "fix:recache run failed, please check $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID for details" | |
env: | |
GH_TOKEN: ${{ github.token }} |