Compare commits

...

7 commits

Author SHA1 Message Date
cy
806390e22e use better primary key 2025-01-20 02:53:31 -05:00
cy
ddf31fb77a fix perms on /nix 2025-01-20 02:40:29 -05:00
cy
aa8b8674c6 use nix-community cache action and nixbuild installer 2025-01-20 02:35:46 -05:00
cy
e6dd3fffdd forgejo: enable repo indexer 2025-01-20 02:29:49 -05:00
cy
aac6f5dab8 use new cli to install cachix 2025-01-20 02:29:49 -05:00
cy
16a5596b53 use cachix to install and refactor 2025-01-20 02:29:49 -05:00
cy
1605244a70 try cachix without daemon 2025-01-20 02:29:49 -05:00
2 changed files with 70 additions and 39 deletions

View file

@ -3,28 +3,6 @@ on:
workflow_dispatch: workflow_dispatch:
push: push:
jobs: jobs:
build-packages:
strategy:
matrix:
package:
- github:cything/nixpkgs#hello
os:
- ubuntu-latest
- macos-latest
runs-on: ${{ matrix.os }}
continue-on-error: true
steps:
- uses: DeterminateSystems/nix-installer-action@main
with:
logger: pretty
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: Setup Attic cache
uses: ryanccn/attic-action@v0
with:
endpoint: ${{ vars.ATTIC_ENDPOINT }}
cache: ${{ vars.ATTIC_CACHE }}
token: ${{ secrets.ATTIC_TOKEN }}
- run: nix build -L '${{ matrix.package }}'
build-machines: build-machines:
strategy: strategy:
matrix: matrix:
@ -34,7 +12,7 @@ jobs:
- titan - titan
os: os:
- ubuntu-latest - ubuntu-latest
# - macos-latest
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
continue-on-error: true continue-on-error: true
steps: steps:
@ -49,22 +27,48 @@ jobs:
remove-codeql: 'true' remove-codeql: 'true'
remove-docker-images: 'true' remove-docker-images: 'true'
build-mount-path: /nix build-mount-path: /nix
build-mount-path-ownership: 'root:root'
- uses: DeterminateSystems/nix-installer-action@main - uses: nixbuild/nix-quick-install-action@master
- name: Sync repository
uses: actions/checkout@v4
with: with:
logger: pretty persist-credentials: false
- uses: DeterminateSystems/magic-nix-cache-action@main
- uses: cachix/cachix-action@v14
with:
name: cything
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
useDaemon: false
installCommand: nix profile install nixpkgs#cachix
- name: Setup Attic cache - name: Setup Attic cache
uses: ryanccn/attic-action@v0 uses: ryanccn/attic-action@v0
with: with:
endpoint: ${{ vars.ATTIC_ENDPOINT }} endpoint: ${{ vars.ATTIC_ENDPOINT }}
cache: ${{ vars.ATTIC_CACHE }} cache: ${{ vars.ATTIC_CACHE }}
token: ${{ secrets.ATTIC_TOKEN }} token: ${{ secrets.ATTIC_TOKEN }}
- name: Sync repository
uses: actions/checkout@v4 - name: Restore and cache Nix store
uses: nix-community/cache-nix-action@v5.1.0
with: with:
persist-credentials: false # restore and save a cache using this key
- run: nix build -L --accept-flake-config .#nixosConfigurations.${{ matrix.machine }}.config.system.build.toplevel primary-key: nix-${{ runner.os }}-${{ matrix.machine }}-${{ hashFiles('flake.lock') }}
# if there's no cache hit, restore a cache by this prefix
restore-prefixes-first-match: nix-${{ runner.os }}-
# do purge caches
purge: true
# purge all versions of the cache
purge-prefixes: nix-${{ runner.os }}-
# created more than this number of seconds ago relative to the start of the `Post Restore` phase
purge-last-accessed: 86400
# except the version with the `primary-key`, if it exists
purge-primary-key: never
# always save the cache
save-always: true
- run: nix build -L .#nixosConfigurations.${{ matrix.machine }}.config.system.build.toplevel
build-homes: build-homes:
strategy: strategy:
matrix: matrix:
@ -74,6 +78,7 @@ jobs:
os: os:
- ubuntu-latest - ubuntu-latest
# - macos-latest # - macos-latest
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
continue-on-error: true continue-on-error: true
steps: steps:
@ -88,19 +93,44 @@ jobs:
remove-codeql: 'true' remove-codeql: 'true'
remove-docker-images: 'true' remove-docker-images: 'true'
build-mount-path: /nix build-mount-path: /nix
build-mount-path-ownership: 'root:root'
- uses: DeterminateSystems/nix-installer-action@main - uses: nixbuild/nix-quick-install-action@master
- name: Sync repository
uses: actions/checkout@v4
with: with:
logger: pretty persist-credentials: false
- uses: DeterminateSystems/magic-nix-cache-action@main
- uses: cachix/cachix-action@v14
with:
name: cything
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
useDaemon: false
installCommand: nix profile install nixpkgs#cachix
- name: Setup Attic cache - name: Setup Attic cache
uses: ryanccn/attic-action@v0 uses: ryanccn/attic-action@v0
with: with:
endpoint: ${{ vars.ATTIC_ENDPOINT }} endpoint: ${{ vars.ATTIC_ENDPOINT }}
cache: ${{ vars.ATTIC_CACHE }} cache: ${{ vars.ATTIC_CACHE }}
token: ${{ secrets.ATTIC_TOKEN }} token: ${{ secrets.ATTIC_TOKEN }}
- name: Sync repository
uses: actions/checkout@v4 - name: Restore and cache Nix store
uses: nix-community/cache-nix-action@v5.1.0
with: with:
persist-credentials: false # restore and save a cache using this key
- run: nix build -L --accept-flake-config .#homeConfigurations."${{ matrix.home }}".activationPackage primary-key: nix-${{ runner.os }}-${{ matrix.home }}-${{ hashFiles('flake.lock') }}
# if there's no cache hit, restore a cache by this prefix
restore-prefixes-first-match: nix-${{ runner.os }}-
# do purge caches
purge: true
# purge all versions of the cache
purge-prefixes: nix-${{ runner.os }}-
# created more than this number of seconds ago relative to the start of the `Post Restore` phase
purge-last-accessed: 86400
# except the version with the `primary-key`, if it exists
purge-primary-key: never
# always save the cache
save-always: true
- run: nix build -L .#homeConfigurations."${{ matrix.home }}".activationPackage

View file

@ -20,6 +20,7 @@
}; };
actions.ENABLED = false; actions.ENABLED = false;
repository.ENABLE_PUSH_CREATE_USER = true; repository.ENABLE_PUSH_CREATE_USER = true;
indexer.REPO_INDEXER_ENABLED = true;
}; };
database = { database = {
type = "postgres"; type = "postgres";