Compare commits
8 Commits
5.1.2+v3.0
...
maintenanc
| Author | SHA1 | Date | |
|---|---|---|---|
| 9fe2679b91 | |||
| 781f6bbe07 | |||
| fe7aa8d879 | |||
| c82a68bb97 | |||
| 2a635edeed | |||
| 6c8e4706f1 | |||
| 4fd70fe19a | |||
| 6a7050cd1f |
16
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
16
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
name: "Loomio pull request template"
|
||||
about: "Loomio pull request template"
|
||||
---
|
||||
|
||||
<!--
|
||||
Thank you for doing recipe maintenance work!
|
||||
Please mark all checklist items which are relevant for your changes.
|
||||
Please remove the checklist items which are not relevant for your changes.
|
||||
Feel free to remove this comment.
|
||||
-->
|
||||
|
||||
* [ ] I have deployed and tested my changes
|
||||
* [ ] I have [updated relevant versions in `abra.sh`](https://docs.coopcloud.tech/maintainers/upgrade/#updating-versions-in-the-abrash)
|
||||
* [ ] I have made my environment variable changes [backwards compatible](https://docs.coopcloud.tech/maintainers/upgrade/#backwards-compatible-environment-variable-changes)
|
||||
* [ ] I have added a [release note entry](https://docs.coopcloud.tech/maintainers/upgrade/#creating-new-release-notes)
|
||||
97
MAINTENANCE.md
Normal file
97
MAINTENANCE.md
Normal file
@ -0,0 +1,97 @@
|
||||
# Loomio Recipe Maintenance
|
||||
|
||||
All contributions should be made via a pull request. This is to ensure a
|
||||
certain quality and consistency, that others can rely on.
|
||||
|
||||
## Maintainer Responsibilities
|
||||
|
||||
A recipe maintainer has the following responsibilities:
|
||||
|
||||
- Respond to pull requests / issues within a week
|
||||
- Make image security updates within a day
|
||||
- Make image patch / minor updates within a week
|
||||
- Make image major updates within a month
|
||||
|
||||
In order to fullfill these responsibilities a recipe maintainer:
|
||||
|
||||
- Has to watch the repository (to get notifications)
|
||||
- Needs to make sure renovate is configured properly
|
||||
|
||||
## Pull Requests
|
||||
|
||||
A pull request can be merged if it is approved by at least one maintainer. For
|
||||
pull requests opened by a maintainer they need to be approved by another
|
||||
maintainer. Even though it is okay to merge a pull request with one approval, it
|
||||
is always better if all maintainers looked at the pull request and approved it.
|
||||
|
||||
## Become a maintainer
|
||||
|
||||
Everyone can apply to be a recipe maintainer:
|
||||
1. Watch the repository to always get updates
|
||||
2. Simply add your self to the list in the [README.md](./README.md) and open a new pull request with the change.
|
||||
3. Once the pull request gets merged you will be added to the [loomio maintainers team](https://git.coopcloud.tech/org/coop-cloud/teams/loomio-maintainers).
|
||||
|
||||
# Testing Loomio Changes
|
||||
|
||||
As a maintainer, it is helpful to have a dev environment to test changes. One can easily be created in the usual way with `abra app new loomio`, but to test changes and upgrades it's good to have a database with a bunch of test data.
|
||||
|
||||
## Populating with test data
|
||||
|
||||
You can either make some artificial test data, or import test data from an existing Loomio instance. https://help.loomio.com/en/user_manual/groups/data_export/index.html is super helpful here. Here's a summary:
|
||||
|
||||
1. Export existing data from a running instance by having an admin go to a group and click [the "Export group data" settings option](https://help.loomio.com/en/user_manual/groups/data_export/index.html#export-data)
|
||||
|
||||
2. Fully deploy a clean test instance of Loomio. Note: importing might not work well on a database that has data in it, so you might want to wipe your test instance when doing an import, if it already has data in it
|
||||
|
||||
3. Copy the json into the Loomio `app` container by doing
|
||||
|
||||
```shell
|
||||
[local] $ scp loomio-testdata.json username@your-domain.org:loomio-deploy/import/
|
||||
[local] $ ssh username@your-domain.org
|
||||
[your-domain.org] $ docker ps | grep loomio | grep app # note down the loomio app container id
|
||||
[your-domain.org] $ sudo docker cp ~/loomio-deploy/import/loomio-testdata.json <loomio-app-container-id>:/import/loomio-testdata.json
|
||||
```
|
||||
|
||||
4. Set up your rails tools
|
||||
|
||||
```shell
|
||||
[your-domain.org] $ docker exec -it <loomio-app-container-id> bash
|
||||
[loomio] $ DB_PASS="$(cat /run/secrets/db_password)"
|
||||
[loomio] $ echo "production:
|
||||
adapter: postgresql
|
||||
host: db
|
||||
database: loomio_production
|
||||
username: postgres
|
||||
password: ${DB_PASS}
|
||||
port: 5432" > config/database.yml
|
||||
|
||||
[loomio] $ cd /loomio && RAILS_ENV=production EDITOR=vi bundle exec rails credentials:edit
|
||||
```
|
||||
|
||||
5. Process the Loomio test data export, to get it into your dev instance's database:
|
||||
|
||||
```shell
|
||||
[loomio] $ rails console
|
||||
|
||||
[loomio][rails] > GroupExportService.import('/import/loomio-testdata.json')
|
||||
```
|
||||
|
||||
## Manipulating the loomio db
|
||||
|
||||
If you want to drop your loomio db(!!), you can do so by logging in to the `db` container:
|
||||
|
||||
```shell
|
||||
[your-domain.org] $ docker ps | grep loomio | grep _db # find your loomio _db_ container id
|
||||
[your-domain.org] $ docker exec -it <loomio-db-container-id> bash
|
||||
[loomio-db] # su postgres
|
||||
[loomio-db] $ dropdb loomio_production
|
||||
[loomio-db] $ createdb loomio_production
|
||||
```
|
||||
|
||||
From here, you can do something like recreate it, from the app container:
|
||||
|
||||
```shell
|
||||
[your-domain.org] $ docker ps | grep loomio | grep app # find your loomio app container id
|
||||
[your-domain.org] $ docker exec -it <loomio-app-container-id> bash
|
||||
[loomio-app] $ rake db:setup # you may have to run through step 4 from earlier
|
||||
```
|
||||
@ -3,6 +3,7 @@
|
||||
"Loomio is a collaborative decision-making tool that makes it easy for anyone to participate in decisions which affect them. To find out more, visit Loomio.org."
|
||||
|
||||
<!-- metadata -->
|
||||
* **Maintainer**: [@jmakdah2](https://git.coopcloud.tech/jmakdah2) and [@moosemower](https://git.coopcloud.tech/moosemower)
|
||||
* **Category**: Apps
|
||||
* **Status**: 3, work-in-progress
|
||||
* **Image**: [`loomio/*`](https://hub.docker.com/r/loomio), 4, upstream
|
||||
|
||||
@ -32,7 +32,7 @@ x-environment: &default-env
|
||||
|
||||
services:
|
||||
app:
|
||||
image: loomio/loomio:v3.0.0
|
||||
image: loomio/loomio:v3.0.20
|
||||
configs:
|
||||
- source: entrypoint
|
||||
target: /entrypoint.sh
|
||||
@ -70,7 +70,7 @@ services:
|
||||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
||||
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||
- "coop-cloud.${STACK_NAME}.version=5.1.2+v3.0.0"
|
||||
- "coop-cloud.${STACK_NAME}.version=5.2.0+v3.0.20"
|
||||
- "backupbot.backup:=${ENABLE_BACKUPS:-true}"
|
||||
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}"
|
||||
- "traefik.http.middlewares.${STACK_NAME}.headers.accesscontrolallowmethods=GET,OPTIONS,PUT"
|
||||
@ -145,6 +145,7 @@ services:
|
||||
environment:
|
||||
<<: *redis-env
|
||||
VIRTUAL_HOST: channels.${DOMAIN}
|
||||
APP_URL: ${DOMAIN}
|
||||
deploy:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
|
||||
1
release/5.2.0+v3.0.20
Normal file
1
release/5.2.0+v3.0.20
Normal file
@ -0,0 +1 @@
|
||||
upgrade loomio from version 3.0.0 to 3.0.20
|
||||
6
renovate.json
Normal file
6
renovate.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"config:recommended"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user