- Add mock-specific build artifacts (chroot/, mock-*, mockroot/) - Include package build files (*.deb, *.changes, *.buildinfo) - Add development tools (.coverage, .pytest_cache, .tox) - Include system files (.DS_Store, Thumbs.db, ._*) - Add temporary and backup files (*.tmp, *.bak, *.backup) - Include local configuration overrides (config.local.yaml, .env.local) - Add test artifacts and documentation builds - Comprehensive coverage for Python build system project This ensures build artifacts, chroot environments, and development tools are properly ignored in version control.
42 lines
820 B
Bash
Executable file
42 lines
820 B
Bash
Executable file
#!/bin/sh
|
|
# Tag and push a release.
|
|
|
|
set -e
|
|
|
|
# Make sure we're in the project root.
|
|
|
|
cd $(dirname "$0")/..
|
|
|
|
# Make sure the darn thing works
|
|
|
|
bundle update
|
|
|
|
# Build a new gem archive.
|
|
|
|
rm -rf jekyll-theme-slate-*.gem
|
|
gem build -q jekyll-theme-slate.gemspec
|
|
|
|
# Make sure we're on the master branch.
|
|
|
|
(git branch | grep -q 'master') || {
|
|
echo "Only release from the master branch."
|
|
exit 1
|
|
}
|
|
|
|
# Figure out what version we're releasing.
|
|
|
|
tag=v`ls jekyll-theme-slate-*.gem | sed 's/^jekyll-theme-slate-\(.*\)\.gem$/\1/'`
|
|
|
|
# Make sure we haven't released this version before.
|
|
|
|
git fetch -t origin
|
|
|
|
(git tag -l | grep -q "$tag") && {
|
|
echo "Whoops, there's already a '${tag}' tag."
|
|
exit 1
|
|
}
|
|
|
|
# Tag it and bag it.
|
|
|
|
gem push jekyll-theme-slate-*.gem && git tag "$tag" &&
|
|
git push origin master && git push origin "$tag"
|