ci: add flake update action (#267)
* create flake update action * what am i doing * fix * try nixpkgs.hyprland * try flake * use add * try sway + cache nix * use install * fix pgrep * fix sway exit * screw sway ipc * get ready for merge * [CI] chore: update flake * finally ready
This commit is contained in:
parent
982a5a3e8d
commit
f2464fd414
2 changed files with 96 additions and 10 deletions
86
.github/workflows/update-flake-inputs.yml
vendored
Normal file
86
.github/workflows/update-flake-inputs.yml
vendored
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
name: Update flake inputs
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-flake:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install Nix
|
||||||
|
uses: nixbuild/nix-quick-install-action@v31
|
||||||
|
with:
|
||||||
|
nix_conf: |
|
||||||
|
keep-env-derivations = true
|
||||||
|
keep-outputs = true
|
||||||
|
|
||||||
|
- name: Restore and save Nix store
|
||||||
|
uses: nix-community/cache-nix-action@v6
|
||||||
|
with:
|
||||||
|
# restore and save a cache using this key
|
||||||
|
primary-key: nix-${{ hashFiles('**/*.nix', '**/flake.lock') }}
|
||||||
|
# if there's no cache hit, restore a cache by this prefix
|
||||||
|
restore-prefixes-first-match: nix-
|
||||||
|
# collect garbage until the Nix store size (in bytes) is at most this number
|
||||||
|
# before trying to save a new cache
|
||||||
|
# 1G = 1073741824
|
||||||
|
gc-max-store-size-linux: 1G
|
||||||
|
# do purge caches
|
||||||
|
purge: true
|
||||||
|
# purge all versions of the cache
|
||||||
|
purge-prefixes: nix-
|
||||||
|
# created more than this number of seconds ago
|
||||||
|
purge-created: 0
|
||||||
|
# or, last accessed more than this number of seconds ago
|
||||||
|
# relative to the start of the `Post Restore and save Nix store` phase
|
||||||
|
purge-last-accessed: 0
|
||||||
|
# except any version with the key that is the same as the `primary-key`
|
||||||
|
purge-primary-key: never
|
||||||
|
|
||||||
|
- name: Update flake inputs
|
||||||
|
run: nix flake update
|
||||||
|
|
||||||
|
- name: Attempt to build flake
|
||||||
|
run: nix build
|
||||||
|
|
||||||
|
- name: Test on Sway
|
||||||
|
env:
|
||||||
|
XDG_RUNTIME_DIR: /home/runner/runtime
|
||||||
|
WLR_BACKENDS: headless
|
||||||
|
WLR_LIBINPUT_NO_DEVICES: 1
|
||||||
|
WAYLAND_DISPLAY: wayland-1
|
||||||
|
run: |
|
||||||
|
mkdir $XDG_RUNTIME_DIR
|
||||||
|
chown $USER $XDG_RUNTIME_DIR
|
||||||
|
chmod 0700 $XDG_RUNTIME_DIR
|
||||||
|
|
||||||
|
nix profile install 'nixpkgs#sway'
|
||||||
|
sway &
|
||||||
|
sleep 3 # Give Sway some time to start
|
||||||
|
result/bin/caelestia-shell -d
|
||||||
|
sleep 3 # Give the shell some time to start (and die)
|
||||||
|
pgrep .quickshell-wra # Fail job if shell died
|
||||||
|
|
||||||
|
result/bin/caelestia-shell kill
|
||||||
|
killall sway # Screw using IPC
|
||||||
|
|
||||||
|
- name: Check for changes
|
||||||
|
id: check
|
||||||
|
run: echo modified=$(test -n "$(git status --porcelain)" && echo 'true' || echo 'false') >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Commit and push changes
|
||||||
|
if: steps.check.outputs.modified == 'true'
|
||||||
|
uses: EndBug/add-and-commit@v9
|
||||||
|
with:
|
||||||
|
add: flake.lock
|
||||||
|
default_author: github_actions
|
||||||
|
message: "[CI] chore: update flake"
|
||||||
20
flake.lock
generated
20
flake.lock
generated
|
|
@ -31,11 +31,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753175548,
|
"lastModified": 1753407718,
|
||||||
"narHash": "sha256-SdrlgrnijrM0I8LgfMMKbD310ga4fNN54HfWCtR+Kjw=",
|
"narHash": "sha256-VnqE8hpqyIdJ91OBaJatxGyNccev+OC19U/MVZUd/0E=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "cli",
|
"repo": "cli",
|
||||||
"rev": "13a2d46d082ba09eb4934cec092f6085134e58e0",
|
"rev": "2bde2ddfbf56277fbf93af96fe3a88cb042b6696",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -46,11 +46,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752950548,
|
"lastModified": 1753250450,
|
||||||
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
"narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
|
"rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -67,11 +67,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753090730,
|
"lastModified": 1753402503,
|
||||||
"narHash": "sha256-QG14m53ZGp2Gk7xD2Q+Tf7RYCKfk/BYRaBtX3X4IKbc=",
|
"narHash": "sha256-cc1seYNwhhk9f74NpJSFRmQFjDzXInq66/dSVs2eK4Y=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "db77c71c216530159c2dcf5b269ebb4706b2e2dd",
|
"rev": "4dad44757085a42423f758bf0177cebcd07b4a4a",
|
||||||
"revCount": 653,
|
"revCount": 656,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue