v5.0.0
===================================================================== Excited to bring V5 to life. This includes some BREAKING CHANGES to several aspects of ZSH-type scwrypts. Please refer to the readme for upgrade details (specifically docs/upgrade/v4-to-v5.md) --- New Features ------------------------- - ZSH testing library with basic mock capabilities - new scwrypts environment file format includes metadata and more advanced features like optional parent env overrides, selection inheritence, and improved structurual flexibility - speedup cache for non-CI runs of ZSH-type scwrypts - ${scwryptsmodule} syntax now allows a consistent unique-naming scheme for functions in ZSH-type scwrypts while providing better insight into origin of API calls in other modules - reusable, case-statement-driven argument parsers in ZSH-type scwrypts --- Changes ------------------------------ - several utility function renames in ZSH-type scwrypts to improve consistency - documentation comments included in ZSH libraries - ZSH-type scwrypts now allow library modules to live alongside executables (zsh/lib still supported; autodetection determines default) --- Bug Fixes ---------------------------- - hardened environment checking for REQUIRED_ENV variables; this removes the ability to overwrite variables in local function contexts
This commit is contained in:
@@ -22,10 +22,14 @@ executors:
|
||||
- image: node:18
|
||||
resource_class: medium
|
||||
|
||||
zsh:
|
||||
docker:
|
||||
- image: alpine:3
|
||||
resource_class: small
|
||||
|
||||
commands:
|
||||
archlinux-run:
|
||||
description: execute command steps in the archlinux container from the CI user
|
||||
description: execute steps in the archlinux container as the CI user
|
||||
parameters:
|
||||
_name:
|
||||
type: string
|
||||
@@ -243,6 +247,47 @@ jobs:
|
||||
- run: pip install build && python -m build
|
||||
- run: pip install twine && twine upload dist/*
|
||||
|
||||
zsh-test:
|
||||
executor: zsh
|
||||
working_directory: ~/scwrypts
|
||||
steps:
|
||||
- checkout:
|
||||
path: ~/scwrypts
|
||||
- run:
|
||||
name: install dependencies
|
||||
command: |
|
||||
: \
|
||||
&& apk add \
|
||||
coreutils \
|
||||
findutils \
|
||||
fzf \
|
||||
perl \
|
||||
sed \
|
||||
gawk \
|
||||
git \
|
||||
jo \
|
||||
jq \
|
||||
util-linux \
|
||||
uuidgen \
|
||||
yq \
|
||||
zsh \
|
||||
;
|
||||
- run:
|
||||
name: scwrypts zsh/unittest
|
||||
command: |
|
||||
~/scwrypts/scwrypts run unittest \
|
||||
;
|
||||
- run:
|
||||
name: scwrypts returns proper success codes
|
||||
command: |
|
||||
~/scwrypts/scwrypts -n sanity check -- --exit-code 0
|
||||
[[ $? -eq 0 ]] || exit 1
|
||||
- run:
|
||||
shell: /bin/sh
|
||||
name: scwrypts returns proper error codes
|
||||
command: |
|
||||
~/scwrypts/scwrypts -n sanity check -- --exit-code 101
|
||||
[[ $? -eq 101 ]] || exit 1
|
||||
|
||||
workflows:
|
||||
test:
|
||||
@@ -255,6 +300,7 @@ workflows:
|
||||
|
||||
- python-test: *dev-filters
|
||||
- nodejs-test: *dev-filters
|
||||
- zsh-test: *dev-filters
|
||||
|
||||
publish:
|
||||
jobs:
|
||||
@@ -285,6 +331,7 @@ workflows:
|
||||
- aur-test
|
||||
- python-publish
|
||||
- nodejs-publish
|
||||
- zsh-test
|
||||
|
||||
- python-test: *only-publish-for-full-semver
|
||||
- python-publish:
|
||||
@@ -292,6 +339,7 @@ workflows:
|
||||
context: [pypi-yage]
|
||||
requires:
|
||||
- python-test
|
||||
- zsh-test
|
||||
|
||||
- nodejs-test: *only-publish-for-full-semver
|
||||
- nodejs-publish:
|
||||
@@ -299,3 +347,6 @@ workflows:
|
||||
context: [npm-wrynegade]
|
||||
requires:
|
||||
- nodejs-test
|
||||
- zsh-test
|
||||
|
||||
- zsh-test: *only-publish-for-full-semver
|
||||
|
Reference in New Issue
Block a user