Build source package in paperlessng_directory

Avoids permission problems in /tmp
This commit is contained in:
Fabian Koller 2021-01-24 10:05:42 +01:00
parent be2013975c
commit 29ce2515ee
No known key found for this signature in database
GPG Key ID: 4EFE4C946404B82A
3 changed files with 101 additions and 80 deletions

View File

@ -45,7 +45,10 @@
register: logs
failed_when: "('Consuming ' + filename + '.txt') not in logs.content"
# assumes txt consumption finished by now, might have to sleep a bit
- name: sleep 5 seconds
pause:
seconds: 5
- name: verify uploaded document has been consumed
uri:
url: "http://{{ paperlessng_listen_address }}:{{ paperlessng_listen_port }}/api/logs/"

View File

@ -1,5 +1,4 @@
---
# https://github.com/jonaswinkler/paperless-ng/blob/dev/.github/workflows/ci.yml
- name: install dev dependencies
apt:
pkg:
@ -7,19 +6,32 @@
- npm
- gettext
- name: create temporary git directory
- name: create output directories
file:
path: "{{ item }}"
state: directory
owner: "{{ paperlessng_system_user }}"
group: "{{ paperlessng_system_group }}"
mode: "750"
with_items:
- "{{ tempdir.path }}/paperless-ng"
- "{{ tempdir.path }}/paperless-ng/scripts"
- block:
- name: create temporary git directory
tempfile:
state: directory
path: "{{ paperlessng_directory }}"
register: gitdir
- name: pull paperless-ng
- name: pull paperless-ng
git:
repo: https://github.com/jonaswinkler/paperless-ng.git
dest: "{{ gitdir.path }}"
version: "{{ paperlessng_version }}"
refspec: "+refs/pull/*:refs/pull/*"
- name: compile frontend
- name: compile frontend
command:
cmd: "{{ item }}"
args:
@ -30,15 +42,7 @@
- npm install
- ./node_modules/.bin/ng build --prod
- name: create output directories
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ tempdir.path }}/paperless-ng"
- "{{ tempdir.path }}/paperless-ng/scripts"
- name: copy application into place
- name: copy application into place
copy:
src: "{{ gitdir.path }}/{{ item.src }}"
remote_src: yes
@ -53,7 +57,7 @@
- src: paperless.conf.example
dest: "paperless.conf"
- name: glob all scripts
- name: glob all scripts
find:
paths: ["{{ gitdir.path }}/scripts/"]
patterns:
@ -61,7 +65,7 @@
- "*.sh"
register: glob
- name: copy scripts
- name: copy scripts
copy:
src: "{{ item.path }}"
remote_src: yes
@ -69,34 +73,39 @@
with_items:
- "{{ glob.files }}"
- name: copy sources
- name: copy sources
command:
cmd: "cp -r src/ {{ tempdir.path }}/paperless-ng/src"
args:
chdir: "{{ gitdir.path }}"
- name: install paperlessng requirements
pip:
requirements: "{{ gitdir.path }}/requirements.txt"
virtualenv: "{{ gitdir.path }}/.venv/"
extra_args: --upgrade
- name: create paperlessng venv
command:
cmd: "python3 -m virtualenv {{ gitdir.path }}/.venv/ -p /usr/bin/python3"
- name: compile messages
- name: install paperlessng requirements
command:
cmd: "{{ gitdir.path }}/.venv/bin/python3 -m pip install -r {{ gitdir.path }}/requirements.txt"
- name: compile messages
command: "{{ gitdir.path }}/.venv/bin/python3 manage.py compilemessages"
args:
chdir: "{{ tempdir.path }}/paperless-ng/src/"
- name: collect static files
- name: collect static files
command: "{{ gitdir.path }}/.venv/bin/python3 manage.py collectstatic --no-input"
args:
chdir: "{{ tempdir.path }}/paperless-ng/src/"
- name: remove pycache directories
- name: remove pycache directories
shell: find . -name __pycache__ | xargs rm -r
args:
chdir: "{{ tempdir.path }}"
- name: remove temporary git directory
- name: remove temporary git directory
file:
path: "{{ gitdir.path }}"
state: absent
become: yes
become_user: "{{ paperlessng_system_user }}"

View File

@ -190,9 +190,19 @@
when: update_installation
- block:
- name: create paperless-ng directory and set permissions
file:
path: "{{ paperlessng_directory }}"
state: directory
owner: "{{ paperlessng_system_user }}"
group: "{{ paperlessng_system_group }}"
mode: "750"
- name: create temporary directory
become: yes
become_user: "{{ paperlessng_system_user }}"
tempfile:
state: directory
path: "{{ paperlessng_directory }}"
register: tempdir
- name: check if version is available as release archive
uri:
@ -238,7 +248,6 @@
group: "{{ paperlessng_system_group }}"
mode: "750"
with_items:
- "{{ paperlessng_directory }}"
- "{{ paperlessng_consumption_dir }}"
- "{{ paperlessng_data_dir }}"
- "{{ paperlessng_media_root }}"