feat: Add visibility handling to allow proactive event flushing. (#607) #392
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
on: | |
push: | |
branches: | |
- main | |
name: release-please | |
jobs: | |
release-please: | |
runs-on: ubuntu-latest | |
outputs: | |
package-common-released: ${{ steps.release.outputs['packages/shared/common--release_created'] }} | |
package-sdk-client-released: ${{ steps.release.outputs['packages/shared/sdk-client--release_created'] }} | |
package-sdk-server-released: ${{ steps.release.outputs['packages/shared/sdk-server--release_created'] }} | |
package-sdk-server-edge-released: ${{ steps.release.outputs['packages/shared/sdk-server-edge--release_created'] }} | |
package-akamai-edgeworker-sdk-released: ${{ steps.release.outputs['packages/shared/akamai-edgeworker-sdk--release_created'] }} | |
package-cloudflare-released: ${{ steps.release.outputs['packages/sdk/cloudflare--release_created'] }} | |
package-react-native-released: ${{ steps.release.outputs['packages/sdk/react-native--release_created'] }} | |
package-server-node-released: ${{ steps.release.outputs['packages/sdk/server-node--release_created'] }} | |
package-vercel-released: ${{ steps.release.outputs['packages/sdk/vercel--release_created'] }} | |
package-akamai-base-released: ${{ steps.release.outputs['packages/sdk/akamai-base--release_created'] }} | |
package-akamai-edgekv-released: ${{ steps.release.outputs['packages/sdk/akamai-edgekv--release_created'] }} | |
package-node-server-sdk-redis-release: ${{ steps.release.outputs['packages/store/node-server-sdk-redis--release_created'] }} | |
package-node-server-sdk-dynamodb-release: ${{ steps.release.outputs['packages/store/node-server-sdk-dynamodb--release_created'] }} | |
package-node-server-sdk-otel-release: ${{ steps.release.outputs['packages/telemetry/node-server-sdk-otel--release_created'] }} | |
package-tooling-jest-release: ${{ steps.release.outputs['packages/tooling/jest--release_created'] }} | |
package-react-universal-release: ${{ steps.release.outputs['packages/sdk/react-universal--release_created'] }} | |
steps: | |
- uses: googleapis/release-please-action@v4 | |
id: release | |
with: | |
token: ${{secrets.GITHUB_TOKEN}} | |
release-common: | |
runs-on: ubuntu-latest | |
needs: ['release-please'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ needs.release-please.outputs.package-common-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-common | |
name: Full release of packages/shared/common | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/shared/common | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-sdk-client: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-common'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-sdk-client-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-sdk-client | |
name: Full release of packages/shared/sdk-client | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/shared/sdk-client | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-sdk-server: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-common'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-sdk-server-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-sdk-server | |
name: Full release of packages/shared/sdk-server | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/shared/sdk-server | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-sdk-server-edge: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-sdk-server'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-sdk-server-edge-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-sdk-server-edge | |
name: Full release of packages/shared/sdk-server-edge | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/shared/sdk-server-edge | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-akamai-edgeworker-sdk: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-sdk-server'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-akamai-edgeworker-sdk-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-akamai-edgeworker-sdk | |
name: Full release of packages/shared/akamai-edgeworker-sdk | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/shared/akamai-edgeworker-sdk | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-cloudflare: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-sdk-server-edge'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-cloudflare-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-cloudflare | |
name: Full release of packages/sdk/cloudflare | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/sdk/cloudflare | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-react-native: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-sdk-client'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-react-native-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-react-native | |
name: Full release of packages/sdk/react-native | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/sdk/react-native | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-server-node: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-sdk-server'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-server-node-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-server-node | |
name: Full release of packages/sdk/server-node | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/sdk/server-node | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-vercel: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-sdk-server-edge'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-vercel-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-vercel | |
name: Full release of packages/sdk/vercel | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/sdk/vercel | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-akamai-base: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-akamai-edgeworker-sdk'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-akamai-base-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-akamai-base | |
name: Full release of packages/sdk/akamai-base | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/sdk/akamai-base | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-akamai-edgekv: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-akamai-edgeworker-sdk'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-akamai-edgekv-released == 'true'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-akamai-edgekv | |
name: Full release of packages/sdk/akamai-edgekv | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/sdk/akamai-edgekv | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-node-server-sdk-redis: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-server-node'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-node-server-sdk-redis-release == 'true' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- run: | | |
sudo apt-get update | |
sudo apt-get install redis-server | |
sudo service redis-server start | |
- id: release-node-server-sdk-redis | |
name: Full release of packages/store/node-server-sdk-redis | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/store/node-server-sdk-redis | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-node-server-sdk-dynamodb: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-server-node'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-node-server-sdk-dynamodb-release == 'true' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- run: | | |
sudo docker run -d -p 8000:8000 amazon/dynamodb-local | |
- id: release-node-server-sdk-dynamodb | |
name: Full release of packages/store/node-server-sdk-dynamodb | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/store/node-server-sdk-dynamodb | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-node-server-sdk-otel: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-server-node'] | |
permissions: | |
id-token: write | |
contents: write | |
if: ${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-node-server-sdk-otel-release == 'true' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-node-server-sdk-otel | |
name: Full release of packages/telemetry/node-server-sdk-otel | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/telemetry/node-server-sdk-otel | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-tooling-jest: | |
runs-on: ubuntu-latest | |
needs: ['release-please'] | |
permissions: | |
id-token: write | |
contents: write | |
# HACK: jest is not ready for release yet. | |
if: false #${{ needs.release-please.outputs.package-tooling-jest-release == 'true' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-tooling-jest | |
name: Full release of packages/tooling/jest | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/tooling/jest | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
release-tooling-react-universal: | |
runs-on: ubuntu-latest | |
needs: ['release-please', 'release-server-node', 'release-sdk-client'] | |
permissions: | |
id-token: write | |
contents: write | |
if: false #${{ always() && !failure() && !cancelled() && needs.release-please.outputs.package-react-universal-release == 'true' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
registry-url: 'https://registry.npmjs.org' | |
- id: release-react-universal-sdk | |
name: Full release of packages/sdk/react-universal | |
uses: ./actions/full-release | |
with: | |
workspace_path: packages/sdk/react-universal | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} |