Files
insomnia/.github/workflows/release-recurring.yml
James Gatz aa838bf39c chore(Architecture): react router spa mode (#8902)
* first pass

fix tests

move all react things in dev

try-package

build stuff

use http protocol instead of file

handle refresh

fix tests and routeloaderdata apths

fix npm run dev

fix sorts

fix hidden browser window

cleanup files

Typesafe /auth/* routes

typesafe commands route

git-credentials typesafe routes

import typesafe routes

fix types

fix hidden browser window

invite and collaborators typesafe routes

fix types

remove workarounds

fix dashboard test

more types

git typesafe routes

fix runner test

typesafe scratchpad navigation

fix remove unused project route

fix test routes

add space

request typesafe routes

git credentials typescript conspiracy

git typesafe routes

typecheck

debug bundles for inso

fix test

fix request group tab

workspace typesafe routes

feedback

All routes use generated types

Add typed fetchers to actions and loader

Use typed fetchers in the app

move git actions to the root

* fix react-use usage

update import source field

Spawning npm fails the build

Add ~ module resolution to vitest

add initialEntry functionality

fix update environment name requirement

fix settings patch

use loader for fetching the vault key and fix process.env.PLAYWRIGHT issue

fix missing type

Centralize useRouteLoaderData to routes

Use environment for vitest tests that run browser code

Update remaining fetchers to typesafe versions

remove unused fetcher and add callback to sync

Wrap load/submit in useCallback to keep them stable between re-renders

Update deps lists with stable submit functions

fix lint issue

* fix ts issues

* Add toaster to root

* Use shell for running scripts with spawn on Windows

* Move renderer bundling out of the build script

* Fix request-pane test flakiness

* update the url we use for internal purposes

* Increase timeout for release workflow

* fix flaky bundling test

---------

Co-authored-by: jackkav <jackkav@gmail.com>
2025-08-08 11:10:28 +02:00

99 lines
3.0 KiB
YAML

name: Release Recurring
# This workflow bakes executables of the major platforms for Testing purposes
on:
merge_group:
workflow_dispatch:
push:
branches:
- develop
pull_request:
types:
- opened
- synchronize
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
PR_NUMBER: ${{ github.event.number }}
jobs:
build-and-upload-artifacts:
timeout-minutes: 30
# Skip jobs for release PRs
# windows on recurring should be portable
if: ${{ !startsWith(github.head_ref, 'release/') }}
runs-on: ${{ matrix.os }}
permissions:
packages: read
strategy:
fail-fast: false
matrix:
include:
- os: macos-latest-large
build-targets: zip
- os: windows-latest
build-targets: portable
- os: ubuntu-22.04
build-targets: tar.gz
- os: ubuntu-22.04-arm
build-targets: tar.gz
steps:
- name: Checkout branch
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
cache-dependency-path: package-lock.json
registry-url: 'https://npm.pkg.github.com'
scope: '@kong'
- name: Install packages
run: npm ci
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Bump version
shell: bash
run: npm --workspaces version prerelease --preid="alpha-pr-$(git rev-parse --short HEAD)" --no-git-tag-version
- name: Package
shell: bash
run: NODE_OPTIONS='--max_old_space_size=6144' BUILD_TARGETS='${{ matrix.build-targets }}' npm run app-package
- name: Build and verify secure wrapper (Windows)
if: ${{ matrix.os == 'windows-latest' }}
shell: bash
run: NODE_OPTIONS='--max_old_space_size=6144' ./build-secure-wrapper.sh
# See https://github.com/electron/electron/issues/42510#issuecomment-2171583086
- if: ${{ runner.os == 'Linux' }}
name: Lift unprivileged user namespace restrictions
run: sudo sysctl kernel/apparmor_restrict_unprivileged_userns=0
- name: Test critical path on packaged electron app
run: npm run test:crit:package
env:
INSOMNIA_UPDATES_URL: http://localhost:4010
- name: Upload smoke test traces
uses: actions/upload-artifact@v4
if: failure()
with:
if-no-files-found: ignore
name: ${{ matrix.os }}-package-critical-test-traces-${{ github.run_number }}
path: packages/insomnia-smoke-test/traces
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
if-no-files-found: ignore
name: ${{ matrix.os }}-artifacts-${{ github.run_number }}
path: |
packages/insomnia/dist/*.exe
packages/insomnia/dist/*.tar.gz
packages/insomnia/dist/*.zip
packages/insomnia/dist/*.yml
packages/insomnia/dist/squirrel-windows/*.exe