feat: Replace Contact Support with GitHub issue in OSS (#853) #267
This file contains hidden or 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
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 | |
} | |
}); |