feat!: react-query
and supplementary improvements
#448
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: CI | |
on: | |
# CI is run on main because new branches can only access caches from master, not previous branches. | |
# So building on master allows new PR's to get the cache from before. | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
# prevent multiple simultaneous test runs | |
concurrency: | |
group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}" | |
cancel-in-progress: true | |
jobs: | |
analyze: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [20] | |
pnpm-version: [8.6.2] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2.2.4 | |
with: | |
version: ${{ matrix.pnpm-version }} | |
- name: Set up Node ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
cache: 'pnpm' | |
node-version: ${{ matrix.node-version }} | |
env: | |
# https://github.com/actions/setup-node/issues/772 | |
FORCE_COLOR: 0 | |
- name: Cache pnpm | |
uses: actions/cache@v3 | |
with: | |
path: ~/.pnpm-store | |
key: ${{ runner.os }}--node--${{ hashFiles('pnpm-lock.yaml') }} | |
restore-keys: pnpm- | |
- name: Install dependencies | |
run: pnpm install | |
- name: Run build | |
run: pnpm build | |
- name: Run linter | |
run: pnpm lint:ci | |
test: | |
timeout-minutes: 10 | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
pnpm-version: [8.6.2] | |
node-version: [18, 20] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'pnpm' | |
env: | |
# https://github.com/actions/setup-node/issues/772 | |
FORCE_COLOR: 0 | |
- name: Restore cached dependencies for Node modules. | |
id: module-cache | |
uses: actions/cache@v3 | |
with: | |
path: ${{ github.workspace }}/node_modules | |
key: ${{ runner.os }}--node--${{ matrix.node-version}}--${{ hashFiles('**/pnpm-lock.yaml') }} | |
- name: Install dependencies | |
run: pnpm install | |
- name: Run build | |
run: pnpm build | |
- name: Log in to Docker Hub to avoid rate limiting | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.FARCASTERXYZ_DOCKER_HUB_USER }} | |
password: ${{ secrets.FARCASTERXYZ_DOCKER_HUB_TOKEN }} | |
- name: Start background services | |
shell: bash | |
run: docker compose -f ./apps/relay/docker-compose.yml up --build --detach redis | |
- name: Run tests | |
run: pnpm test:ci | |
- name: Upload coverage results | |
uses: codecov/codecov-action@v3 |