Files
yarn-plugin-nixify-patched/.github/workflows/build.yml
T
Stéphan Kochen 2757cfd115 Upgrade to Yarn v3
2021-08-15 21:36:55 +02:00

85 lines
2.0 KiB
YAML

name: build
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
env:
NIX_PATH: nixpkgs=channel:nixpkgs-unstable
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Yarn cache
uses: actions/cache@v2
with:
path: .yarn/cache
key: yarn-${{ hashFiles('yarn.lock') }}
restore-keys: yarn-
- name: Yarn install
run: yarn install --immutable
- name: TypeScript
run: yarn check
- name: Build
run: yarn build
- name: Check dist
run: |
if [[ "$(git status --porcelain)" != "" ]]; then
echo "Build in dist/ is outdated"
exit 1
fi
- name: Install plugin
run: yarn plugin import ./dist/yarn-plugin-nixify.js
- name: Test without Nix
run: yarn
- name: Install Nix
uses: nixbuild/nix-quick-install-action@v4
- name: Setup Cachix
if: github.event_name == 'push' && github.repository_owner == 'stephank'
uses: cachix/cachix-action@v8
with:
name: stephank
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- name: Test with Nix
run: yarn
- name: Test nix-build
run: nix-build
# TODO: Check there really is a separate derivation,
# and that Yarn actually reuses the build.
- name: Test isolated builds
run: |
# Matches example in ISOLATED_BUILDS.md
echo 'isolatedNixBuilds: ["sqlite3"]' >> .yarnrc.yml
cat > default.nix << EOF
{ pkgs ? import <nixpkgs> { } }:
pkgs.callPackage ./yarn-project.nix { } {
src = ./.;
overrideSqlite3Attrs = old: {
npm_config_sqlite = "/"; # Don't accidentally use the wrong sqlite.
buildInputs = old.buildInputs ++ (with pkgs; [ python3 sqlite ]);
};
}
EOF
yarn add sqlite3
nix-build