mirror of
https://github.com/hyperdxio/hyperdx
synced 2026-04-21 13:37:15 +00:00
106 lines
3.4 KiB
YAML
106 lines
3.4 KiB
YAML
name: Release
|
|
on:
|
|
push:
|
|
branches: [v2]
|
|
concurrency: ${{ github.workflow }}-${{ github.ref }}
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
pull-requests: write
|
|
jobs:
|
|
publish_common_utils:
|
|
name: Publish @hyperdx/common-utils
|
|
runs-on: ubuntu-24.04
|
|
outputs:
|
|
changeset_outputs_hasChangesets:
|
|
${{ steps.changesets.outputs.hasChangesets }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
- name: Setup node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
cache-dependency-path: 'yarn.lock'
|
|
cache: 'yarn'
|
|
- name: Install root dependencies
|
|
run: yarn install
|
|
- name: Create Release Pull Request or Publish to npm
|
|
id: changesets
|
|
uses: changesets/action@v1
|
|
with:
|
|
commit: 'chore(release): bump HyperDX app/package versions'
|
|
title: 'chore(release): bump HyperDX app/package versions'
|
|
version: yarn run version
|
|
publish: yarn release
|
|
env:
|
|
YARN_ENABLE_IMMUTABLE_INSTALLS: false
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
release:
|
|
name: Release
|
|
needs: publish_common_utils
|
|
runs-on: ubuntu-24.04
|
|
strategy:
|
|
matrix:
|
|
release:
|
|
- release-app
|
|
- release-otel-collector
|
|
- release-local
|
|
- release-local-ui
|
|
# - release-extended-app
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
|
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
- name: Login to GitHub Container Registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Load Environment Variables from .env
|
|
uses: xom9ikk/dotenv@v2
|
|
- name: Publish Images
|
|
if:
|
|
needs.publish_common_utils.outputs.changeset_outputs_hasChangesets ==
|
|
'false'
|
|
run: make ${{ matrix.release }}
|
|
- name: Get Downstream App Installation Token
|
|
id: auth
|
|
uses: actions/create-github-app-token@v2
|
|
with:
|
|
app-id: ${{ secrets.DOWNSTREAM_CH_APP_ID }}
|
|
private-key: ${{ secrets.DOWNSTREAM_CH_APP_PRIVATE_KEY }}
|
|
- name: Notify Downstream
|
|
if:
|
|
needs.publish_common_utils.outputs.changeset_outputs_hasChangesets ==
|
|
'false'
|
|
uses: actions/github-script@v7
|
|
env:
|
|
TAG: ${{ env.IMAGE_VERSION }}.${{ env.IMAGE_VERSION_SUB_TAG }}
|
|
with:
|
|
github-token: ${{ steps.auth.outputs.token }}
|
|
script: |
|
|
const { TAG } = process.env;
|
|
const result = await github.rest.actions.createWorkflowDispatch({
|
|
owner: '${{ secrets.DOWNSTREAM_CH_OWNER }}',
|
|
repo: '${{ secrets.DOWNSTREAM_DP_REPO }}',
|
|
workflow_id: '${{ secrets.DOWNSTREAM_DP_WORKFLOW_ID }}',
|
|
ref: 'main',
|
|
inputs: {
|
|
tag: TAG
|
|
}
|
|
});
|