Skip to content

fix: validate zi repository identity before destructive git operations; automate checksum generation #43

fix: validate zi repository identity before destructive git operations; automate checksum generation

fix: validate zi repository identity before destructive git operations; automate checksum generation #43

Workflow file for this run

---
name: Check (Linux)
on:
push:
branches: [main]
paths:
- "public/sh/**"
- "public/zsh/**"
- "tests/**"
- ".github/workflows/check-linux.yml"
pull_request:
branches: [main]
paths:
- "public/sh/**"
- "public/zsh/**"
- "tests/**"
- ".github/workflows/check-linux.yml"
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
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:
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: "⚙️ Check: unit fixtures"
run: sh ./tests/installers.sh
- name: "⚙️ Check: install.sh -- -i skip"
run: sh -x ./public/sh/install.sh -- -i skip; command rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/zi" ~/.zi
- name: "⚙️ Check: install.sh -- -a annex"
run: sh -x ./public/sh/install.sh -- -a annex; command rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/zi" ~/.zi
- name: "⚙️ Check: install.sh -- -a loader"
run: sh -x ./public/sh/install.sh -- -a loader; command rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/zi" ~/.zi
- name: "⚙️ Check: install.sh -- -a zunit"
run: sh -x ./public/sh/install.sh -- -a zunit; command rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/zi" ~/.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}
- name: "⚙️ Check: init.zsh sync drift"
run: sh public/sh/sync-init.sh --local ./public/zsh/init.zsh --remote ./public/zsh/init.zsh --checksum-url ./public/checksum.txt