selfhostblocks/.github/workflows/demo.yml
dependabot[bot] e105ae1f9a Bump tj-actions/changed-files from 45 to 46
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 45 to 46.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v45...v46)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 18:24:27 +02:00

92 lines
2.1 KiB
YAML

name: Demo
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
jobs:
path-filter:
runs-on: ubuntu-latest
outputs:
changed: ${{ steps.filter.outputs.any_changed }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: tj-actions/changed-files@v46
id: filter
with:
files: |
demo/**
lib/**
modules/**
!modules/**/docs/**
test/**
flake.lock
flake.nix
.github/workflows/demo.yml
separator: "\n"
- env:
ALL_CHANGED_FILES: ${{ steps.filter.outputs.all_changed_files }}
run: |
echo $ALL_CHANGED_FILES
build:
needs: [ "path-filter" ]
if: needs.path-filter.outputs.changed == 'true'
strategy:
matrix:
demo:
- name: homeassistant
flake: basic
- name: homeassistant
flake: ldap
- name: nextcloud
flake: basic
- name: nextcloud
flake: ldap
- name: nextcloud
flake: sso
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install nix
uses: cachix/install-nix-action@v31
- uses: cachix/cachix-action@v16
with:
name: selfhostblocks
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Build ${{ matrix.demo.name }} .#${{ matrix.demo.flake }}
run: |
cd demo/${{ matrix.demo.name }}
nix flake update --override-input selfhostblocks ../.. selfhostblocks
nix \
--print-build-logs \
--option keep-going true \
--show-trace \
build .#nixosConfigurations.${{ matrix.demo.flake }}.config.system.build.vm
result:
runs-on: ubuntu-latest
needs: [ "build" ]
if: '!cancelled()'
steps:
- run: |
result="${{ needs.build.result }}"
if [[ $result == "success" || $result == "skipped" ]]; then
exit 0
else
exit 1
fi