Skip to content

Commit b77cac0

Browse files
committed
Replace task.sh with Taskfile
1 parent 3a47509 commit b77cac0

File tree

7 files changed

+62
-44
lines changed

7 files changed

+62
-44
lines changed

.github/workflows/cicd.yml

+6-4
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ jobs:
2020
- name: Checkout the repo at current context
2121
uses: actions/checkout@v2
2222

23-
- name: Install test dependencies
24-
run: ./tasks.sh test:install-depends
23+
- name: Install Task
24+
uses: arduino/setup-task@v2
25+
with:
26+
version: 3.x
27+
repo-token: ${{ secrets.GITHUB_TOKEN }}
2528

2629
- name: Run static code tests
2730
run: |
28-
./tasks.sh -e test:lint
29-
./tasks.sh -e test:units
31+
task test:static
3032
3133
- name: Set up QEMU
3234
uses: docker/setup-qemu-action@v1

Dockerfile

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
FROM python:slim
2-
COPY requirements.txt app.py /
2+
COPY app.py /
33
COPY templates/ /templates/
44
COPY static/ /static/
5-
RUN apt update -y \
5+
RUN --mount=type=bind,source=requirements/app.txt,target=/requirements.txt \
6+
apt update -y \
67
&& apt install -y gcc python3-dev --no-install-recommends \
78
&& pip3 install -r /requirements.txt \
89
&& apt purge -y --auto-remove gcc python3-dev \

Taskfile.yaml

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
version: '3'
2+
3+
run: once
4+
5+
tasks:
6+
default:
7+
cmds:
8+
- cmd: task --list
9+
ignore_error: true
10+
silent: true
11+
12+
install:app-reqs:
13+
cmds:
14+
- pip3 install --upgrade --requirement {{.PIP_REQS_FILE}}
15+
status:
16+
- python3 -c "import pkg_resources; pkg_resources.require(open('{{.PIP_REQS_FILE}}',mode='r'))" &>/dev/null
17+
vars:
18+
PIP_REQS_FILE: ./requirements/app.txt
19+
20+
install:test-reqs:
21+
cmds:
22+
- pip3 install --upgrade --requirement {{.PIP_REQS_FILE}}
23+
status:
24+
- python3 -c "import pkg_resources; pkg_resources.require(open('{{.PIP_REQS_FILE}}',mode='r'))" &>/dev/null
25+
vars:
26+
PIP_REQS_FILE: ./requirements/tests.txt
27+
28+
test:lint:
29+
deps:
30+
- install:app-reqs
31+
- install:test-reqs
32+
cmds:
33+
- pylint ./app.py
34+
35+
test:units:
36+
deps:
37+
- install:app-reqs
38+
- install:test-reqs
39+
cmds:
40+
- coverage run --source="./" -m pytest "./"
41+
- coverage report --omit test_* --fail-under=90
42+
43+
test:static:
44+
aliases:
45+
- test
46+
cmds:
47+
- task: test:lint
48+
- task: test:units

requirements.txt

-2
This file was deleted.

requirements/app.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
flask==3.1.0
2+
psutil==7.0.0

requirements/tests.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
coverage==7.6.12
2+
pylint==3.3.2
3+
pytest==8.3.4

tasks.sh

-36
This file was deleted.

0 commit comments

Comments
 (0)