mirror of
https://github.com/hyperdxio/hyperdx
synced 2026-04-21 13:37:15 +00:00
since aio would need more spaces (from 25GB free to 46GB) error ref: https://github.com/hyperdxio/hyperdx/actions/runs/15283422240/job/42987754223
131 lines
4.2 KiB
YAML
131 lines
4.2 KiB
YAML
name: Release
|
|
on:
|
|
push:
|
|
branches: [v2]
|
|
concurrency: ${{ github.workflow }}-${{ github.ref }}
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
pull-requests: write
|
|
jobs:
|
|
check_changesets:
|
|
name: Check Changesets
|
|
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
|
|
if: always()
|
|
continue-on-error: true
|
|
id: changesets
|
|
uses: changesets/action@v1
|
|
with:
|
|
commit: 'chore(release): bump HyperDX app/package versions'
|
|
title: 'Release HyperDX'
|
|
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: check_changesets
|
|
runs-on: ubuntu-24.04
|
|
strategy:
|
|
matrix:
|
|
release:
|
|
- release-all-in-one
|
|
- release-app
|
|
- release-local
|
|
- release-otel-collector
|
|
steps:
|
|
- name: Free Disk Space (Ubuntu)
|
|
uses: jlumbroso/free-disk-space@main
|
|
with:
|
|
# this might remove tools that are actually needed,
|
|
# if set to "true" but frees about 6 GB
|
|
tool-cache: false
|
|
docker-images: false
|
|
|
|
# all of these default to true, but feel free to set to
|
|
# "false" if necessary for your workflow
|
|
android: true
|
|
dotnet: true
|
|
haskell: true
|
|
large-packages: true
|
|
swap-storage: true
|
|
- 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.check_changesets.outputs.changeset_outputs_hasChangesets ==
|
|
'false'
|
|
run: make ${{ matrix.release }}
|
|
notify_downstream:
|
|
name: Notify Downstream
|
|
needs: [check_changesets, release]
|
|
runs-on: ubuntu-24.04
|
|
if:
|
|
needs.check_changesets.outputs.changeset_outputs_hasChangesets == 'false'
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Load Environment Variables from .env
|
|
uses: xom9ikk/dotenv@v2
|
|
- 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 }}
|
|
owner: ${{ secrets.DOWNSTREAM_CH_OWNER }}
|
|
- name: Notify Downstream
|
|
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
|
|
}
|
|
});
|