🚀 9.0.0-alpha.0 #13449
Workflow file for this run
This file contains 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: Test | |
on: | |
merge_group: | |
workflow_dispatch: | |
push: | |
branches: | |
- develop | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
Test: | |
timeout-minutes: 25 | |
runs-on: ubuntu-latest | |
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 | |
- name: Install packages | |
run: npm ci | |
- name: Lint | |
run: npm run lint | |
- name: Lint markdown | |
run: npm run lint:markdown | |
- name: Type checks | |
run: npm run type-check | |
- name: Test Insomnia | |
run: npm test -w packages/insomnia | |
- name: Test Inso | |
run: npm test -w packages/insomnia-inso | |
- name: Test Insomnia Testing | |
run: npm test -w packages/insomnia-testing | |
- name: Test O2K | |
run: npm test -w packages/openapi-2-kong | |
- name: Build app for smoke tests | |
run: NODE_OPTIONS='--max_old_space_size=6144' npm run app-build | |
- name: Smoke test electron app | |
# Partial Smoke test run, for regular CI triggers | |
if: ${{ !startsWith(github.head_ref, 'release/') }} | |
run: npm run test:build -w packages/insomnia-smoke-test -- --project=Smoke | |
- name: Prerelease test electron app | |
# Full Smoke test run, for Release PRs | |
if: ${{ startsWith(github.head_ref, 'release/') }} | |
run: npm run test:build -w packages/insomnia-smoke-test -- --project=Default | |
- name: Set Inso CLI variables | |
id: inso-variables | |
shell: bash | |
run: | | |
INSO_VERSION="$(jq .version packages/insomnia-inso/package.json -rj)-run.${{ github.run_number }}" | |
PKG_NAME="inso-ubuntu-latest-$INSO_VERSION" | |
echo "pkg-name=$PKG_NAME" >> $GITHUB_OUTPUT | |
echo "inso-version=$INSO_VERSION" >> $GITHUB_OUTPUT | |
- name: Run Inso NPM package tests | |
run: npm run test:bundled-inso | |
- name: Package Inso CLI binary | |
run: | | |
echo "Replacing node-libcurl electron binary with node binary" | |
node_modules/.bin/node-pre-gyp install --update-binary --directory node_modules/@getinsomnia/node-libcurl | |
npm run inso-package | |
env: | |
VERSION: ${{ steps.inso-variables.outputs.inso-version }} | |
- name: Create Inso CLI artifacts | |
run: npm run inso-package:artifacts | |
env: | |
VERSION: ${{ steps.inso-variables.outputs.inso-version }} | |
- name: Upload Inso CLI artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: ignore | |
name: ${{ steps.inso-variables.outputs.pkg-name }} | |
path: packages/insomnia-inso/artifacts | |
- name: Smoke test Inso CLI | |
run: npm run test:smoke:cli | |
# This step should always run even when previous steps fail | |
- name: Upload smoke test traces | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
if-no-files-found: ignore | |
name: ubuntu-smoke-test-traces-${{ github.run_number }} | |
path: packages/insomnia-smoke-test/traces |