Skip to content

Commit

Permalink
Add daily semconv check
Browse files Browse the repository at this point in the history
  • Loading branch information
trask committed Jan 18, 2025
1 parent d4994c1 commit 98efc9d
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/build-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ on:
description: Regex of submodule paths to update to HEAD before building.
default: content-modules
type: string
workflow_call:
inputs:
submodule_path_regex:
type: string
required: true

jobs:
build-and-test:
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/build-semconv-daily.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Build Semantic Conventions (daily)

on:
schedule:
# daily at 10:24 UTC
- cron: "24 10 * * *"
workflow_dispatch:

jobs:
build-dev:
uses: ./.github/workflows/build-dev.yml
with:
submodule_path_regex: semantic-conventions

workflow-notification:
needs:
- build-dev
if: always()
uses: ./.github/workflows/reusable-workflow-notification.yml
with:
success: ${{ needs.build-dev.result == 'success' }}
repo: open-telemetry/semantic-conventions
55 changes: 55 additions & 0 deletions .github/workflows/reusable-workflow-notification.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# this is useful because notifications for scheduled workflows are only sent to the user who
# initially created the given workflow
name: Reusable - Workflow notification

on:
workflow_call:
inputs:
success:
type: boolean
required: true
repo:
type: string
required: false

jobs:
workflow-notification:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Open issue or add comment if issue already open
env:
# need to use opentelemetrybot for opening issues in other repos
GH_TOKEN: ${{ inputs.repo && secrets.OPENTELEMETRYBOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
run: |
if [ -z "${{ inputs.repo }}" ]; then
repo="$GITHUB_REPOSITORY"
title="Workflow failed: $GITHUB_WORKFLOW"
body="See [$GITHUB_WORKFLOW #$GITHUB_RUN_NUMBER](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)."
else
repo="${{ inputs.repo }}"
title="Workflow failed: $GITHUB_REPOSITORY $GITHUB_WORKFLOW"
body="See [$GITHUB_REPOSITORY $GITHUB_WORKFLOW #$GITHUB_RUN_NUMBER](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)."
fi
# TODO (trask) search doesn't support exact phrases, so it's possible that this could grab the wrong issue
number=$(gh issue list --repo $repo --search "in:title $title" --limit 1 --json number -q .[].number)
echo $number
echo ${{ inputs.success }}
if [[ $number ]]; then
if [[ "${{ inputs.success }}" == "true" ]]; then
gh issue close $number \
--repo $repo
else
gh issue comment $number \
--repo $repo \
--body "$body"
fi
elif [[ "${{ inputs.success }}" == "false" ]]; then
gh issue create --repo $repo \
--title "$title (#$GITHUB_RUN_NUMBER)" \
--body "$body"
fi

0 comments on commit 98efc9d

Please sign in to comment.