add updated() hooks #126
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: CI | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| env: | |
| MIX_ENV: test | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Elixir | |
| uses: erlef/setup-beam@v1 | |
| with: | |
| elixir-version: '1.18.x' | |
| otp-version: '27.x' | |
| - name: Setup ChromeDriver | |
| uses: nanasess/setup-chromedriver@v2 | |
| # Cache library (root) dependencies | |
| - name: Cache library dependencies | |
| id: cache-deps | |
| uses: actions/cache@v4 | |
| with: | |
| path: deps | |
| key: ${{ runner.os }}-deps-${{ hashFiles('**/mix.lock') }} | |
| # Cache library (root) build | |
| - name: Cache library build | |
| id: cache-build | |
| uses: actions/cache@v4 | |
| with: | |
| path: _build | |
| key: ${{ runner.os }}-build-${{ hashFiles('**/mix.lock') }} | |
| # Build library first (at root) | |
| - name: Install library dependencies | |
| if: steps.cache-deps.outputs.cache-hit != 'true' | |
| run: mix deps.get | |
| - name: Compile library dependencies | |
| if: steps.cache-build.outputs.cache-hit != 'true' | |
| run: mix deps.compile | |
| - name: Compile library | |
| run: mix compile | |
| - name: Install library npm dependencies | |
| working-directory: assets | |
| run: npm install | |
| - name: Build library assets | |
| run: mix assets.build | |
| # Build demo application | |
| - name: Install demo dependencies | |
| working-directory: demo | |
| run: mix deps.get | |
| - name: Setup demo assets | |
| working-directory: demo | |
| run: mix assets.setup | |
| - name: Build demo assets | |
| working-directory: demo | |
| run: mix assets.build | |
| # Check formatting (both projects) | |
| - name: Check library formatting | |
| run: mix format --check-formatted | |
| - name: Check demo formatting | |
| working-directory: demo | |
| run: mix format --check-formatted | |
| # Run tests (in demo, includes Wallaby tests) | |
| - name: Run tests | |
| working-directory: demo | |
| run: mix test --trace |