fix(ci): fix build workflow #80
Workflow file for this run
This file contains hidden or 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: Build PR | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, edited] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: node:24.14 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: restore_cache | |
| uses: actions/cache@v5 | |
| with: | |
| key: yarn-packages-${{ github.ref_name }}-${{ hashFiles('yarn.lock') }} | |
| path: node_modules/ | |
| restore-keys: yarn-packages-${{ github.ref_name }}- | |
| - 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: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: node:24.14 | |
| env: | |
| executor: docker-harness | |
| install_manually: true | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - 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 |