Skip to content

Commit

Permalink
merge pull request #49 from FWDekker/dev~ 💚
Browse files Browse the repository at this point in the history
v1.2.2~ 💚
  • Loading branch information
FWDekker committed Mar 9, 2023
2 parents d9b6014 + 98761c9 commit 9c2ee38
Show file tree
Hide file tree
Showing 21 changed files with 1,127 additions and 337 deletions.
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,6 @@ trim_trailing_whitespace = false

[*.yml]
indent_size = 2

[GNUmakefile]
indent_style = tab
1 change: 1 addition & 0 deletions .fpm
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-s dir
-f
--name mommy
--license unlicense
--architecture all
Expand Down
Binary file modified .github/img/demo.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 5 additions & 4 deletions .github/img/demo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,22 @@
# * Resize window to 80x20
# * Hide console border
# 3. In SimpleScreenRecorder, select console window, and change width to 1900 and height to 800
# 4. Start recording, activate this script with global shortcut, then stop recording
# 5. Create a GIF with `ffmpeg -i simplescreenrecorder*.mkv -vf "fps=24,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 demo.gif`
# 4. Open `sh` shell
# 5. Start recording, activate this script with global shortcut, then stop recording
# 6. Create a GIF with `ffmpeg -y -i ~/Videos/simplescreenrecorder*.mkv -vf "fps=24,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 ./.github/img/demo.gif`

set -e

echo "Waiting 1 second before starting"
sleep "1"

echo "Run faulty command"
xdotool type --delay 100 "mommy ./trest.sh"
xdotool type --delay 100 "mommy make tesr"
sleep "1.5"
xdotool key Return
sleep "2"

echo "Run working command"
xdotool type --delay 100 "mommy ./test.sh"
xdotool type --delay 100 "mommy make test"
sleep "1.5"
xdotool key Return
206 changes: 166 additions & 40 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,13 @@ on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:

permissions:
contents: write
packages: read

jobs:
create-release:
runs-on: ubuntu-latest
needs: [build-linux, build-macos, build-freebsd, build-netbsd, build-openbsd]
if: github.ref == 'refs/heads/main' # For other branches, artifacts are attached to the workflow run as `dist.zip`

steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download built packages
uses: actions/download-artifact@v3
with:
name: dist
- name: Extract version number
run: echo "VERSION=v$(head -n 1 ./version)" >> $GITHUB_ENV
- name: Extract release notes
id: extract-release-notes
uses: ffurrer2/extract-release-notes@v1
with:
release_notes_file: RELEASE_NOTES.md
- name: Create release
uses: softprops/action-gh-release@v1
with:
draft: true
prerelease: false
tag_name: ${{ env.VERSION }}
body_path: RELEASE_NOTES.md
files: mommy*

build-linux:
runs-on: ubuntu-latest
steps:
Expand All @@ -50,8 +20,8 @@ jobs:
run: |
sudo apt install -y rubygems libarchive-tools rpm zstd
sudo gem install --no-document fpm
- name: Build package
run: ./build.sh apk deb rpm pacman
- name: Build packages
run: make dist/apk dist/deb dist/rpm dist/pacman
- name: Upload built package
uses: actions/upload-artifact@v3
with:
Expand All @@ -66,7 +36,7 @@ jobs:
- name: Install fpm
run: sudo gem install --no-document fpm
- name: Build package
run: ./build.sh osxpkg
run: make dist/osxpkg
- name: Upload built package
uses: actions/upload-artifact@v3
with:
Expand All @@ -83,6 +53,10 @@ jobs:
with:
usesh: true
prepare: |
echo "::group::Install basic packages"
pkg install -y git gmake || exit 1
echo "::endgroup::"
# fpm
echo "::group::Install fpm: Actually install fpm"
pkg install -y devel/ruby-gems || exit 1
Expand All @@ -97,13 +71,12 @@ jobs:
# /fpm
echo "::group::Ignore ownership issues"
pkg install -y git || exit 1
git config --global --add safe.directory "$GITHUB_WORKSPACE" || exit 1
echo "::endgroup::"
run: |
set -e
./build.sh freebsd
gmake dist/freebsd
- name: Upload built package
uses: actions/upload-artifact@v3
with:
Expand All @@ -122,21 +95,24 @@ jobs:
prepare: |
set -e
echo "::group::Install basic packages"
pkg_add git gmake || exit 1
echo "::endgroup::"
echo "::group::Install fpm"
pkg_add ruby
/usr/pkg/bin/gem* install --no-document fpm
pkg_add pkg_install # This is necessary to make `fpm` work with `pkgin` format for some reason
echo "::endgroup::"
echo "::group::Ignore ownership issues"
pkg_add git
git config --global --add safe.directory "$GITHUB_WORKSPACE"
echo "::endgroup::"
run: |
set -e
export PATH="/usr/sbin:$PATH" # Add `pkg_*` commands to path
./build.sh netbsd
gmake dist/netbsd
- name: Upload built package
uses: actions/upload-artifact@v3
with:
Expand All @@ -155,22 +131,172 @@ jobs:
prepare: |
set -e
echo "::group::Install basic packages"
pkg_add git gmake
echo "::endgroup::"
echo "::group::Install fpm"
pkg_add "$(pkg_info -Q ruby | grep "^ruby-[0-9]" | tail -n 1)"
/usr/local/bin/gem* install --no-document fpm
ln -s /usr/local/bin/fpm* /usr/local/bin/fpm # Symlink `fpm` to latest version
echo "::endgroup::"
echo "::group::Ignore ownership issues"
pkg_add git
git config --global --add safe.directory "$GITHUB_WORKSPACE"
echo "::endgroup::"
run: |
set -e
./build.sh openbsd
gmake dist/openbsd
- name: Upload built package
uses: actions/upload-artifact@v3
with:
name: dist
path: dist/mommy*


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

steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download built packages
uses: actions/download-artifact@v3
with:
name: dist
- name: Extract version number
run: echo "MOMMY_VERSION=v$(head -n 1 ./version)" >> $GITHUB_ENV
- name: Extract release notes
id: extract-release-notes
uses: ffurrer2/extract-release-notes@v1
with:
release_notes_file: RELEASE_NOTES.md
- name: Checkout release
uses: softprops/action-gh-release@v1
with:
draft: false
prerelease: false
tag_name: ${{ env.MOMMY_VERSION }}
body_path: RELEASE_NOTES.md
files: mommy*


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

steps:
- name: Set up basic system
run: |
echo "::group::Update system"
pacman -Syu --noconfirm
echo "::endgroup::"
echo "::group::Install basic packages"
pacman -S --noconfirm --needed git base-devel
echo "::endgroup::"
echo "::group::Add non-privileged user to run makepkg"
useradd -m build
echo "build ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
echo "::endgroup::"
- name: Checkout mommy
uses: actions/checkout@v3
with:
path: mommy
- name: Extract version number
run: echo "MOMMY_VERSION=v$(head -n 1 ./mommy/version)" >> $GITHUB_ENV

- name: Checkout aur-mommy
uses: actions/checkout@v3
with:
repository: FWDekker/aur-mommy
path: aur-mommy
ref: master
fetch-depth: 0
# Required to trigger CI action when pushed
token: ${{ secrets.personal_access_token }}
- name: Fix aur-mommy directory ownership
run: chown -R build:build ./aur-mommy/
- name: Update build files
working-directory: ./aur-mommy/
run: |
echo "::group::Fast-forward main"
git checkout dev
git checkout master
git merge --commit dev
echo "::endgroup::"
echo "::group::Update build files"
./update.sh "$MOMMY_VERSION"
echo "::endgroup::"
echo "::group::Commit update"
git config --global user.name "FWDekkerBot"
git config --global user.email "bot@fwdekker.com"
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
echo "::endgroup::"
echo "::group::Push changes"
git push origin master dev
echo "::endgroup::"
release-homebrew:
runs-on: ubuntu-latest
needs: [ release-mommy ]

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

- name: Checkout homebrew-mommy
uses: actions/checkout@v3
with:
repository: FWDekker/homebrew-mommy
path: homebrew-mommy
ref: main
fetch-depth: 0
# Required to trigger CI action when pushed
token: ${{ secrets.personal_access_token }}
- name: Update formula
working-directory: ./homebrew-mommy/
run: |
echo "::group::Fast-forward main"
git checkout dev
git checkout main
git merge --commit dev
echo "::endgroup::"
echo "::group::Update formula"
./update.sh "$MOMMY_VERSION"
echo "::endgroup::"
echo "::group::Commit update"
git config --global user.name "FWDekkerBot"
git config --global user.email "bot@fwdekker.com"
git commit -am "mommy updated the formula to mommy $MOMMY_VERSION~"
echo "::endgroup::"
echo "::group::Fast-forward dev"
git checkout dev
git merge --commit main
echo "::endgroup::"
echo "::group::Push changes"
git push origin main dev
echo "::endgroup::"
Loading

0 comments on commit 9c2ee38

Please sign in to comment.