ci: only check specific file

This commit is contained in:
2 * r + 2 * t
2025-08-09 12:48:19 +10:00
parent f541e99d07
commit 7027ea5442
2 changed files with 94 additions and 94 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ jobs:
- name: Check for changes - name: Check for changes
id: check id: check
run: echo modified=$(test -n "$(git status --porcelain)" && echo 'true' || echo 'false') >> $GITHUB_OUTPUT run: echo modified=$(git diff --exit-code src/caelestia/data/emojis.txt && echo 'false' || echo 'true') >> $GITHUB_OUTPUT
- name: Commit and push changes - name: Commit and push changes
if: steps.check.outputs.modified == 'true' if: steps.check.outputs.modified == 'true'
+93 -93
View File
@@ -1,111 +1,111 @@
name: Update flake inputs name: Update flake inputs
on: on:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: '0 0 * * 0' - cron: "0 0 * * 0"
jobs: jobs:
update-flake: update-flake:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: write contents: write
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install Nix - name: Install Nix
uses: nixbuild/nix-quick-install-action@v31 uses: nixbuild/nix-quick-install-action@v31
with: with:
nix_conf: | nix_conf: |
keep-env-derivations = true keep-env-derivations = true
keep-outputs = true keep-outputs = true
- name: Restore and save Nix store - name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6 uses: nix-community/cache-nix-action@v6
with: with:
# restore and save a cache using this key # restore and save a cache using this key
primary-key: nix-${{ hashFiles('**/*.nix', '**/flake.lock') }} primary-key: nix-${{ hashFiles('**/*.nix', '**/flake.lock') }}
# if there's no cache hit, restore a cache by this prefix # if there's no cache hit, restore a cache by this prefix
restore-prefixes-first-match: nix- restore-prefixes-first-match: nix-
# collect garbage until the Nix store size (in bytes) is at most this number # collect garbage until the Nix store size (in bytes) is at most this number
# before trying to save a new cache # before trying to save a new cache
# 1G = 1073741824 # 1G = 1073741824
gc-max-store-size-linux: 1G gc-max-store-size-linux: 1G
# do purge caches # do purge caches
purge: true purge: true
# purge all versions of the cache # purge all versions of the cache
purge-prefixes: nix- purge-prefixes: nix-
# created more than this number of seconds ago # created more than this number of seconds ago
purge-created: 0 purge-created: 0
# or, last accessed more than this number of seconds ago # or, last accessed more than this number of seconds ago
# relative to the start of the `Post Restore and save Nix store` phase # relative to the start of the `Post Restore and save Nix store` phase
purge-last-accessed: 0 purge-last-accessed: 0
# except any version with the key that is the same as the `primary-key` # except any version with the key that is the same as the `primary-key`
purge-primary-key: never purge-primary-key: never
- name: Update flake inputs - name: Update flake inputs
run: nix flake update run: nix flake update
- name: Attempt to build flake - name: Attempt to build flake
run: nix build '.#with-shell' run: nix build '.#with-shell'
- name: Test modules - name: Test modules
run: | run: |
result/bin/caelestia -v result/bin/caelestia -v
result/bin/caelestia -h result/bin/caelestia -h
result/bin/caelestia toggle -h result/bin/caelestia toggle -h
result/bin/caelestia scheme -h result/bin/caelestia scheme -h
result/bin/caelestia scheme list result/bin/caelestia scheme list
result/bin/caelestia scheme get result/bin/caelestia scheme get
result/bin/caelestia scheme set -n gruvbox -f hard -m dark -v content result/bin/caelestia scheme set -n gruvbox -f hard -m dark -v content
result/bin/caelestia screenshot -h result/bin/caelestia screenshot -h
result/bin/caelestia record -h result/bin/caelestia record -h
result/bin/caelestia clipboard -h result/bin/caelestia clipboard -h
result/bin/caelestia emoji -h result/bin/caelestia emoji -h
result/bin/caelestia emoji result/bin/caelestia emoji
result/bin/caelestia wallpaper -h result/bin/caelestia wallpaper -h
result/bin/caelestia pip -h result/bin/caelestia pip -h
- name: Test graphical stuff - name: Test graphical stuff
env: env:
XDG_RUNTIME_DIR: /home/runner/runtime XDG_RUNTIME_DIR: /home/runner/runtime
WLR_BACKENDS: headless WLR_BACKENDS: headless
WLR_LIBINPUT_NO_DEVICES: 1 WLR_LIBINPUT_NO_DEVICES: 1
WAYLAND_DISPLAY: wayland-1 WAYLAND_DISPLAY: wayland-1
GTK_USE_PORTAL: 0 GTK_USE_PORTAL: 0
run: | run: |
mkdir $XDG_RUNTIME_DIR mkdir $XDG_RUNTIME_DIR
chown $USER $XDG_RUNTIME_DIR chown $USER $XDG_RUNTIME_DIR
chmod 0700 $XDG_RUNTIME_DIR chmod 0700 $XDG_RUNTIME_DIR
nix profile install 'nixpkgs#sway' nix profile install 'nixpkgs#sway'
sway & sway &
sleep 3 # Give Sway some time to start sleep 3 # Give Sway some time to start
result/bin/caelestia shell -d result/bin/caelestia shell -d
sleep 3 # Give the shell some time to start (and die) sleep 3 # Give the shell some time to start (and die)
# Test CLI graphical modules # Test CLI graphical modules
result/bin/caelestia clipboard & result/bin/caelestia clipboard &
result/bin/caelestia emoji -p & result/bin/caelestia emoji -p &
result/bin/caelestia shell -s result/bin/caelestia shell -s
result/bin/caelestia shell drawers list result/bin/caelestia shell drawers list
result/bin/caelestia shell mpris list result/bin/caelestia shell mpris list
result/bin/caelestia shell notifs clear result/bin/caelestia shell notifs clear
pgrep .quickshell-wra # Fail job if shell died pgrep .quickshell-wra # Fail job if shell died
result/bin/caelestia shell -k result/bin/caelestia shell -k
killall sway # Screw using IPC killall sway # Screw using IPC
- name: Check for changes - name: Check for changes
id: check id: check
run: echo modified=$(test -n "$(git status --porcelain)" && echo 'true' || echo 'false') >> $GITHUB_OUTPUT run: echo modified=$(git diff --exit-code flake.lock && echo 'false' || echo 'true') >> $GITHUB_OUTPUT
- name: Commit and push changes - name: Commit and push changes
if: steps.check.outputs.modified == 'true' if: steps.check.outputs.modified == 'true'
uses: EndBug/add-and-commit@v9 uses: EndBug/add-and-commit@v9
with: with:
add: flake.lock add: flake.lock
default_author: github_actions default_author: github_actions
message: "[CI] chore: update flake" message: "[CI] chore: update flake"