summaryrefslogtreecommitdiff
path: root/.drone.yml
diff options
context:
space:
mode:
Diffstat (limited to '.drone.yml')
-rw-r--r--.drone.yml223
1 files changed, 0 insertions, 223 deletions
diff --git a/.drone.yml b/.drone.yml
deleted file mode 100644
index 87038bdd2..000000000
--- a/.drone.yml
+++ /dev/null
@@ -1,223 +0,0 @@
----
-### 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: default
-
-steps:
- # We use golangci-lint for linting.
- # See: https://golangci-lint.run/
- - name: lint
- image: golangci/golangci-lint:v1.62.0
- volumes:
- - name: go-build-cache
- path: /root/.cache/go-build
- - name: golangci-lint-cache
- path: /root/.cache/golangci-lint
- - name: go-src
- path: /go
- commands:
- - golangci-lint run
- when:
- event:
- include:
- - pull_request
-
- - name: test
- image: golang:1.23-alpine
- volumes:
- - name: go-build-cache
- path: /root/.cache/go-build
- - name: go-src
- path: /go
- - name: wazero-compilation-cache
- path: /root/.cache/wazero
- environment:
- CGO_ENABLED: "0"
- GTS_WAZERO_COMPILATION_CACHE: "/root/.cache/wazero"
- commands:
- - apk update --no-cache && apk add git
- - >-
- go test
- -failfast
- -timeout=20m
- -tags "netgo osusergo static_build kvformat timetzdata"
- ./...
- - ./test/envparsing.sh
- - ./test/swagger.sh
- depends_on:
- - lint
- when:
- event:
- include:
- - pull_request
-
- - name: web-setup
- image: node:18-alpine
- volumes:
- - name: yarn_cache
- path: /tmp/cache
- commands:
- - yarn --cwd ./web/source install --frozen-lockfile --cache-folder /tmp/cache
- - yarn --cwd ./web/source ts-patch install # https://typia.io/docs/setup/#manual-setup
- depends_on:
- - test
- when:
- event:
- include:
- - pull_request
-
- - name: web-lint
- image: node:18-alpine
- commands:
- - yarn --cwd ./web/source lint
- depends_on:
- - web-setup
- when:
- event:
- include:
- - pull_request
-
- - name: web-build
- image: node:18-alpine
- commands:
- - yarn --cwd ./web/source build
- depends_on:
- - web-setup
- when:
- event:
- include:
- - pull_request
-
- - name: snapshot
- image: superseriousbusiness/gotosocial-drone-build:0.8.0 # https://github.com/superseriousbusiness/gotosocial-drone-build
- volumes:
- - name: go-build-cache
- path: /root/.cache/go-build
- - name: docker
- path: /var/run/docker.sock
- environment:
- DOCKER_USERNAME: gotosocial
- DOCKER_PASSWORD:
- from_secret: gts_docker_password
- S3_ACCESS_KEY_ID:
- from_secret: gts_s3_access_key_id
- S3_SECRET_ACCESS_KEY:
- from_secret: gts_s3_secret_access_key
- S3_HOSTNAME: "https://s3.superseriousbusiness.org"
- S3_BUCKET_NAME: "gotosocial-snapshots"
- commands:
- # Create a snapshot build with GoReleaser.
- - git fetch --tags
- - goreleaser release --clean --snapshot
-
- # Login to Docker, push Docker image snapshots + manifests.
- - /go/dockerlogin.sh
- - docker push superseriousbusiness/gotosocial:snapshot-arm64v8
- - docker push superseriousbusiness/gotosocial:snapshot-amd64
- - |
- docker manifest create superseriousbusiness/gotosocial:snapshot \
- superseriousbusiness/gotosocial:snapshot-amd64 \
- superseriousbusiness/gotosocial:snapshot-arm64v8
- - docker manifest push superseriousbusiness/gotosocial:snapshot
-
- # Publish binary .tar.gz snapshots to S3.
- - /go/snapshot_publish.sh
- when:
- event:
- include:
- - push
- branch:
- include:
- - main
-
- - name: release
- image: superseriousbusiness/gotosocial-drone-build:0.8.0 # https://github.com/superseriousbusiness/gotosocial-drone-build
- volumes:
- - name: go-build-cache
- path: /root/.cache/go-build
- - name: docker
- path: /var/run/docker.sock
- environment:
- DOCKER_USERNAME: gotosocial
- DOCKER_PASSWORD:
- from_secret: gts_docker_password
- GITHUB_TOKEN:
- from_secret: github_token
- commands:
- - git fetch --tags
- - /go/dockerlogin.sh
-
- # When releasing, compare commits to the most recent tag that is not the
- # current one AND is not a release candidate tag (ie., no "rc" in the name).
- #
- # The DRONE_TAG env var should point to the tag that triggered this build.
- # See: https://docs.drone.io/pipeline/environment/reference/drone-tag/
- #
- # Note, this may cause annoyances when doing backport releases, for example,
- # releasing v0.10.1 when we've already released v0.15.0 or whatever, but
- # they should only be superficial annoyances related to the release notes.
- - GORELEASER_PREVIOUS_TAG=$(git tag -l | grep -v "rc\|${DRONE_TAG}" | sort -V -r | head -n 1) goreleaser release --clean
- when:
- event:
- include:
- - tag
-
-# We can speed up builds significantly by caching build artifacts between runs.
-# See: https://docs.drone.io/pipeline/docker/syntax/volumes/host/
-volumes:
- - name: go-build-cache
- host:
- path: /drone/gotosocial/go-build
- - name: golangci-lint-cache
- host:
- path: /drone/gotosocial/golangci-lint
- - name: go-src
- host:
- path: /drone/gotosocial/go
- - name: docker
- host:
- path: /var/run/docker.sock
-
-trigger:
- repo:
- - superseriousbusiness/gotosocial
- - NyaaaWhatsUpDoc/gotosocial
- - f0x52/gotosocial
-
----
-kind: pipeline
-type: docker
-name: cron
-
-trigger:
- event:
- - cron
- cron:
- - nightly
-
-clone:
- disable: true
-
-steps:
- - name: mirror
- image: superseriousbusiness/gotosocial-drone-build:0.8.0
- environment:
- ORIGIN_REPO: https://github.com/superseriousbusiness/gotosocial
- TARGET_REPO: https://codeberg.org/superseriousbusiness/gotosocial
- CODEBERG_USER: gotosocialbot
- CODEBERG_EMAIL: admin@gotosocial.org
- CODEBERG_TOKEN:
- from_secret: gts_codeberg_token
- commands:
- - /go/codeberg_clone.sh
-
----
-kind: signature
-hmac: 64ce0d466c7a48b6aa24a8836cfad7eae71faeae0b2e5342beb6428233a65eee
-
-...