Update Sync Interface #387
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: Continuous Integration | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
security-audit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- name: Set up Node.js | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version: 18 | |
- name: Report known vulnerabilities | |
run: npm audit | |
test-with-node: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- name: Set up Node.js | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version: 18 | |
registry-url: https://registry.npmjs.org/ | |
- name: Install latest npm | |
run: npm install -g npm@latest | |
- name: Install dependencies | |
run: npm ci | |
- name: Build all workspace packages | |
run: npm run build | |
- name: Run linter for all packages | |
run: npm run lint --ws | |
- name: Start dwn-server container | |
run: cd packages/dev-env && docker-compose up -d | |
- name: Wait for dwn-server1 to be ready | |
run: until curl -sf http://localhost:3000/health; do echo -n .; sleep .1; done | |
- name: Wait for dwn-server2 to be ready | |
run: until curl -sf http://localhost:3001/health; do echo -n .; sleep .1; done | |
- name: Run tests for all packages | |
run: npm run test:node --ws -- --color | |
env: | |
TEST_DWN_URLS: http://localhost:3000,http://localhost:3001 | |
MIN_SYNC_INTERVAL: 100 | |
- name: Upload test coverage to Codecov | |
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
test-with-browsers: | |
# Run browser tests using macOS so that WebKit tests don't fail under a Linux environment | |
runs-on: macos-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- name: Set up Node.js | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version: 18 | |
registry-url: https://registry.npmjs.org/ | |
- name: Install latest npm | |
run: npm install -g npm@latest | |
- name: Install dependencies | |
run: npm ci | |
- name: Install Playwright Browsers | |
run: npx playwright install --with-deps | |
- name: Build all workspace packages | |
run: npm run build | |
- name: Install docker | |
run: brew install docker && brew install docker-compose # && colima start | |
- name: Update qemu to work around https://github.com/actions/runner-images/issues/8104 | |
run: | | |
brew remove --ignore-dependencies qemu && | |
curl -o ./qemu.rb https://raw.githubusercontent.com/Homebrew/homebrew-core/dc0669eca9479e9eeb495397ba3a7480aaa45c2e/Formula/qemu.rb && | |
brew install ./qemu.rb | |
- name: Start docker | |
run: colima start | |
- name: Start dwn-server container | |
run: cd packages/dev-env && docker-compose up -d | |
- name: Wait for dwn-server1 to be ready | |
run: until curl -sf http://localhost:3000/health; do echo -n .; sleep .1; done | |
- name: Wait for dwn-server2 to be ready | |
run: until curl -sf http://localhost:3001/health; do echo -n .; sleep .1; done | |
- name: Run tests for all packages | |
run: npm run test:browser --ws -- --color | |
env: | |
TEST_DWN_URLS: http://localhost:3000,http://localhost:3001 | |
MIN_SYNC_INTERVAL: 100 |