mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2026-01-06 09:23:15 -06:00
[chore] add woodpecker ci/cd pipelines (#4061)
Removes our now unused drone stuff and adds pipelines for our new woodpecker instance. Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4061 Co-authored-by: tobi <tobi.smethurst@protonmail.com> Co-committed-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
parent
052a84b972
commit
512e2c88be
6 changed files with 188 additions and 225 deletions
98
.woodpecker/pr.yaml
Normal file
98
.woodpecker/pr.yaml
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
# https://woodpecker-ci.org/docs/usage/workflow-syntax#when---global-workflow-conditions
|
||||
when:
|
||||
- event: pull_request
|
||||
|
||||
steps:
|
||||
# Lint the Go code.
|
||||
lint:
|
||||
# We use golangci-lint for linting.
|
||||
# See: https://golangci-lint.run/
|
||||
image: golangci/golangci-lint:v1.62.0
|
||||
pull: true
|
||||
|
||||
# https://woodpecker-ci.org/docs/administration/configuration/backends/docker#run-user
|
||||
backend_options:
|
||||
docker:
|
||||
user: 1000:1000
|
||||
|
||||
# https://woodpecker-ci.org/docs/usage/volumes
|
||||
volumes:
|
||||
- /woodpecker/gotosocial/go-build-cache:/.cache/go-build
|
||||
- /woodpecker/gotosocial/go-pkg-cache:/go/pkg
|
||||
- /woodpecker/gotosocial/golangci-lint-cache:/.cache/golangci-lint
|
||||
|
||||
# https://woodpecker-ci.org/docs/usage/environment
|
||||
environment:
|
||||
GOFLAGS: "-buildvcs=false"
|
||||
|
||||
# https://woodpecker-ci.org/docs/usage/workflow-syntax#commands
|
||||
commands:
|
||||
- golangci-lint run
|
||||
|
||||
# Test the Go code.
|
||||
test:
|
||||
image: golang:1.23-alpine
|
||||
pull: true
|
||||
|
||||
# https://woodpecker-ci.org/docs/administration/configuration/backends/docker#run-user
|
||||
backend_options:
|
||||
docker:
|
||||
user: 1000:1000
|
||||
|
||||
# https://woodpecker-ci.org/docs/usage/volumes
|
||||
volumes:
|
||||
- /woodpecker/gotosocial/go-build-cache:/.cache/go-build
|
||||
- /woodpecker/gotosocial/go-pkg-cache:/go/pkg
|
||||
- /woodpecker/gotosocial/wazero-compilation-cache:/.cache/wazero
|
||||
- /woodpecker/gotosocial/test-tmp:/tmp
|
||||
|
||||
# https://woodpecker-ci.org/docs/usage/environment
|
||||
environment:
|
||||
CGO_ENABLED: "0"
|
||||
GTS_WAZERO_COMPILATION_CACHE: "/.cache/wazero"
|
||||
|
||||
# https://woodpecker-ci.org/docs/usage/workflow-syntax#commands
|
||||
commands:
|
||||
- >-
|
||||
go test
|
||||
-ldflags="-s -w -extldflags '-static'"
|
||||
-tags="netgo osusergo static_build kvformat timetzdata"
|
||||
-failfast
|
||||
-timeout=30m
|
||||
./...
|
||||
- ./test/envparsing.sh
|
||||
- ./test/swagger.sh
|
||||
|
||||
# https://woodpecker-ci.org/docs/usage/workflow-syntax#depends_on
|
||||
depends_on: [lint]
|
||||
|
||||
# Validate the web code.
|
||||
web:
|
||||
image: node:lts-alpine
|
||||
pull: true
|
||||
|
||||
# https://woodpecker-ci.org/docs/administration/configuration/backends/docker#run-user
|
||||
backend_options:
|
||||
docker:
|
||||
user: 1000:1000
|
||||
|
||||
# https://woodpecker-ci.org/docs/usage/volumes
|
||||
volumes:
|
||||
- /woodpecker/gotosocial/node_modules:/woodpecker/src/codeberg.org/superseriousbusiness/gotosocial/web/source/node_modules
|
||||
- /woodpecker/gotosocial/yarn-cache:/.cache/yarn
|
||||
- /woodpecker/gotosocial/web-dist-test:/woodpecker/src/codeberg.org/superseriousbusiness/gotosocial/web/assets/dist
|
||||
|
||||
# https://woodpecker-ci.org/docs/usage/workflow-syntax#commands
|
||||
commands:
|
||||
# Install web dependencies.
|
||||
- yarn --cwd ./web/source install --frozen-lockfile --cache-folder /.cache/yarn
|
||||
- yarn --cwd ./web/source ts-patch install # https://typia.io/docs/setup/#manual-setup
|
||||
|
||||
# Lint web source.
|
||||
- yarn --cwd ./web/source lint
|
||||
|
||||
# Ensure build works.
|
||||
- yarn --cwd ./web/source build
|
||||
|
||||
# https://woodpecker-ci.org/docs/usage/workflow-syntax#depends_on
|
||||
depends_on: [test]
|
||||
Loading…
Add table
Add a link
Reference in a new issue