Skip to content

fix: Build openapi-docs package before web build in release scripts #4

fix: Build openapi-docs package before web build in release scripts

fix: Build openapi-docs package before web build in release scripts #4

Workflow file for this run

name: BrunoN Release Build
on:
push:
tags:
- 'v*'
defaults:
run:
shell: bash
jobs:
build-linux:
name: Build Linux Packages
runs-on: ubuntu-latest
permissions:
contents: read
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: actions/setup-node@v5
with:
node-version-file: '.nvmrc'
cache: npm
cache-dependency-path: package-lock.json
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends rpm libarchive-tools libfuse2
- name: Install node dependencies
run: npm ci --legacy-peer-deps
- name: Build shared libraries
run: |
npm run build:graphql-docs
npm run build:bruno-common
npm run build:bruno-query
npm run sandbox:bundle-libraries --workspace=packages/bruno-js
npm run build:bruno-converters
npm run build:bruno-requests
npm run build:bruno-filestore
- name: Build BrunoN Linux packages
run: npm run release:brunon:linux
- name: List artifacts
run: ls -lh packages/bruno-electron/out/
- uses: actions/upload-artifact@v4
with:
name: brunon-linux
path: packages/bruno-electron/out/**
if-no-files-found: error
build-windows:
name: Build Windows Packages
runs-on: windows-latest
permissions:
contents: read
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: actions/setup-node@v5
with:
node-version-file: '.nvmrc'
cache: npm
cache-dependency-path: package-lock.json
- name: Install node dependencies
run: npm ci --legacy-peer-deps
- name: Build shared libraries
run: |
npm run build:graphql-docs
npm run build:bruno-common
npm run build:bruno-query
npm run sandbox:bundle-libraries --workspace=packages/bruno-js
npm run build:bruno-converters
npm run build:bruno-requests
npm run build:bruno-filestore
- name: Build BrunoN Windows packages
run: npm run release:brunon:win
- name: List artifacts
run: ls packages/bruno-electron/out/
- uses: actions/upload-artifact@v4
with:
name: brunon-windows
path: packages/bruno-electron/out/**
if-no-files-found: error
build-macos-x64:
name: Build macOS (Intel)
runs-on: macos-13
permissions:
contents: read
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: actions/setup-node@v5
with:
node-version-file: '.nvmrc'
cache: npm
cache-dependency-path: package-lock.json
- name: Install node dependencies
run: npm ci --legacy-peer-deps
- name: Build shared libraries
run: |
npm run build:graphql-docs
npm run build:bruno-common
npm run build:bruno-query
npm run sandbox:bundle-libraries --workspace=packages/bruno-js
npm run build:bruno-converters
npm run build:bruno-requests
npm run build:bruno-filestore
- name: Build BrunoN macOS (Intel) packages
run: npm run release:brunon:mac -- --x64
- name: List artifacts
run: ls -lh packages/bruno-electron/out/
- uses: actions/upload-artifact@v4
with:
name: brunon-macos-x64
path: packages/bruno-electron/out/**
if-no-files-found: error
build-macos-arm64:
name: Build macOS (Apple Silicon)
runs-on: macos-14
permissions:
contents: read
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: actions/setup-node@v5
with:
node-version-file: '.nvmrc'
cache: npm
cache-dependency-path: package-lock.json
- name: Install node dependencies
run: npm ci --legacy-peer-deps
- name: Build shared libraries
run: |
npm run build:graphql-docs
npm run build:bruno-common
npm run build:bruno-query
npm run sandbox:bundle-libraries --workspace=packages/bruno-js
npm run build:bruno-converters
npm run build:bruno-requests
npm run build:bruno-filestore
- name: Build BrunoN macOS (Apple Silicon) packages
run: npm run release:brunon:mac -- --arm64
- name: List artifacts
run: ls -lh packages/bruno-electron/out/
- uses: actions/upload-artifact@v4
with:
name: brunon-macos-arm64
path: packages/bruno-electron/out/**
if-no-files-found: error
publish-release:
name: Create GitHub Release
needs:
- build-linux
- build-windows
- build-macos-x64
- build-macos-arm64
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: release-artifacts
merge-multiple: true
- name: List release contents
run: ls -lhR release-artifacts/
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
name: BrunoN ${{ github.ref_name }}
files: release-artifacts/*
generate_release_notes: true
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}