Set up some CI
This commit is contained in:
parent
69ce8f32ef
commit
bde005fd40
58
.github/workflows/deploy.yml
vendored
58
.github/workflows/deploy.yml
vendored
|
@ -12,6 +12,62 @@ on:
|
|||
- reopened
|
||||
- labeled
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
name: Check
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.4
|
||||
- uses: cachix/install-nix-action@v17
|
||||
with:
|
||||
extra_nix_config: |
|
||||
# save space on disk and in cache
|
||||
auto-optimise-store = true
|
||||
# keep all store paths necessary to build the outputs
|
||||
keep-outputs = true
|
||||
keep-derivations = true
|
||||
# Enable flakes
|
||||
experimental-features = nix-command flakes
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
key: nki-nix-${{ github.sha }}
|
||||
restore-keys: |
|
||||
nki-nix-
|
||||
path: |
|
||||
nix_store_dir
|
||||
nix_store_db.sqlite
|
||||
- name: restore cached nix store
|
||||
run: |
|
||||
if [ -e nix_store_db.sqlite ]; then
|
||||
sudo systemctl stop nix-daemon
|
||||
# put cached store paths back in their proper locations
|
||||
sudo rm -rf /nix/store /nix/var/nix/db/db.sqlite
|
||||
sudo mv nix_store_dir /nix/store
|
||||
sudo cp nix_store_db.sqlite /nix/var/nix/db/db.sqlite
|
||||
# fix store permissions
|
||||
sudo chmod 1775 /nix/store
|
||||
sudo chown root:nixbld /nix/store
|
||||
sudo chmod 0644 /nix/var/nix/db/db.sqlite
|
||||
sudo chown -R root:root /nix/store /nix/var/nix/db/db.sqlite
|
||||
sudo systemctl start nix-daemon
|
||||
fi
|
||||
- name: Run format check
|
||||
run: |
|
||||
nix fmt
|
||||
if [ -z "$(git status --untracked-files=no --porcelain)" ]; then
|
||||
echo "Formatted, clean"
|
||||
else
|
||||
echo "The following files are unformatted:"
|
||||
git status
|
||||
false
|
||||
fi
|
||||
- name: prepare nix store for caching
|
||||
run: |
|
||||
# delete old stuff not relevant to this build
|
||||
nix store gc
|
||||
sudo systemctl stop nix-daemon
|
||||
# move store to a place where the cache action can read it
|
||||
sudo mv /nix/store nix_store_dir
|
||||
sudo mv /nix/var/nix/db/db.sqlite nix_store_db.sqlite
|
||||
deploy:
|
||||
if: "github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'Deploy')"
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -43,8 +99,6 @@ jobs:
|
|||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
/nix/store
|
||||
key: nki-nix-${{ github.sha }}
|
||||
restore-keys: |
|
||||
nki-nix-
|
||||
|
|
Loading…
Reference in a new issue