Repository navigation
91 lines (87 loc) · 3.58 KB
/
Copy pathcheck-linux.yml
File metadata and controls
91 lines (87 loc) · 3.58 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
name: Check (Linux)
on:
push:
branches: [main]
paths:
- "public/setup/**"
- "public/sh/**"
- "public/zsh/**"
- "tests/**"
- ".github/workflows/check-linux.yml"
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
shellcheck:
name: Linux ShellCheck
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: ☑️ ShellCheck
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # 2.0.0
with:
scandir: "./public/sh"
build:
name: Linux Installer and Loader
runs-on: ubuntu-latest
timeout-minutes: 30
needs: [shellcheck]
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: ⚙️ Prepare dependencies
run: |
sudo apt-get update
sudo apt-get install -y zsh
- name: "⚙️ Generate checksums"
run: sh ./public/sh/generate-checksums.sh
- name: "⚙️ Check: unit fixtures"
run: sh ./tests/installers.sh
- name: "⚙️ Check: install.sh -i skip"
run: |
set -eu
# Start from a clean home; later steps clean up after themselves.
command rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/zi" ~/.zi ~/.zshrc "${XDG_CONFIG_HOME:-$HOME/.config}/zi"
sh -x ./public/sh/install.sh -i skip
test -f "${XDG_DATA_HOME:-$HOME/.local/share}/zi/bin/zi.zsh"
if grep -qs "zi.zsh" ~/.zshrc; then echo "-i skip modified .zshrc"; exit 1; fi
command rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/zi" ~/.zi ~/.zshrc "${XDG_CONFIG_HOME:-$HOME/.config}/zi"
- name: "⚙️ Check: install.sh -a annex"
run: |
set -eu
sh -x ./public/sh/install.sh -a annex
test -f "${XDG_DATA_HOME:-$HOME/.local/share}/zi/bin/zi.zsh"
grep -q "z-shell/z-a-meta-plugins" "${XDG_CONFIG_HOME:-$HOME/.config}/zi/setup/shell.zsh"
command rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/zi" ~/.zi ~/.zshrc "${XDG_CONFIG_HOME:-$HOME/.config}/zi"
- name: "⚙️ Check: install.sh -a loader"
run: |
set -eu
sh -x ./public/sh/install.sh -a loader
test -f "${XDG_DATA_HOME:-$HOME/.local/share}/zi/bin/zi.zsh"
test -f "${XDG_CONFIG_HOME:-$HOME/.config}/zi/init.zsh"
grep -Fq "source '${XDG_CONFIG_HOME:-$HOME/.config}/zi/setup.zsh'" ~/.zshrc
grep -Fq "zzinit" "${XDG_CONFIG_HOME:-$HOME/.config}/zi/setup.zsh"
command rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/zi" ~/.zi ~/.zshrc "${XDG_CONFIG_HOME:-$HOME/.config}/zi"
- name: "⚙️ Check: install.sh -a zunit"
run: |
set -eu
sh -x ./public/sh/install.sh -a zunit
test -f "${XDG_DATA_HOME:-$HOME/.local/share}/zi/bin/zi.zsh"
grep -q "@zunit" "${XDG_CONFIG_HOME:-$HOME/.config}/zi/setup/shell.zsh"
command rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/zi" ~/.zi ~/.zshrc "${XDG_CONFIG_HOME:-$HOME/.config}/zi"
- name: "⚙️ Check: install_zpmod.sh"
run: sh -x ./public/sh/install_zpmod.sh
- name: ⚙️ Load zpmod module
run: |
module_path+=( "${XDG_DATA_HOME:-$HOME/.local/share}/zi/zmodules/zpmod/Src" )
zmodload zi/zpmod
zpmod source-study -l
shell: zsh {0}