Update CI script

This commit is contained in:
Natsu Kagami 2022-05-31 12:40:02 -04:00 committed by Natsu Kagami
parent 103595235d
commit 2f78eed4cc

View file

@ -29,18 +29,53 @@ jobs:
ssh-agent -a $SSH_AUTH_SOCK > /dev/null
ssh-add /home/runner/.ssh/*
ssh-keyscan ${{ secrets.INSTANCE_IP }} >> /home/runner/.ssh/known_hosts
- uses: cachix/install-nix-action@v14.1
- 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
# Deploy tokens
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- uses: actions/cache@v2
with:
path: |
/nix/store
key: ${{ runner.os }}-${{ hashFiles('flake.lock') }}
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: Deploy with deploy-rs
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: |
nix run -L github:Serokell/deploy-rs . -- --hostname ${{ secrets.INSTANCE_IP }} -- -L
- 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