kind: pipeline type: docker name: cannery steps: - name: restore-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: restore: true mount: - _build - deps - assets/node_modules/ - name: test image: elixir:1.13.4-alpine environment: TEST_DATABASE_URL: ecto://postgres:postgres@database/cannery_test HOST: testing.example.tld commands: - mix local.rebar --force - mix local.hex --force - mix deps.get - npm install --prefix assets - mix test - name: build and publish stable image: plugins/docker settings: repo: shibaobun/cannery username: from_secret: docker_username password: from_secret: docker_password tags: latest when: branch: - stable - name: build and publish tagged version image: plugins/docker settings: repo: shibaobun/cannery username: from_secret: docker_username password: from_secret: docker_password tags: - ${DRONE_TAG} when: event: - tag - name: rebuild-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: rebuild: true mount: - _build - deps - assets/node_modules/ services: - name: database image: postgres:13 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: postgres volumes: - name: cache host: path: /run/media/default/ssdsrv/gitea/drone-cache - name: docker_sock host: path: /var/run/docker.sock