2022-01-23 00:36:35 -05:00
|
|
|
kind: pipeline
|
|
|
|
type: docker
|
|
|
|
name: cannery
|
|
|
|
|
|
|
|
steps:
|
2022-02-17 23:41:31 -05:00
|
|
|
- name: restore-cache
|
|
|
|
image: drillster/drone-volume-cache
|
|
|
|
volumes:
|
|
|
|
- name: cache
|
|
|
|
path: /cache
|
|
|
|
settings:
|
|
|
|
restore: true
|
|
|
|
mount:
|
|
|
|
- _build
|
|
|
|
- deps
|
2023-02-05 10:37:05 -05:00
|
|
|
- .npm
|
|
|
|
- .mix
|
2022-02-17 23:41:31 -05:00
|
|
|
|
2022-01-23 00:36:35 -05:00
|
|
|
- name: test
|
2024-10-26 17:16:04 -04:00
|
|
|
image: elixir:1.17.3-otp-27-alpine
|
2022-01-23 00:36:35 -05:00
|
|
|
environment:
|
|
|
|
TEST_DATABASE_URL: ecto://postgres:postgres@database/cannery_test
|
2022-02-17 23:15:08 -05:00
|
|
|
HOST: testing.example.tld
|
2023-02-05 10:37:05 -05:00
|
|
|
MIX_HOME: /drone/src/.mix
|
|
|
|
MIX_ARCHIVES: /drone/src/.mix/archives
|
|
|
|
MIX_ENV: test
|
2022-01-23 00:36:35 -05:00
|
|
|
commands:
|
2023-02-05 10:37:05 -05:00
|
|
|
- apk add --no-cache build-base npm git
|
2024-06-18 08:49:12 -04:00
|
|
|
- mix local.rebar --force
|
|
|
|
- mix local.hex --force
|
2022-01-23 00:36:35 -05:00
|
|
|
- mix deps.get
|
2023-02-05 10:37:05 -05:00
|
|
|
- npm set cache .npm
|
|
|
|
- npm --prefix ./assets ci --no-audit --prefer-offline
|
2022-04-19 20:12:28 -04:00
|
|
|
- npm run --prefix ./assets deploy
|
|
|
|
- mix do phx.digest, gettext.extract
|
2022-11-09 23:33:41 -05:00
|
|
|
- mix test.all
|
2022-01-23 00:36:35 -05:00
|
|
|
|
2022-02-19 18:42:17 -05:00
|
|
|
- name: build and publish stable
|
2024-08-16 16:50:03 -04:00
|
|
|
image: plugins/docker
|
2022-07-30 15:11:47 -04:00
|
|
|
privileged: true
|
2022-02-10 23:17:06 -05:00
|
|
|
settings:
|
|
|
|
repo: shibaobun/cannery
|
2022-07-30 15:11:47 -04:00
|
|
|
purge: true
|
|
|
|
compress: true
|
2023-04-16 17:05:05 -04:00
|
|
|
platforms:
|
|
|
|
- linux/amd64
|
2024-08-16 16:50:03 -04:00
|
|
|
- linux/arm64
|
2024-08-16 17:50:43 -04:00
|
|
|
- linux/arm/v7
|
2022-02-10 23:17:06 -05:00
|
|
|
username:
|
|
|
|
from_secret: docker_username
|
|
|
|
password:
|
|
|
|
from_secret: docker_password
|
2022-02-19 21:29:29 -05:00
|
|
|
tags: latest
|
2022-02-17 23:02:33 -05:00
|
|
|
when:
|
2022-02-17 23:41:31 -05:00
|
|
|
branch:
|
2022-02-17 23:02:33 -05:00
|
|
|
- stable
|
2022-02-10 23:17:06 -05:00
|
|
|
|
2022-02-19 18:42:17 -05:00
|
|
|
- name: build and publish tagged version
|
2024-08-16 16:50:03 -04:00
|
|
|
image: plugins/docker
|
2022-07-30 15:11:47 -04:00
|
|
|
privileged: true
|
2022-02-19 18:42:17 -05:00
|
|
|
settings:
|
|
|
|
repo: shibaobun/cannery
|
2022-07-30 15:11:47 -04:00
|
|
|
purge: true
|
|
|
|
compress: true
|
2023-04-16 17:05:05 -04:00
|
|
|
platforms:
|
|
|
|
- linux/amd64
|
2024-08-16 16:50:03 -04:00
|
|
|
- linux/arm64
|
2024-08-16 17:50:43 -04:00
|
|
|
- linux/arm/v7
|
2022-02-19 18:42:17 -05:00
|
|
|
username:
|
|
|
|
from_secret: docker_username
|
|
|
|
password:
|
|
|
|
from_secret: docker_password
|
|
|
|
tags:
|
|
|
|
- ${DRONE_TAG}
|
|
|
|
when:
|
|
|
|
event:
|
|
|
|
- tag
|
|
|
|
|
2022-02-17 23:41:31 -05:00
|
|
|
- name: rebuild-cache
|
|
|
|
image: drillster/drone-volume-cache
|
|
|
|
volumes:
|
|
|
|
- name: cache
|
|
|
|
path: /cache
|
|
|
|
settings:
|
|
|
|
rebuild: true
|
|
|
|
mount:
|
|
|
|
- _build
|
|
|
|
- deps
|
2023-02-05 10:37:05 -05:00
|
|
|
- .npm
|
|
|
|
- .mix
|
2022-02-17 23:41:31 -05:00
|
|
|
|
2022-01-23 00:36:35 -05:00
|
|
|
services:
|
|
|
|
- name: database
|
|
|
|
image: postgres:13
|
|
|
|
environment:
|
|
|
|
POSTGRES_USER: postgres
|
|
|
|
POSTGRES_PASSWORD: postgres
|
|
|
|
POSTGRES_DB: postgres
|
2022-02-10 23:17:06 -05:00
|
|
|
|
|
|
|
volumes:
|
2022-02-17 23:41:31 -05:00
|
|
|
- name: cache
|
|
|
|
host:
|
2022-03-04 23:36:19 -05:00
|
|
|
path: /run/media/default/ssdsrv/gitea/drone-cache
|
2022-02-10 23:17:06 -05:00
|
|
|
- name: docker_sock
|
|
|
|
host:
|
|
|
|
path: /var/run/docker.sock
|