chore: Try to build on gh actions #490
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: Build | ||
on: [push] | ||
jobs: | ||
build: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-20.04, macos-latest] | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version: "20" | ||
- name: Setup anew (or from cache) vcpkg (and does not build any package) | ||
uses: lukka/run-vcpkg@v1 | ||
with: | ||
Check failure on line 20 in .github/workflows/build.yml GitHub Actions / BuildInvalid workflow file
|
||
runVcpkgInstall: true | ||
- name: Set-up OCaml | ||
uses: ocaml/setup-ocaml@v3 | ||
with: | ||
ocaml-compiler: 5 | ||
- name: Build release dependencies | ||
if: steps.deps-cache.outputs.cache-hit != 'true' | ||
run: esy build-dependencies --release | ||
- name: Build project in release | ||
run: esy build --release | ||
# Now that our core project build let builds others deps | ||
- name: Build dependencies | ||
if: steps.deps-cache.outputs.cache-hit != 'true' | ||
run: esy build-dependencies | ||
- name: Build project | ||
run: esy build | ||
- name: Ensure readme is up-to-date | ||
run: node scripts/process-readme.js verify | ||
# Here we cleanup if we have a cache fail because we use restore-keys. | ||
# restore-keys take the old store even on cache fail. | ||
# So, we have deps we don't care anymore. We prune them. | ||
- name: Clean global store | ||
if: steps.deps-cache.outputs.cache-hit != 'true' | ||
run: esy cleanup . | ||
- name: Test | ||
run: esy test | ||
- name: Test node bindings | ||
run: esy test-js | ||
- name: Test ts declaration | ||
run: esy test-ts | ||
- uses: actions/upload-artifact@v2 | ||
if: failure() | ||
with: | ||
name: orange_diff_generated | ||
path: test/test-images |