mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 00:47:00 +01:00
Every Nix build of main and of each release tag now goes to proton-drive-linux.cachix.org, so installing the flake downloads the client instead of compiling it. The flake names the cache in nixConfig for nix run and nix shell, and the install guide shows the nix.settings a NixOS system build needs, since it does not read an input's nixConfig. A fork's pull request has no token and only pulls.
60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
name: Nix
|
|
|
|
# Builds the flake (docs/INSTALL.md#nixos-flake) whenever its recipe, the lock
|
|
# files or the code change, so a NixOS user's `nix build` keeps working. Run it
|
|
# from the Actions tab for any branch to get a build to try.
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'flake.nix'
|
|
- 'flake.lock'
|
|
- 'packaging/nix/**'
|
|
- 'Cargo.lock'
|
|
- 'Cargo.toml'
|
|
- 'crates/**'
|
|
- 'po/**'
|
|
- '.github/workflows/nix.yml'
|
|
pull_request:
|
|
paths:
|
|
- 'flake.nix'
|
|
- 'flake.lock'
|
|
- 'packaging/nix/**'
|
|
- 'Cargo.lock'
|
|
- '.github/workflows/nix.yml'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: nix-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
|
|
- uses: cachix/install-nix-action@v31
|
|
|
|
# Pulls from the project's binary cache, and pushes what this run built
|
|
# when the token is there; a fork's pull request has none and only pulls.
|
|
- uses: cachix/cachix-action@v17
|
|
with:
|
|
name: proton-drive-linux
|
|
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
|
|
|
- name: Check the flake
|
|
run: nix flake check --print-build-logs --no-build
|
|
|
|
- name: Build the package
|
|
run: nix build --print-build-logs .#proton-drive-linux
|
|
|
|
- name: Smoke test
|
|
run: |
|
|
./result/bin/pdfs --version
|
|
for bin in pdfs-app pdfs-tray pdfs-prompt; do test -x "result/bin/$bin"; done
|
|
grep -q "ExecStart=$(readlink -f result)/bin/pdfs" result/lib/systemd/user/proton-drive.service
|
|
ls result/share/locale/*/LC_MESSAGES/pdfs.mo
|