Skip to content

linux builds

linux builds #5

Workflow file for this run

name: linux builds
on:
workflow_dispatch:
inputs:
tag_name:
description: 'Tag name for release'
required: false
default: release
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
NEXT_PUBLIC_POSTHOG_API_KEY: ${{ secrets.NEXT_PUBLIC_POSTHOG_API_KEY }}
jobs:
tagname:
runs-on: ubuntu-latest
outputs:
tag_name: ${{ steps.set_tag.outputs.tag }}
steps:
- name: Set Tag Name
id: set_tag
run: echo "tag=${{ github.event.inputs.tag_name }}" >> $GITHUB_OUTPUT
linux:
runs-on: ubuntu-latest
container: node:22.11.0
needs: tagname
env:
RELEASE_TAG_NAME: ${{ needs.tagname.outputs.tag_name }}
DEBIAN_FRONTEND: noninteractive
steps:
- uses: actions/checkout@v4
- name: Fetch dependencies
run: npm i --legacy-peer-deps
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Python and build tools
run: |
apt-get update && apt-get install -y python3 python3-venv python3-dev build-essential
python3 -m venv venv
./venv/bin/pip install --upgrade pip
./venv/bin/pip install setuptools wheel
shell: bash
- name: Rebuild Native Modules for Electron
run: |
npx electron-rebuild --force --version 33.2.0
shell: bash
- name: Build packages
run: |
./venv/bin/pip install --upgrade pip
./venv/bin/pip install setuptools wheel
npm run build:graphql-docs
npm run build:bruno-query
npm run build:bruno-common
npm run sandbox:bundle-libraries --workspace=packages/bruno-js
npm run build:web
shell: bash
- name: Build app
run: |
npm run build:electron:deb
npm run build:electron:linux
shell: bash
- uses: actions/upload-artifact@v4
with:
name: build-linux
path: |
./packages/bruno-electron/out/bruno_*
retention-days: 1
publish:
needs: [tagname, linux]
runs-on: ubuntu-latest
env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
- run: |
TAG_NAME=${{ needs.tagname.outputs.tag_name }}
gh release create "$TAG_NAME" build-linux/*
shell: bash