mirror of
https://github.com/kdheepak/taskwarrior-tui.git
synced 2025-08-27 06:37:19 +02:00
45 lines
No EOL
1.4 KiB
YAML
45 lines
No EOL
1.4 KiB
YAML
name: 'Install Taskwarrior'
|
|
description: 'Builds taskwarrior from the latest stable release and installs it'
|
|
inputs:
|
|
secret_gh_token:
|
|
description: "GH token for downloading the assets"
|
|
required: true
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
# This pattern should only match match assets with a [numbers and dots] suffix
|
|
- name: Download latest stable taskwarrior release
|
|
run: |
|
|
gh release download -p "task-[0-9.]*.tar.gz" -R "GothenburgBitFactory/taskwarrior" -D /tmp/download
|
|
shell: bash
|
|
env:
|
|
GH_TOKEN: ${{ inputs.secret_gh_token }}
|
|
# Future proofing
|
|
- name: Check that we only got one release asset
|
|
run: |
|
|
if [ $(ls -1 /tmp/download | wc -l) -ne 1 ]
|
|
then
|
|
echo "Expected exactly one release asset"
|
|
exit 1
|
|
else
|
|
echo "Got expected number of release assets"
|
|
fi
|
|
shell: bash
|
|
- name: Extract taskwarrior without version number
|
|
run: |
|
|
cd /tmp/download
|
|
find . -name "*.tar.gz" -exec mv {} task.tar.gz \;
|
|
tar -xf task.tar.gz --transform='s;^task-[0-9.]*/;task/;'
|
|
cd /tmp
|
|
mv download/task taskwarrior
|
|
rm -rf download
|
|
shell: bash
|
|
- name: Compile taskwarrior
|
|
run: |
|
|
cd /tmp/taskwarrior
|
|
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release .
|
|
cmake --build build
|
|
sudo cmake --install build
|
|
cd ..
|
|
rm -rf taskwarrior/
|
|
shell: bash |