Skip to content

Commit

Permalink
Added scripts folder. Improved Makefile and Taskfile.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
okineadev committed May 1, 2024
1 parent 30558d1 commit 487a79d
Show file tree
Hide file tree
Showing 6 changed files with 106 additions and 61 deletions.
24 changes: 13 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,14 @@ jobs:
release_version=$(echo "$tag" | sed 's/v//g')
changes="You can view the changes at this link - https://github.com/okineadev/dotload/releases/tag/$tag"
make deb-package \
WORKFLOW="true" \
VERSION="$release_version" \
FULLNAME="$FULLNAME" \
EMAIL="$EMAIL" \
CHANGES="$changes" \
PASSPHRASE="${{ secrets.PPA_GPG_KEY_PASSPHRASE }}" \
KEY="$key"
make deb-package ARGS="\
--workflow \
--version $release_version \
--fullname $FULLNAME \
--email $EMAIL \
--changes $changes \
--passphrase ${{ secrets.PPA_GPG_KEY_PASSPHRASE }} \
--key $key"
- name: 🛠️ Build Snap package
run: |
Expand All @@ -71,9 +71,7 @@ jobs:
release_version=$(echo "$tag" | sed 's/v//g')
# Build snap package
make snap-package \
WORKFLOW="true" \
VERSION="$release_version"
make snap-package ARGS="--workflow --version $release_version"
- name: ⬆️ Upload files to release
uses: softprops/action-gh-release@v1
Expand All @@ -96,3 +94,7 @@ jobs:
# Login
export SNAPCRAFT_STORE_CREDENTIALS="${{ secrets.SNAPCRAFT_CREDENTIALS }}"
snapcraft upload --release=stable dotload_*_all.snap
- name: 🧹 Clean
run: |
make clean
26 changes: 3 additions & 23 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ SHELL := /bin/bash

# Removing artifacts after build
clean:
@rm -rf dotload_*.deb dotload_*.snap dotload_*.build dotload_*.buildinfo dotload_*.changes dotload_*.dsc dotload_*.tar.xz
./scripts/clean.sh

# Installing the tool
install:
Expand All @@ -17,31 +17,11 @@ uninstall:

# Creating a deb package
deb-package:
@cd dotload; \
if [[ "$(WORKFLOW)" = "true" ]]; then \
export DEBEMAIL="$(EMAIL)"; \
export DEBFULLNAME="$(FULLNAME)"; \
dch --create --distribution noble --package dotload --newversion "$(VERSION)" "$(CHANGES)"; \
debuild --no-lintian -i -p"gpg --passphrase $(PASSPHRASE) --pinentry-mode loopback" -k$(KEY); \
debuild --no-lintian -S -sa -p"gpg --passphrase $(PASSPHRASE) --pinentry-mode loopback" -k$(KEY); \
else \
debuild --no-lintian -us -uc; \
fi
@./scripts/deb-package.sh $(ARGS)

# Creating a snap package
snap-package:
@# Create version in snapcraft.yaml
@sed -i "s/@@VERSION@@/$(VERSION)/g" snap/snapcraft.yaml

@if [[ "$(WORKFLOW)" = "true" ]]; then \
sg lxd -c 'snap run snapcraft clean'; \
sg lxd -c 'snap run snapcraft --verbose'; \
else \
snapcraft clean; \
snapcraft --verbose; \
fi

@sed -i "s/$(VERSION)/@@VERSION@@/g" snap/snapcraft.yaml
./scripts/snap-package.sh $(ARGS)

all: deb-package snap-package

Expand Down
31 changes: 4 additions & 27 deletions Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: '3'

tasks:
clean:
cmd: rm -rf dotload_*.deb dotload_*.snap dotload_*.build dotload_*.buildinfo dotload_*.changes dotload_*.dsc dotload_*.tar.xz
cmd: ./scripts/clean.sh

install:
cmd: ./install.sh
Expand All @@ -11,31 +11,8 @@ tasks:
cmd: sudo rm "${PREFIX}/bin/dotload"

build-deb:
cmds:
- |
cd dotload
if [[ "{{.WORKFLOW}}" = "true" ]]; then
export DEBEMAIL="{{.EMAIL}}"
export DEBFULLNAME="{{.FULLNAME}}"
dch --create --distribution noble --package dotload --newversion "{{.VERSION}}" "{{.CHANGES}}"
debuild --no-lintian -i -p"gpg --passphrase {{.PASSPHRASE}} --pinentry-mode loopback" -k{{.KEY}}
debuild --no-lintian -S -sa -p"gpg --passphrase {{.PASSPHRASE}} --pinentry-mode loopback" -k{{.KEY}}
else
debuild --no-lintian -us -uc
fi
cmd: ./scripts/deb-package.sh {{.CLI_ARGS}}
silent: true

build-snap:
cmds:
- |
# Create version in snapcraft.yaml
sed -i "s/@@VERSION@@/{{.VERSION}}/g" snap/snapcraft.yaml
if [[ "{{.WORKFLOW}}" = "true" ]]; then
sg lxd -c 'snap run snapcraft clean'
sg lxd -c 'snap run snapcraft --verbose'
else
snapcraft clean
snapcraft --verbose
fi
sed -i "s/{{.VERSION}}/@@VERSION@@/g" snap/snapcraft.yaml
cmd: ./scripts/snap-package.sh {{.CLI_ARGS}}
9 changes: 9 additions & 0 deletions scripts/clean.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env bash

rm -rf dotload_*.deb \
dotload_*.snap \
dotload_*.build \
dotload_*.buildinfo \
dotload_*.changes \
dotload_*.dsc \
dotload_*.tar.xz
51 changes: 51 additions & 0 deletions scripts/deb-package.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/usr/bin/env bash

while [[ $# -gt 0 ]]; do
key="$1"

case $key in
--workflow)
WORKFLOW=true
;;
--email)
shift
EMAIL="$1"
;;
--fullname)
shift
FULLNAME="$1"
;;
--version)
shift
VERSION="$1"
;;
--changes)
shift
CHANGES="$1"
;;
--passphrase)
shift
PASSPHRASE="$1"
;;
--key)
shift
KEY="$1"
;;
*)
echo "Невідомий аргумент: $1"
exit 1
;;
esac
shift
done

cd dotload
if [[ "$WORKFLOW" = "true" ]]; then
export DEBEMAIL="$EMAIL"
export DEBFULLNAME="$FULLNAME"
dch --create --distribution noble --package dotload --newversion "$VERSION" "$CHANGES"
debuild --no-lintian -i -p"gpg --passphrase $PASSPHRASE --pinentry-mode loopback" -k$KEY
debuild --no-lintian -S -sa -p"gpg --passphrase $PASSPHRASE --pinentry-mode loopback" -k$KEY
else
debuild --no-lintian -us -uc
fi
26 changes: 26 additions & 0 deletions scripts/snap-package.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env bash

while [[ $# -gt 0 ]]; do
key="$1"

case $key in
--version)
shift
VERSION="$1"
;;
esac
shift
done

# Create version in snapcraft.yaml
sed -i "s/@@VERSION@@/$VERSION/g" snap/snapcraft.yaml

if [[ "{{.WORKFLOW}}" = "true" ]]; then
sg lxd -c 'snap run snapcraft clean'
sg lxd -c 'snap run snapcraft --verbose'
else
snapcraft clean
snapcraft --verbose
fi

sed -i "s/$VERSION/@@VERSION@@/g" snap/snapcraft.yaml

0 comments on commit 487a79d

Please sign in to comment.