Github action to use an Attic binary cache https://cachix.org
  • TypeScript 67.8%
  • Nix 26.9%
  • JavaScript 5.3%
Find a file
Domen Kožar f20dab2dbc
Merge pull request #52 from cachix/dependabot/npm_and_yarn/lodash-4.17.19
chore(deps): bump lodash from 4.17.15 to 4.17.19
2020-07-20 13:26:34 +02:00
.github chore(deps): bump cachix/install-nix-action from v9 to v10 2020-07-07 09:21:13 +00:00
dist/main Adds extra caches for pulling from (binary substitution). 2020-06-23 11:20:12 +02:00
src Adds extra caches for pulling from (binary substitution). 2020-06-23 11:20:12 +02:00
.gitignore bundle all the dependencies 2020-04-10 14:55:10 +02:00
action.yml Adds extra caches for pulling from (binary substitution). 2020-06-23 11:20:12 +02:00
jest.config.js Initial commit 2019-09-30 15:32:36 +02:00
LICENSE Split Nix installation into separate action 2019-10-02 16:25:24 +02:00
package.json WIP: save cache on post 2020-04-17 12:20:05 +02:00
README.md README: point to tutorial 2020-07-07 13:46:47 +02:00
shell.nix add shell.nix for development 2020-04-16 05:18:25 +01:00
test-with-arg.nix Add nixBuildArgs parameter 2020-02-27 16:46:25 +01:00
test.nix fix for #3 2019-10-03 15:43:16 +02:00
tsconfig.json Initial commit 2019-09-30 15:32:36 +02:00
yarn.lock chore(deps): bump lodash from 4.17.15 to 4.17.19 2020-07-18 10:00:58 +00:00

cachix-action

github actions badge

One nice benefit of Nix is that CI can build and cache developer environments for every project on every branch using binary caches.

Another important aspect of CI is the feedback loop of how many minutes does the build take to finish.

With a simple configuration using Cachix, youll never have to build any derivation twice and share them with all your developers.

After each job, just built derivations are pushed to your binary cache.

Before each job, derivations to be built are first substituted (if they exist) from your binary cache.

Getting started

Follow Continuous Integration with GitHub Actions tutorial.

See action.yml for all options.

Security

Cachix auth token and signing key need special care as they give read and write access to your caches.

As per GitHub Actions' security model:

Anyone with write access to a repository can create, read, and use secrets.

Which means all developers with push access can read your secrets and write to your cache. Furthermore, malicious code submitted via a pull request can, once merged into master, reveal the tokens.

Hacking

Install the dependencies

$ yarn install

Build the typescript

$ yarn build

Run the tests ✔️

$ yarn test