Skip to content

Commit

Permalink
💙 merge pull request #57 from FWDekker/dev~
Browse files Browse the repository at this point in the history
💙 v1.2.3~
  • Loading branch information
FWDekker authored Mar 14, 2023
2 parents 9c2ee38 + 8763576 commit 4818006
Show file tree
Hide file tree
Showing 13 changed files with 713 additions and 161 deletions.
2 changes: 1 addition & 1 deletion .fpm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
--license unlicense
--architecture all
--no-auto-depends
--description "Mommy's here to support you~"
--description "mommy's here to support you~"
--url "https://github.com/FWDekker/mommy"
--maintainer "Florine W. Dekker"
--deb-changelog ./CHANGELOG.md
Expand Down
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* eol=lf
src/** eol=lf
44 changes: 29 additions & 15 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,16 @@ permissions:
packages: read

jobs:
check-release-needed:
# Note that `workflow_dispatch` is never skipped
if: "!(contains(github.event.head_commit.message, '[cd skip]') || contains(github.event.head_commit.message, '[skip cd]'))"
runs-on: ubuntu-latest
steps:
- name: nop
run: true

build-linux:
needs: [ check-release-needed ]
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand All @@ -21,14 +30,15 @@ jobs:
sudo apt install -y rubygems libarchive-tools rpm zstd
sudo gem install --no-document fpm
- name: Build packages
run: make dist/apk dist/deb dist/rpm dist/pacman
run: make dist/generic dist/apk dist/deb dist/rpm dist/pacman
- name: Upload built package
uses: actions/upload-artifact@v3
with:
name: dist
path: dist/mommy*

build-macos:
needs: [ check-release-needed ]
runs-on: macos-latest
steps:
- name: Checkout
Expand All @@ -44,6 +54,7 @@ jobs:
path: dist/mommy*

build-freebsd:
needs: [ check-release-needed ]
runs-on: macos-12
steps:
- name: Checkout
Expand Down Expand Up @@ -84,6 +95,7 @@ jobs:
path: dist/mommy*

build-netbsd:
needs: [ check-release-needed ]
runs-on: macos-12
steps:
- name: Checkout
Expand Down Expand Up @@ -120,6 +132,7 @@ jobs:
path: dist/mommy*

build-openbsd:
needs: [ check-release-needed ]
runs-on: macos-12
steps:
- name: Checkout
Expand Down Expand Up @@ -156,8 +169,8 @@ jobs:


release-mommy:
runs-on: ubuntu-latest
needs: [ build-linux, build-macos, build-freebsd, build-netbsd, build-openbsd ]
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && github.event_name != 'workflow_dispatch'

steps:
Expand All @@ -183,11 +196,10 @@ jobs:
body_path: RELEASE_NOTES.md
files: mommy*


release-aur:
needs: [ release-mommy ]
runs-on: ubuntu-latest
container: archlinux:latest
needs: [ release-mommy ]

steps:
- name: Set up basic system
Expand All @@ -209,6 +221,7 @@ jobs:
uses: actions/checkout@v3
with:
path: mommy
token: ${{ secrets.personal_access_token }}
- name: Extract version number
run: echo "MOMMY_VERSION=v$(head -n 1 ./mommy/version)" >> $GITHUB_ENV

Expand All @@ -227,40 +240,41 @@ jobs:
working-directory: ./aur-mommy/
run: |
echo "::group::Fast-forward main"
git checkout dev
git checkout master
git merge --commit dev
sudo -u build git checkout dev
sudo -u build git checkout master
sudo -u build git merge --commit dev
echo "::endgroup::"
echo "::group::Update build files"
./update.sh "$MOMMY_VERSION"
sudo -u build ./update.sh "$MOMMY_VERSION"
echo "::endgroup::"
echo "::group::Commit update"
git config --global user.name "FWDekkerBot"
git config --global user.email "[email protected]"
git commit -am "mommy updated the build files to mommy $MOMMY_VERSION~"
sudo -u build git config --global user.name "FWDekkerBot"
sudo -u build git config --global user.email "[email protected]"
sudo -u build git commit -am "mommy updated the build files to mommy $MOMMY_VERSION~"
echo "::endgroup::"
echo "::group::Fast-forward dev"
git checkout dev
git merge --commit master
sudo -u build git checkout dev
sudo -u build git merge --commit master
echo "::endgroup::"
echo "::group::Push changes"
git push origin master dev
sudo -u build git push origin master dev
echo "::endgroup::"
release-homebrew:
runs-on: ubuntu-latest
needs: [ release-mommy ]
runs-on: ubuntu-latest

steps:
- name: Checkout mommy
uses: actions/checkout@v3
with:
path: mommy
token: ${{ secrets.personal_access_token }}
- name: Extract version number
run: echo "MOMMY_VERSION=v$(head -n 1 ./mommy/version)" >> $GITHUB_ENV

Expand Down
133 changes: 127 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
echo "::endgroup::"
echo "::group::Install additional shells"
sudo apt install fish zsh
sudo apt-get install fish zsh
touch "$HOME/.zshrc"
echo "::endgroup::"
Expand All @@ -27,7 +27,7 @@ jobs:

- name: Install fpm and build dependencies
run: |
sudo apt install -y rubygems libarchive-tools rpm zstd
sudo apt-get install -y rubygems libarchive-tools rpm zstd
sudo gem install --no-document fpm
- name: Test fpm package
run: |
Expand All @@ -36,26 +36,26 @@ jobs:
echo "::endgroup::"
echo "::group::Install"
sudo apt install -y ./dist/mommy-*.deb
sudo apt-get install -y ./dist/mommy-*.deb
echo "::endgroup::"
echo "::group::Test"
make system=1 test
echo "::endgroup::"
echo "::group::Uninstall"
sudo apt purge -y mommy
sudo apt-get purge -y mommy
echo "::endgroup::"
- name: Install Linuxbrew
- name: Install Homebrew
run: NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- name: Checkout homebrew-mommy
uses: actions/checkout@v3
with:
repository: FWDekker/homebrew-mommy
path: homebrew-mommy
ref: dev
- name: Test Linuxbrew package
- name: Test Homebrew package
run: |
echo "::group::Enable Homebrew"
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
Expand Down Expand Up @@ -179,6 +179,91 @@ jobs:
echo "::endgroup::"
test-fedora:
runs-on: ubuntu-latest
container: fedora:latest
steps:
- name: Set up basic system
run: |
echo "::group::Update system"
dnf -y update
echo "::endgroup::"
echo "::group::Install basic packages"
dnf -y install git make rpm-build
echo "::endgroup::"
- name: Install dependencies for mommy
run: |
echo "::group::Install man-db"
dnf -y install man-db
sed -i "/nodocs/d" /etc/dnf/dnf.conf # Extract man pages
echo "::endgroup::"
echo "::group::Install ShellSpec"
git clone --depth=1 https://github.com/shellspec/shellspec.git
make -C shellspec install
echo "::endgroup::"
echo "::group::Install additional shells"
dnf -y install fish zsh
echo "::endgroup::"
- name: Checkout mommy
uses: actions/checkout@v3
with:
# Checkout to subdirectory is required for `pkg/rpm/rpkg.conf` to correctly determine `${git_props:root}`
path: mommy
- name: Test script
working-directory: ./mommy/
run: make test

- name: Install fpm
run: |
dnf -y install rubygems
gem install --no-document fpm
- name: Test fpm package
working-directory: ./mommy/
run: |
echo "::group::Build"
make dist/rpm
echo "::endgroup::"
echo "::group::Install"
dnf -y install ./dist/mommy*.rpm
echo "::endgroup::"
echo "::group::Test"
make system=1 test
echo "::endgroup::"
echo "::group::Uninstall"
dnf -y remove mommy
echo "::endgroup::"
- name: Install rpkg
run: dnf -y install rpkg
- name: Test SRPM package
working-directory: ./mommy/
run: |
echo "::group::Build"
rpkg -p ./pkg/rpm local # build srpm
rpmbuild --rebuild /tmp/rpkg/mommy-*/*.rpm
echo "::endgroup::"
echo "::group::Install"
dnf -y install "$HOME"/rpmbuild/RPMS/*/*.rpm
echo "::endgroup::"
echo "::group::Test"
make system=1 test
echo "::endgroup::"
echo "::group::Uninstall"
dnf -y remove mommy
echo "::endgroup::"
test-macos:
runs-on: macos-latest
steps:
Expand Down Expand Up @@ -430,3 +515,39 @@ jobs:
echo "::group::Uninstall package"
pkg_delete mommy
echo "::endgroup::"
test-windows:
runs-on: windows-latest
steps:
- name: Set up msys2
uses: msys2/setup-msys2@v2
with:
update: true
# Install basic package && Install additional shells
install: git make fish zsh

- name: Install dependencies for mommy
shell: msys2 {0}
run: |
echo "::group::Install ShellSpec"
git clone --depth=1 https://github.com/shellspec/shellspec.git
make -C shellspec install
echo "::endgroup::"
echo "::group::Post-install additional shells"
touch "$HOME/.zshrc"
echo "::endgroup::"
- name: Checkout
uses: actions/checkout@v3
- name: Test script
shell: msys2 {0}
run: make test

- name: Install mommy
shell: msys2 {0}
run: make install
- name: Test installed mommy
shell: msys2 {0}
run: make system=1 test
43 changes: 16 additions & 27 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,35 @@
# Changelog
## [Unreleased]
## [1.2.3] -- 2023-03-14
### added
* 🎩 mommy is now available for fedora, red hat, and other rpm-based systems via [copr](https://copr.fedorainfracloud.org/)~ ([#39](https://github.com/FWDekker/mommy/issues/39))
* 🪟 mommy is now tested on msys2 for windows~ ([#54](https://github.com/FWDekker/mommy/issues/54))
* 💥 mommy's makefile now has an `uninstall` option~

### changed

### deprecated

### removed
* ✍️ mommy rewrote the installation instructions~ ([#51](https://github.com/FWDekker/mommy/issues/51))
* 🐙 mommy links to github if `man` doesn't work~ ([#55](https://github.com/FWDekker/mommy/issues/55))

### fixed

### security
* ✏️ mommy fixed some minor errors in the readme~
* ♻️ mommy hopefully fixed automatic synchronous releases for homebrew and aur~


## [1.2.2] -- 2023-03-09
### added
* mommy has shell completions for fish and zsh~ 🐟
they are enabled by default on most machines.
if you installed mommy with brew, check the
[brew documentation on how to enable shell completions](https://docs.brew.sh/Shell-Completion)~
([#43](https://github.com/FWDekker/mommy/issues/43))
([#48](https://github.com/FWDekker/mommy/pull/48))
* 🐟 mommy has shell completions for fish and zsh~
they are enabled by default on most machines. if you installed mommy with brew, check the [brew documentation on how to enable shell completions](https://docs.brew.sh/Shell-Completion)~ ([#43](https://github.com/FWDekker/mommy/issues/43)) ([#48](https://github.com/FWDekker/mommy/pull/48))

### changed
* mommy no longer talks like a robot when unknown options are used~ 🤖
* 🤖 mommy no longer talks like a robot when unknown options are used~
([#47](https://github.com/FWDekker/mommy/pull/47))
* mommy's build system has been revamped~ ⚗️
([#38](https://github.com/FWDekker/mommy/issues/38))
([#42](https://github.com/FWDekker/mommy/issues/42))
* mommy has a bunch more emoji in her readme~
* ⚗️ mommy's build system has been revamped~
([#38](https://github.com/FWDekker/mommy/issues/38)) ([#42](https://github.com/FWDekker/mommy/issues/42))
* ⭐ mommy has a bunch more emoji in her readme~
([#40](https://github.com/FWDekker/mommy/issues/40))

### deprecated

### removed

### fixed
* mommy installs herself into `/usr/bin` instead of `/usr/local/bin` on linux, to comply with the standards of various
operating systems~ 📁
* mommy better tolerates missing optional dependencies when installing from aur~ 💪

### security
* 📁 mommy installs herself into `/usr/bin` instead of `/usr/local/bin` on linux, to comply with the standards of various operating systems~
* 💪 mommy better tolerates missing optional dependencies when installing from aur~


## [1.2.1] -- 2023-02-26
Expand Down
Loading

0 comments on commit 4818006

Please sign in to comment.