Skip to main content

How to add automatic nightly builds to your Nextcloud app

2 min read

For two years Portknox has been hosting the nightly builds for several Nextcloud apps. As we have to move to a newer server, I'll take the chance to document the nightly creation process. So, if you want to add nightly builds to your app here is a full automated and low-maintenance process. In case you need help or a place to save the builds just send us an email. We are happy to help!

.travis.yml

 env:
     global:
        - NIGHTLY=FALSE
script:
- if [[ "$NIGHTLY" = "TRUE" ]]; then curl --ftp-create-dirs -T /home/travis/build/nextcloud/core/apps/contacts/build/artifacts/appstore/calendar.tar.gz -u $FTP_LOGIN:$FTP_PW ftp://upload.portknox.de/htdocs/calendar/nextcloud_calendar_nightly_build_$(date +%Y-%m-%d).tar.gz; fi

Cron Job on the nightly server:

build_calendar_nightly.sh

#!/bin/sh
DATA="/home/ftp/calendar" 
ARCHIVE="$DATA/archive" 

# create structure
mkdir -p $ARCHIVE

# move directories in the current directory older than 14 days to archive
find $DATA -maxdepth 1 -type d -mtime +14 -exec mv {} $ARCHIVE \;

# delete data in archive
find $ARCHIVE -type d -mtime +90 -exec rm -rf {} \;

# Prepare curl request
body='{ "request": { "message": "Nightly build", "branch":"master", "config": { "env": { "matrix": ["DB=sqlite CORE_BRANCH=master TEST_JS=FALSE PHP_COVERAGE=FALSE PACKAGE=TRUE NIGHTLY=TRUE"] }, "php": ["7"], "matrix": { "fast_finish": false } } }}'
# Trigger nightly build curl -s -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "Travis-API-Version: 3" \ -H "Authorization: token <Insert token>" \ -d "$body" \ https://api.travis-ci.org/repo/nextcloud%2Fcalendar/requests


Here are the related pull requests for Calendar and Contacts.

Bulk create testusers for ownCloud / Nextcloud

1 min read

Maybe someone need it, too. A small shell script to create hundreds of users and groups:

#!/bin/bash
set -e
export OC_PASS=test12

for ((j=1;j<=30;j++));
do
for ((i=1;i<=50;i++));
do
./occ user:add pomes_$i-$j --password-from-env -g bdo_$j
done
done

Thanks @nickvergessen for the occ tip :)

Update 4.4.2017:

- Now with groups

Todo.txt for ownCloud - with todos

1 min read

I am a huge fan of Gina Trapanis Todo.txt, in fact I use it every day.

Some time ago I've started to create an ownCloud app for it, unfortunately I am too busy at the moment to finish it :( So, I released it to GitHub.

Right now, the app can find and read a todo.txt uploaded to your ownCloud. It parses it and separates the sections (todo, date, context, priority ...). The basic presentation is ready too:

Every todo tool needs todos

So far the only way to add and update todos is to go to the files app and edit it with the Text Editor. It would be cool to manage the todos within the app. Even better in a One-Page-Javascript UI!

Your help needed! Fork me!

You use todo.txt? Searching for an ownCloud app project? Help me and fork the code on GitHub.

 Links

TAL Page Templates for ownCloud (needed for todotxt)

App Tutorial for ownCloud

Angular JS with ownCloud

Todotxt CLI