- cron: "0 0 * * 0" # Weekly on Sundays
jobs:
- git-versions:
+ # Validate 3 versions of git
+ git:
name: Git Compatibility (${{ matrix.os }})
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
+
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y git curl python3-docutils
+
- name: Run Tests
run: make test
- shell-syntax:
+ # Validate completions for bash, zsh, and fish
+ shell-bash-zsh-fish:
name: Shell Completion Syntax
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+
+ - name: Show git version
+ run: git --version
+
- name: Install Shells
run: |
sudo apt-get update
sudo apt-get install -y zsh fish
- - name: Generate Completions
+
+ - name: Generate Completions (if not up to date)
run: make generate
+
- name: Check Bash Syntax
run: bash -n completions/bash/git-remote-gcrypt
+
- name: Check Zsh Syntax
run: zsh -n completions/zsh/_git-remote-gcrypt
+
- name: Check Fish Syntax
run: fish --no-execute completions/fish/git-remote-gcrypt.fish
jobs:
# Handles Ubuntu and macOS
- install-unix:
+ Unix:
runs-on: ${{ matrix.os }}
env:
run: make check/install
# Handles RedHat (UBI Container)
- install-rh:
+ RedHat:
runs-on: ubuntu-latest
env:
- uses: actions/checkout@v4
- name: Fix permissions for Docker
- run: chmod -R u+rwX,go+rX .
+ run: chmod -R 777 .
- name: Run tests in Termux
run: |
.PHONY: check/deps
-check/deps: ##H Verify kcov & shellcheck
+check/deps: check/deps/shellcheck check/deps/kcov ##H Verify kcov & shellcheck
+
+.PHONY: check/deps/shellcheck
+check/deps/shellcheck:
@$(call print_info, --- shellcheck version ---)
@shellcheck --version
+
+.PHONY: check/deps/kcov
+check/deps/kcov:
@$(call print_info, --- kcov version ---)
@kcov --version
.PHONY: test/purity
-test/purity: check/deps/shellcheck ##H Run logic tests (with native /bin/sh)
+test/purity: ##H Run logic tests (with native /bin/sh)
@echo "running system tests (native /bin/sh)..."
@export GPG_TTY=$$(tty); \
[ -n "$(DEBUG)$(V)" ] && export GCRYPT_DEBUG=1; \