Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ name: Build
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
Expand Down
83 changes: 83 additions & 0 deletions .github/workflows/build_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Build PR
on:
pull_request:
types: [opened, synchronize, reopened, edited]
jobs:
build:
runs-on: ubuntu-latest
container:
image: node:18.20
steps:
- uses: actions/checkout@v4.1.0
- name: restore_cache
uses: actions/cache@v4.3.0
with:
key: yarn-packages-{{ .Branch }}-{{ checksum "yarn.lock" }}
path: node_modules/
restore-keys: yarn-packages-{{ .Branch }}-{{ checksum "yarn.lock" }}
- name: Install Dependencies
run: yarn --frozen-lockfile
- name: Lint the codebase
run: yarn lint
- name: Run tests
run: yarn test --colors --maxWorkers=2
- name: Run build
run: yarn build
harness-docker:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there was also harness macos before

runs-on: ubuntu-latest
container:
image: node:18.20
env:
executor: docker-harness
install_manually: true
steps:
- uses: actions/checkout@v4.1.0
- name: Install nvm
run: |
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
Copy link
Contributor

@lukaszzazulak lukaszzazulak Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we could probably use an action which sets up node/abstract logic instead of having such details within the config

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
- name: Use Node.js 18.20.1
run: |
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm install 18.20.1
nvm alias default 18.20.1
- name: Install Python and required packages
run: |
apt-get update
apt-get install -y python3 python3-pip python3-venv
- name: Set up Python virtual environment
run: |
python3 -m venv venv
. venv/bin/activate
pip install --upgrade pip
pip install pipenv gunicorn
pipenv --version # Verify pipenv is installed
gunicorn --version # Verify gunicorn is installed
if: env.install_manually
- run: bash -c 'echo "0.0.0.0 httpbin.org" >> /etc/hosts'
if: env.install_manually
- run: git clone https://github.com/stoplightio/httpbin httpbin
if: env.install_manually
- run: |
cd httpbin
. ../venv/bin/activate
pipenv requirements > requirements.txt
pip3 install --no-cache-dir -r requirements.txt
pip3 install --no-cache-dir ./
if: env.install_manually
- run: |
cd httpbin
. ../venv/bin/activate
gunicorn -b 0.0.0.0:80 httpbin:app -k gevent &
sleep 15 # Wait for the server to start
curl -I http://0.0.0.0:80 # Test server availability
if: env.install_manually
- name: Install Dependencies
run: yarn --frozen-lockfile
- name: Create CLI binary
run: yarn build.binary
- name: Run Harness
run: yarn test.harness