chore: Simplify CI configuration.
This commit is contained in:
parent
8400584ebb
commit
fd043e41b5
1 changed files with 62 additions and 204 deletions
266
.drone.yml
266
.drone.yml
|
@ -26,7 +26,6 @@ steps:
|
||||||
|
|
||||||
- name: restore build cache
|
- name: restore build cache
|
||||||
image: meltwater/drone-cache
|
image: meltwater/drone-cache
|
||||||
pull: "always"
|
|
||||||
environment:
|
environment:
|
||||||
AWS_ACCESS_KEY_ID:
|
AWS_ACCESS_KEY_ID:
|
||||||
from_secret: ACCESS_KEY_ID
|
from_secret: ACCESS_KEY_ID
|
||||||
|
@ -73,7 +72,6 @@ steps:
|
||||||
|
|
||||||
- name: store ASDF cache
|
- name: store ASDF cache
|
||||||
image: meltwater/drone-cache
|
image: meltwater/drone-cache
|
||||||
pull: "always"
|
|
||||||
environment:
|
environment:
|
||||||
AWS_ACCESS_KEY_ID:
|
AWS_ACCESS_KEY_ID:
|
||||||
from_secret: ACCESS_KEY_ID
|
from_secret: ACCESS_KEY_ID
|
||||||
|
@ -97,7 +95,6 @@ steps:
|
||||||
|
|
||||||
- name: store build cache
|
- name: store build cache
|
||||||
image: meltwater/drone-cache
|
image: meltwater/drone-cache
|
||||||
pull: "always"
|
|
||||||
environment:
|
environment:
|
||||||
AWS_ACCESS_KEY_ID:
|
AWS_ACCESS_KEY_ID:
|
||||||
from_secret: ACCESS_KEY_ID
|
from_secret: ACCESS_KEY_ID
|
||||||
|
@ -123,65 +120,8 @@ steps:
|
||||||
- .mix
|
- .mix
|
||||||
- .rebar3
|
- .rebar3
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: test
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- build
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: restore ASDF cache
|
|
||||||
image: meltwater/drone-cache
|
|
||||||
pull: "always"
|
|
||||||
environment:
|
|
||||||
AWS_ACCESS_KEY_ID:
|
|
||||||
from_secret: ACCESS_KEY_ID
|
|
||||||
AWS_SECRET_ACCESS_KEY:
|
|
||||||
from_secret: SECRET_ACCESS_KEY
|
|
||||||
AWS_PLUGIN_PATH_STYLE: true
|
|
||||||
settings:
|
|
||||||
restore: true
|
|
||||||
endpoint:
|
|
||||||
from_secret: S3_ENDPOINT
|
|
||||||
bucket:
|
|
||||||
from_secret: CACHE_BUCKET
|
|
||||||
region: us-east-1
|
|
||||||
path-style: true
|
|
||||||
cache_key: 'asdf-{{ os }}-{{ arch }}-{{ checksum ".tool-versions" }}'
|
|
||||||
mount:
|
|
||||||
- .asdf
|
|
||||||
|
|
||||||
- name: restore build cache
|
|
||||||
image: meltwater/drone-cache
|
|
||||||
pull: "always"
|
|
||||||
environment:
|
|
||||||
AWS_ACCESS_KEY_ID:
|
|
||||||
from_secret: ACCESS_KEY_ID
|
|
||||||
AWS_SECRET_ACCESS_KEY:
|
|
||||||
from_secret: SECRET_ACCESS_KEY
|
|
||||||
AWS_PLUGIN_PATH_STYLE: true
|
|
||||||
settings:
|
|
||||||
restore: true
|
|
||||||
endpoint:
|
|
||||||
from_secret: S3_ENDPOINT
|
|
||||||
bucket:
|
|
||||||
from_secret: CACHE_BUCKET
|
|
||||||
region: us-east-1
|
|
||||||
path-style: true
|
|
||||||
cache_key: 'elixir-{{ checksum "mix.lock" }}-{{ checksum ".tool-versions" }}'
|
|
||||||
mount:
|
|
||||||
- deps
|
|
||||||
- _build
|
|
||||||
- .hex
|
|
||||||
- .mix
|
|
||||||
- .rebar3
|
|
||||||
|
|
||||||
- name: mix compile
|
- name: mix compile
|
||||||
image: harton.dev/james/asdf_container:latest
|
image: harton.dev/james/asdf_container:latest
|
||||||
pull: "always"
|
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: test
|
MIX_ENV: test
|
||||||
HEX_HOME: /drone/src/.hex
|
HEX_HOME: /drone/src/.hex
|
||||||
|
@ -189,18 +129,12 @@ steps:
|
||||||
REBAR_BASE_DIR: /drone/src/.rebar3
|
REBAR_BASE_DIR: /drone/src/.rebar3
|
||||||
ASDF_DATA_DIR: /drone/src/.asdf
|
ASDF_DATA_DIR: /drone/src/.asdf
|
||||||
depends_on:
|
depends_on:
|
||||||
- restore ASDF cache
|
- install dependencies
|
||||||
- restore build cache
|
|
||||||
commands:
|
commands:
|
||||||
- asdf mix local.hex --if-missing --force
|
|
||||||
- asdf mix local.rebar --if-missing --force
|
|
||||||
- asdf mix deps.get
|
|
||||||
- asdf mix deps.compile
|
|
||||||
- asdf mix compile --warnings-as-errors
|
- asdf mix compile --warnings-as-errors
|
||||||
|
|
||||||
- name: mix test
|
- name: mix test
|
||||||
image: harton.dev/james/asdf_container:latest
|
image: harton.dev/james/asdf_container:latest
|
||||||
pull: "always"
|
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: test
|
MIX_ENV: test
|
||||||
HEX_HOME: /drone/src/.hex
|
HEX_HOME: /drone/src/.hex
|
||||||
|
@ -214,7 +148,6 @@ steps:
|
||||||
|
|
||||||
- name: mix credo
|
- name: mix credo
|
||||||
image: harton.dev/james/asdf_container:latest
|
image: harton.dev/james/asdf_container:latest
|
||||||
pull: "always"
|
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: test
|
MIX_ENV: test
|
||||||
HEX_HOME: /drone/src/.hex
|
HEX_HOME: /drone/src/.hex
|
||||||
|
@ -228,7 +161,6 @@ steps:
|
||||||
|
|
||||||
- name: mix hex.audit
|
- name: mix hex.audit
|
||||||
image: harton.dev/james/asdf_container:latest
|
image: harton.dev/james/asdf_container:latest
|
||||||
pull: "always"
|
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: test
|
MIX_ENV: test
|
||||||
HEX_HOME: /drone/src/.hex
|
HEX_HOME: /drone/src/.hex
|
||||||
|
@ -242,7 +174,6 @@ steps:
|
||||||
|
|
||||||
- name: mix format
|
- name: mix format
|
||||||
image: harton.dev/james/asdf_container:latest
|
image: harton.dev/james/asdf_container:latest
|
||||||
pull: "always"
|
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: test
|
MIX_ENV: test
|
||||||
HEX_HOME: /drone/src/.hex
|
HEX_HOME: /drone/src/.hex
|
||||||
|
@ -256,7 +187,6 @@ steps:
|
||||||
|
|
||||||
- name: mix deps.unlock
|
- name: mix deps.unlock
|
||||||
image: harton.dev/james/asdf_container:latest
|
image: harton.dev/james/asdf_container:latest
|
||||||
pull: "always"
|
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: test
|
MIX_ENV: test
|
||||||
HEX_HOME: /drone/src/.hex
|
HEX_HOME: /drone/src/.hex
|
||||||
|
@ -270,7 +200,6 @@ steps:
|
||||||
|
|
||||||
- name: mix git_ops.check_message
|
- name: mix git_ops.check_message
|
||||||
image: harton.dev/james/asdf_container:latest
|
image: harton.dev/james/asdf_container:latest
|
||||||
pull: "always"
|
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: test
|
MIX_ENV: test
|
||||||
HEX_HOME: /drone/src/.hex
|
HEX_HOME: /drone/src/.hex
|
||||||
|
@ -283,73 +212,21 @@ steps:
|
||||||
- git log -1 --format=%s > .last_commit_message
|
- git log -1 --format=%s > .last_commit_message
|
||||||
- asdf mix git_ops.check_message .last_commit_message
|
- asdf mix git_ops.check_message .last_commit_message
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: git ops
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- main
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- test
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: restore ASDF cache
|
|
||||||
image: meltwater/drone-cache
|
|
||||||
pull: "always"
|
|
||||||
environment:
|
|
||||||
AWS_ACCESS_KEY_ID:
|
|
||||||
from_secret: ACCESS_KEY_ID
|
|
||||||
AWS_SECRET_ACCESS_KEY:
|
|
||||||
from_secret: SECRET_ACCESS_KEY
|
|
||||||
AWS_PLUGIN_PATH_STYLE: true
|
|
||||||
settings:
|
|
||||||
restore: true
|
|
||||||
endpoint:
|
|
||||||
from_secret: S3_ENDPOINT
|
|
||||||
bucket:
|
|
||||||
from_secret: CACHE_BUCKET
|
|
||||||
region: us-east-1
|
|
||||||
path-style: true
|
|
||||||
cache_key: 'asdf-{{ os }}-{{ arch }}-{{ checksum ".tool-versions" }}'
|
|
||||||
mount:
|
|
||||||
- .asdf
|
|
||||||
|
|
||||||
- name: restore build cache
|
|
||||||
image: meltwater/drone-cache
|
|
||||||
pull: "always"
|
|
||||||
environment:
|
|
||||||
AWS_ACCESS_KEY_ID:
|
|
||||||
from_secret: ACCESS_KEY_ID
|
|
||||||
AWS_SECRET_ACCESS_KEY:
|
|
||||||
from_secret: SECRET_ACCESS_KEY
|
|
||||||
AWS_PLUGIN_PATH_STYLE: true
|
|
||||||
settings:
|
|
||||||
restore: true
|
|
||||||
endpoint:
|
|
||||||
from_secret: S3_ENDPOINT
|
|
||||||
bucket:
|
|
||||||
from_secret: CACHE_BUCKET
|
|
||||||
region: us-east-1
|
|
||||||
path-style: true
|
|
||||||
cache_key: 'elixir-{{ checksum "mix.lock" }}-{{ checksum ".tool-versions" }}'
|
|
||||||
mount:
|
|
||||||
- deps
|
|
||||||
- _build
|
|
||||||
- .hex
|
|
||||||
- .mix
|
|
||||||
- .rebar3
|
|
||||||
|
|
||||||
- name: mix git_ops.release
|
- name: mix git_ops.release
|
||||||
image: harton.dev/james/asdf_container:latest
|
image: harton.dev/james/asdf_container:latest
|
||||||
pull: "always"
|
when:
|
||||||
|
branch:
|
||||||
|
- main
|
||||||
|
event:
|
||||||
|
exclude:
|
||||||
|
- pull_request
|
||||||
depends_on:
|
depends_on:
|
||||||
- restore ASDF cache
|
- mix test
|
||||||
- restore build cache
|
- mix credo
|
||||||
|
- mix hex.audit
|
||||||
|
- mix format
|
||||||
|
- mix deps.unlock
|
||||||
|
- mix git_ops.check_message
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: test
|
MIX_ENV: test
|
||||||
HEX_HOME: /drone/src/.hex
|
HEX_HOME: /drone/src/.hex
|
||||||
|
@ -374,73 +251,21 @@ steps:
|
||||||
- git push $${GIT_URL} "HEAD:${DRONE_COMMIT_REF}" "refs/tags/v$${NEW_APP_VERSION}"
|
- git push $${GIT_URL} "HEAD:${DRONE_COMMIT_REF}" "refs/tags/v$${NEW_APP_VERSION}"
|
||||||
- fi
|
- fi
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: release
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
include:
|
|
||||||
- refs/tags/v**
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- test
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: restore ASDF cache
|
|
||||||
image: meltwater/drone-cache
|
|
||||||
pull: "always"
|
|
||||||
environment:
|
|
||||||
AWS_ACCESS_KEY_ID:
|
|
||||||
from_secret: ACCESS_KEY_ID
|
|
||||||
AWS_SECRET_ACCESS_KEY:
|
|
||||||
from_secret: SECRET_ACCESS_KEY
|
|
||||||
AWS_PLUGIN_PATH_STYLE: true
|
|
||||||
settings:
|
|
||||||
restore: true
|
|
||||||
endpoint:
|
|
||||||
from_secret: S3_ENDPOINT
|
|
||||||
bucket:
|
|
||||||
from_secret: CACHE_BUCKET
|
|
||||||
region: us-east-1
|
|
||||||
path-style: true
|
|
||||||
cache_key: 'asdf-{{ os }}-{{ arch }}-{{ checksum ".tool-versions" }}'
|
|
||||||
mount:
|
|
||||||
- .asdf
|
|
||||||
|
|
||||||
- name: restore build cache
|
|
||||||
image: meltwater/drone-cache
|
|
||||||
pull: "always"
|
|
||||||
environment:
|
|
||||||
AWS_ACCESS_KEY_ID:
|
|
||||||
from_secret: ACCESS_KEY_ID
|
|
||||||
AWS_SECRET_ACCESS_KEY:
|
|
||||||
from_secret: SECRET_ACCESS_KEY
|
|
||||||
AWS_PLUGIN_PATH_STYLE: true
|
|
||||||
settings:
|
|
||||||
restore: true
|
|
||||||
endpoint:
|
|
||||||
from_secret: S3_ENDPOINT
|
|
||||||
bucket:
|
|
||||||
from_secret: CACHE_BUCKET
|
|
||||||
region: us-east-1
|
|
||||||
path-style: true
|
|
||||||
cache_key: 'elixir-{{ checksum "mix.lock" }}-{{ checksum ".tool-versions" }}'
|
|
||||||
mount:
|
|
||||||
- deps
|
|
||||||
- _build
|
|
||||||
- .hex
|
|
||||||
- .mix
|
|
||||||
- .rebar3
|
|
||||||
|
|
||||||
- name: build artifacts
|
- name: build artifacts
|
||||||
image: harton.dev/james/asdf_container:latest
|
image: harton.dev/james/asdf_container:latest
|
||||||
pull: "always"
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
refs:
|
||||||
|
include:
|
||||||
|
- refs/tags/v*
|
||||||
depends_on:
|
depends_on:
|
||||||
- restore ASDF cache
|
- mix test
|
||||||
- restore build cache
|
- mix credo
|
||||||
|
- mix hex.audit
|
||||||
|
- mix format
|
||||||
|
- mix deps.unlock
|
||||||
|
- mix git_ops.check_message
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: test
|
MIX_ENV: test
|
||||||
HEX_HOME: /drone/src/.hex
|
HEX_HOME: /drone/src/.hex
|
||||||
|
@ -453,7 +278,6 @@ steps:
|
||||||
- mix git_ops.project_info --format=shell > app.env
|
- mix git_ops.project_info --format=shell > app.env
|
||||||
- . ./app.env
|
- . ./app.env
|
||||||
- mkdir artifacts
|
- mkdir artifacts
|
||||||
- mix esbuild prod
|
|
||||||
- mix hex.build -o "artifacts/$${APP_NAME}-$${APP_VERSION}-pkg.tar"
|
- mix hex.build -o "artifacts/$${APP_NAME}-$${APP_VERSION}-pkg.tar"
|
||||||
- gzip "artifacts/$${APP_NAME}-$${APP_VERSION}-pkg.tar"
|
- gzip "artifacts/$${APP_NAME}-$${APP_VERSION}-pkg.tar"
|
||||||
- mix docs
|
- mix docs
|
||||||
|
@ -463,6 +287,12 @@ steps:
|
||||||
|
|
||||||
- name: gitea release
|
- name: gitea release
|
||||||
image: plugins/gitea-release
|
image: plugins/gitea-release
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
refs:
|
||||||
|
include:
|
||||||
|
- refs/tags/v*
|
||||||
depends_on:
|
depends_on:
|
||||||
- build artifacts
|
- build artifacts
|
||||||
settings:
|
settings:
|
||||||
|
@ -474,12 +304,40 @@ steps:
|
||||||
title: tag_subject
|
title: tag_subject
|
||||||
note: tag_body
|
note: tag_body
|
||||||
|
|
||||||
|
- name: docs release
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
refs:
|
||||||
|
include:
|
||||||
|
- refs/tags/v*
|
||||||
|
image: minio/mc
|
||||||
|
environment:
|
||||||
|
S3_ENDPOINT:
|
||||||
|
from_secret: S3_ENDPOINT
|
||||||
|
ACCESS_KEY:
|
||||||
|
from_secret: ACCESS_KEY_ID
|
||||||
|
SECRET_KEY:
|
||||||
|
from_secret: SECRET_ACCESS_KEY
|
||||||
|
depends_on:
|
||||||
|
- build artifacts
|
||||||
|
commands:
|
||||||
|
- mc alias set store $${S3_ENDPOINT} $${ACCESS_KEY} $${SECRET_KEY}
|
||||||
|
- mc mb -p store/docs.harton.nz
|
||||||
|
- mc anonymous set download store/docs.harton.nz
|
||||||
|
- mc mirror --overwrite doc/ store/docs.harton.nz/$${DRONE_REPO}/$${DRONE_TAG}
|
||||||
|
- mc mirror --overwrite doc/ store/docs.harton.nz/$${DRONE_REPO}
|
||||||
|
|
||||||
- name: hex release
|
- name: hex release
|
||||||
image: harton.dev/james/asdf_container:latest
|
image: harton.dev/james/asdf_container:latest
|
||||||
pull: "always"
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
refs:
|
||||||
|
include:
|
||||||
|
- refs/tags/v*
|
||||||
depends_on:
|
depends_on:
|
||||||
- restore ASDF cache
|
- build artifacts
|
||||||
- restore build cache
|
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: test
|
MIX_ENV: test
|
||||||
HEX_HOME: /drone/src/.hex
|
HEX_HOME: /drone/src/.hex
|
||||||
|
|
Loading…
Reference in a new issue