mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2025-12-08 21:36:08 +00:00
* cache the `oxide` targets This will cache the oxide related build files to hopefully minimize the amount of Rust compiling. * tmp: drop turbo * cache `./oxide/target/` Thanks @thecrypticace! * no need to cache `oxide` files This will already be cached by GitHub actions. This should save us many GBs on Vercel.com and Rust (or Cargo) is way better in using existing cached information so this mix of caches between Turbo and GitHub actions is kind of nice. * Revert "tmp: drop turbo" This reverts commit 22761d3a6669205a65695c6887bc9fda5f495adf. * improve caching for integration tests and insiders release
73 lines
1.8 KiB
YAML
73 lines
1.8 KiB
YAML
name: CI — Oxide
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
CI: true
|
|
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
|
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
|
|
CACHE_PREFIX: oxide
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
node-version: [18]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
|
|
- name: Cache node_modules
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: node_modules
|
|
key: ${{ runner.os }}-${{ matrix.node-version }}-${{ env.CACHE_PREFIX }}-node_modules-${{ hashFiles('**/package-lock.json') }}
|
|
|
|
# Cargo already skips downloading dependencies if they already exist
|
|
- name: Cache cargo
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
~/.cargo/bin/
|
|
~/.cargo/registry/index/
|
|
~/.cargo/registry/cache/
|
|
~/.cargo/git/db/
|
|
target/
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
|
|
# Cache the `oxide` Rust build
|
|
- name: Cache oxide build
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
./oxide/target/
|
|
./oxide/crates/node/*.node
|
|
./oxide/crates/node/index.js
|
|
./oxide/crates/node/index.d.ts
|
|
key: ${{ runner.os }}-oxide-${{ hashFiles('./oxide/crates/**/*') }}
|
|
|
|
- name: Install dependencies
|
|
run: npm install
|
|
|
|
- name: Build Tailwind CSS
|
|
run: npx turbo run build --filter=//
|
|
|
|
- name: Test
|
|
run: npx turbo run test --filter=//
|
|
|
|
- name: Lint
|
|
run: npx turbo run style --filter=//
|