Skip to content

Conversation

@ezhang6811
Copy link
Contributor

@ezhang6811 ezhang6811 commented Sep 24, 2025

Issue #, if available:

Description of changes:
Add a workflow nightly-build.yml with following actions:

  • creates or checks out existing nightly-dependency-updates branch
  • checks for newest versions of dependencies in opentelemetry-js (core packages, experimental packages, api, and semconv) and opentelemetry-js-contrib (independently versioned packages), bumps versions if applicable, and creates/updates PR
  • search for releases with breaking changes in release notes, and links in the PR
  • runs main build checks on the branch, publishes a failure metric based on the outcome.

Example nightly build PR: #273

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@ezhang6811 ezhang6811 requested a review from a team as a code owner September 24, 2025 01:30
@ezhang6811 ezhang6811 added the skip changelog doesn't need a CHANGELOG entry label Sep 24, 2025
workflow_dispatch:
push:
branches:
- zhaez/nightly-build
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will remove after testing finalized

Copy link
Contributor

@thpierce thpierce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only reviewed .github/workflows

needs: [ build, application-signals-e2e-test ]
runs-on: ubuntu-latest
if: always()
if: always() && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/'))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if: always() && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/'))
if: always() && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/v'))

Comment on lines +8 to +10
push:
branches:
- zhaez/nightly-build
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove

Comment on lines +48 to +50
- name: Check for breaking changes
id: breaking_changes
run: node scripts/find_breaking_changes.js
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why no env?

Comment on lines +52 to +55
- name: Configure git and create branch
run: |
git config --local user.name "github-actions"
git config --local user.email "github-actions@github.com"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please keep consistent across lang.

Suggested change
- name: Configure git and create branch
run: |
git config --local user.name "github-actions"
git config --local user.email "github-actions@github.com"
- name: Setup Git
run: |
git config user.name "github-actions"
git config user.email "github-actions@github.com"

Comment on lines +159 to +169
publish-nightly-build-status:
name: "Publish Nightly Build Status"
needs: [update-dependencies, build-and-test, create-pr]
runs-on: ubuntu-latest
if: always()
steps:
- name: Configure AWS Credentials for emitting metrics
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 #v5.0.0
with:
role-to-assume: ${{ secrets.MONITORING_ROLE_ARN }}
aws-region: ${{ env.AWS_DEFAULT_REGION}}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
publish-nightly-build-status:
name: "Publish Nightly Build Status"
needs: [update-dependencies, build-and-test, create-pr]
runs-on: ubuntu-latest
if: always()
steps:
- name: Configure AWS Credentials for emitting metrics
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 #v5.0.0
with:
role-to-assume: ${{ secrets.MONITORING_ROLE_ARN }}
aws-region: ${{ env.AWS_DEFAULT_REGION}}
publish-nightly-build-status:
name: "Publish Nightly Build Status"
needs: [ update-dependencies, build-and-test, create-pr ]
runs-on: ubuntu-latest
if: always()
steps:
- name: Configure AWS Credentials for emitting metrics
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 #5.0.0
with:
role-to-assume: ${{ secrets.MONITORING_ROLE_ARN }}
aws-region: ${{ env.AWS_DEFAULT_REGION }}

echo "has_changes=true" >> $GITHUB_OUTPUT
git add .
git commit -m "chore: update OpenTelemetry dependencies to latest versions"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why latest versions?

Comment on lines +75 to +76
- name: Install dependencies
run: npm install
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip changelog doesn't need a CHANGELOG entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants