Repository navigation
54 lines (51 loc) · 1.77 KB
/
Copy pathci.yml
File metadata and controls
54 lines (51 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
name: ci
on:
push:
pull_request:
workflow_dispatch:
jobs:
checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install shellcheck
run: |
sudo apt-get update
sudo apt-get install -y shellcheck
- uses: pre-commit/action@v3.0.1
env:
# Gitleaks runs before publication through the local Git hooks.
SKIP: gitleaks
- name: Test downloads with offline fixtures
run: python3 .github/scripts/check-fetch.py
smoke:
runs-on: ubuntu-latest
container: ubuntu:24.04
steps:
- name: Install prerequisites
run: |
apt-get update
apt-get install -y curl git ca-certificates python3 zsh shellcheck
- uses: actions/checkout@v4
- name: Install chezmoi
run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /usr/local/bin
- name: Render each machine and check shell syntax
run: python3 .github/scripts/check-render.py
- name: Test Pi settings and package repair offline
run: python3 .github/scripts/check-pi.py
- name: Apply in a clean home without a key or software bundles
run: |
set -eu
mkdir -p "$HOME/.local/share"
cp -a "$PWD" "$HOME/.local/share/chezmoi"
# Theme downloads are not part of the installation smoke test.
chezmoi init --apply --no-tty --exclude externals \
--promptString machine=container \
--promptString theme=rose-pine
# Always-run scripts remain pending after apply. Verify files only.
chezmoi verify --exclude externals,scripts
bash -n "$HOME/.bashrc"
zsh -n "$HOME/.zshrc"