diff options
| author | 2021-08-12 21:03:24 +0200 | |
|---|---|---|
| committer | 2021-08-12 21:03:24 +0200 | |
| commit | 98263a7de64269898a2f81207e38943b5c8e8653 (patch) | |
| tree | 743c90f109a6c5d27832d1dcef2388d939f0f77a /.drone.yml | |
| parent | Text duplication fix (#137) (diff) | |
| download | gotosocial-98263a7de64269898a2f81207e38943b5c8e8653.tar.xz | |
Grand test fixup (#138)
* start fixing up tests
* fix up tests + automate with drone
* fiddle with linting
* messing about with drone.yml
* some more fiddling
* hmmm
* add cache
* add vendor directory
* verbose
* ci updates
* update some little things
* update sig
Diffstat (limited to '.drone.yml')
| -rw-r--r-- | .drone.yml | 67 |
1 files changed, 52 insertions, 15 deletions
diff --git a/.drone.yml b/.drone.yml index 672c3c821..57514a086 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,18 +1,55 @@ +--- +### Drone configuration file for GoToSocial. +### Connects to https://drone.superseriousbusiness.org to perform testing, linting, and automatic builds/pushes to docker. +### +### For documentation on drone, see: https://docs.drone.io/ +### For documentation on drone docker pipelines in particular: https://docs.drone.io/pipeline/docker/overview/ + kind: pipeline type: docker -name: dockerpublish +name: default steps: - - name: publish image - image: plugins/docker - settings: - auto_tag: true - username: - from_secret: gts_docker_username - password: - from_secret: gts_docker_password - repo: superseriousbusiness/gotosocial - tags: latest - when: - event: - exclude: - - pull_request + +# We use golangci-lint for linting. +# See: https://golangci-lint.run/ +- name: lint + image: golangci/golangci-lint:v1.41.1 + commands: + - golangci-lint run --timeout 5m0s --tests=false --verbose + +- name: test + image: golang:1.16.4 + environment: + GTS_DB_ADDRESS: postgres + commands: + # `-count 1` => run all tests at least once + # `-p 1` => run maximum one test at a time + # `./...` => run all tests + - go test -count 1 -p 1 ./... + +- name: publish + image: plugins/docker + settings: + auto_tag: true + username: gotosocial + password: + from_secret: gts_docker_password + repo: superseriousbusiness/gotosocial + tags: latest + when: + event: + exclude: + - pull_request + +services: +# We need this postgres service running for the test step. +# See: https://docs.drone.io/pipeline/docker/syntax/services/ +- name: postgres + image: postgres + environment: + POSTGRES_PASSWORD: postgres +--- +kind: signature +hmac: 78dd20d97444a9e2904552d56eb52f43ad30ba27e1d897a5ea6808971f9a0ae2 + +... |
