123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947 |
- ---
- kind: pipeline
- type: docker
- name: compliance
-
- platform:
- os: linux
- arch: amd64
-
- trigger:
- event:
- - pull_request
- paths:
- exclude:
- - docs/**
-
- volumes:
- - name: deps
- temp: {}
-
- steps:
- - name: deps-frontend
- image: node:18
- pull: always
- commands:
- - make deps-frontend
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- - make deps-tools
- volumes:
- - name: deps
- path: /go
-
- - name: lint-frontend
- image: node:18
- commands:
- - make lint-frontend
- depends_on: [deps-frontend]
-
- - name: lint-backend
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - make lint-backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata sqlite sqlite_unlock_notify
- depends_on: [deps-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: lint-backend-windows
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- commands:
- - make golangci-lint-windows vet
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata sqlite sqlite_unlock_notify
- GOOS: windows
- GOARCH: amd64
- depends_on: [deps-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: lint-backend-gogit
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- commands:
- - make lint-backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata gogit sqlite sqlite_unlock_notify
- depends_on: [deps-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: checks-frontend
- image: node:18
- commands:
- - make checks-frontend
- depends_on: [deps-frontend]
-
- - name: checks-backend
- image: gitea/test_env:linux-1.20-amd64
- commands:
- - make --always-make checks-backend # ensure the 'go-licenses' make target runs
- depends_on: [deps-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: test-frontend
- image: node:18
- commands:
- - make test-frontend
- depends_on: [lint-frontend]
-
- - name: build-frontend
- image: node:18
- commands:
- - make frontend
- depends_on: [deps-frontend]
-
- - name: build-backend-no-gcc
- image: gitea/test_env:linux-1.19-amd64 # this step is kept as the lowest version of golang that we support
- pull: always
- environment:
- GOPROXY: https://goproxy.io
- commands:
- - go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
- depends_on: [deps-backend, checks-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: build-backend-arm64
- image: gitea/test_env:linux-1.20-amd64
- environment:
- GOPROXY: https://goproxy.io
- GOOS: linux
- GOARCH: arm64
- TAGS: bindata gogit
- commands:
- - make backend # test cross compile
- - rm ./gitea # clean
- depends_on: [deps-backend, checks-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: build-backend-windows
- image: gitea/test_env:linux-1.20-amd64
- environment:
- GOPROXY: https://goproxy.io
- GOOS: windows
- GOARCH: amd64
- TAGS: bindata gogit
- commands:
- - go build -o gitea_windows
- depends_on: [deps-backend, checks-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: build-backend-386
- image: gitea/test_env:linux-1.20-amd64
- environment:
- GOPROXY: https://goproxy.io
- GOOS: linux
- GOARCH: 386
- commands:
- - go build -o gitea_linux_386 # test if compatible with 32 bit
- depends_on: [deps-backend, checks-backend]
- volumes:
- - name: deps
- path: /go
-
- ---
- kind: pipeline
- type: docker
- name: testing-pgsql
-
- platform:
- os: linux
- arch: amd64
-
- depends_on:
- - compliance
-
- trigger:
- event:
- - pull_request
- paths:
- exclude:
- - docs/**
-
- volumes:
- - name: deps
- temp: {}
-
- services:
- - name: pgsql
- pull: default
- image: postgres:15
- environment:
- POSTGRES_DB: test
- POSTGRES_PASSWORD: postgres
-
- - name: ldap
- image: gitea/test-openldap:latest
- pull: always
-
- - name: minio
- image: minio/minio:RELEASE.2021-03-12T00-00-47Z
- pull: always
- commands:
- - minio server /data
- environment:
- MINIO_ACCESS_KEY: 123456
- MINIO_SECRET_KEY: 12345678
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
- when:
- event:
- exclude:
- - pull_request
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: prepare-test-env
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - ./build/test-env-prepare.sh
-
- - name: build
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - ./build/test-env-check.sh
- - make backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: test-pgsql
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - timeout -s ABRT 50m make test-pgsql-migration test-pgsql
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata gogit
- RACE_ENABLED: true
- TEST_TAGS: gogit
- TEST_LDAP: 1
- USE_REPO_TEST_DIR: 1
- depends_on: [build]
- volumes:
- - name: deps
- path: /go
-
- ---
- kind: pipeline
- type: docker
- name: testing-mysql
-
- platform:
- os: linux
- arch: amd64
-
- depends_on:
- - compliance
-
- trigger:
- event:
- - pull_request
- paths:
- exclude:
- - docs/**
-
- volumes:
- - name: deps
- temp: {}
-
- services:
- - name: mysql
- image: mysql:5.7
- pull: always
- environment:
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- MYSQL_DATABASE: test
-
- - name: elasticsearch
- image: elasticsearch:7.5.0
- pull: always
- environment:
- discovery.type: single-node
-
- - name: smtpimap
- image: tabascoterrier/docker-imap-devel:latest
- pull: always
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
- when:
- event:
- exclude:
- - pull_request
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: prepare-test-env
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - ./build/test-env-prepare.sh
-
- - name: build
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - ./build/test-env-check.sh
- - make backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: unit-test
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - make unit-test-coverage test-check
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata
- RACE_ENABLED: true
- GITHUB_READ_TOKEN:
- from_secret: github_read_token
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: unit-test-gogit
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - make unit-test-coverage test-check
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata gogit
- RACE_ENABLED: true
- GITHUB_READ_TOKEN:
- from_secret: github_read_token
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: test-mysql
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - make test-mysql-migration integration-test-coverage
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata
- RACE_ENABLED: true
- USE_REPO_TEST_DIR: 1
- TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200"
- depends_on: [build]
- volumes:
- - name: deps
- path: /go
-
- - name: generate-coverage
- image: gitea/test_env:linux-1.20-amd64
- commands:
- - make coverage
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata
- depends_on: [unit-test, test-mysql]
- when:
- branch:
- - main
- event:
- - push
- - pull_request
-
- - name: coverage-codecov
- image: woodpeckerci/plugin-codecov:next-alpine
- pull: always
- settings:
- files:
- - coverage.all
- token:
- from_secret: codecov_token
- depends_on: [generate-coverage]
- when:
- branch:
- - main
- event:
- - push
- - pull_request
-
- ---
- kind: pipeline
- type: docker
- name: testing-mysql8
-
- platform:
- os: linux
- arch: amd64
-
- depends_on:
- - compliance
-
- trigger:
- event:
- - pull_request
- paths:
- exclude:
- - docs/**
-
- volumes:
- - name: deps
- temp: {}
-
- services:
- - name: mysql8
- image: mysql:8
- pull: always
- environment:
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- MYSQL_DATABASE: testgitea
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
- when:
- event:
- exclude:
- - pull_request
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: prepare-test-env
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - ./build/test-env-prepare.sh
-
- - name: build
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - ./build/test-env-check.sh
- - make backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: test-mysql8
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - timeout -s ABRT 50m make test-mysql8-migration test-mysql8
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata
- USE_REPO_TEST_DIR: 1
- depends_on: [build]
- volumes:
- - name: deps
- path: /go
-
- ---
- kind: pipeline
- type: docker
- name: testing-mssql
-
- platform:
- os: linux
- arch: amd64
-
- depends_on:
- - compliance
-
- trigger:
- event:
- - pull_request
- paths:
- exclude:
- - docs/**
-
- volumes:
- - name: deps
- temp: {}
-
- services:
- - name: mssql
- image: mcr.microsoft.com/mssql/server:latest
- pull: always
- environment:
- ACCEPT_EULA: Y
- MSSQL_PID: Standard
- SA_PASSWORD: MwantsaSecurePassword1
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
- when:
- event:
- exclude:
- - pull_request
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: prepare-test-env
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - ./build/test-env-prepare.sh
-
- - name: build
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - ./build/test-env-check.sh
- - make backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: test-mssql
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - make test-mssql-migration test-mssql
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata
- USE_REPO_TEST_DIR: 1
- depends_on: [build]
- volumes:
- - name: deps
- path: /go
-
- ---
- kind: pipeline
- name: testing-sqlite
-
- platform:
- os: linux
- arch: arm64
-
- depends_on:
- - compliance
-
- trigger:
- event:
- - pull_request
- paths:
- exclude:
- - docs/**
-
- volumes:
- - name: deps
- temp: {}
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
- when:
- event:
- exclude:
- - pull_request
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-arm64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: prepare-test-env
- image: gitea/test_env:linux-1.20-arm64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - ./build/test-env-prepare.sh
-
- - name: build
- image: gitea/test_env:linux-1.20-arm64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - ./build/test-env-check.sh
- - make backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata gogit sqlite sqlite_unlock_notify
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: test-sqlite
- image: gitea/test_env:linux-1.20-arm64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - timeout -s ABRT 50m make test-sqlite-migration test-sqlite
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata gogit sqlite sqlite_unlock_notify
- RACE_ENABLED: true
- TEST_TAGS: gogit sqlite sqlite_unlock_notify
- USE_REPO_TEST_DIR: 1
- depends_on: [build]
- volumes:
- - name: deps
- path: /go
-
- ---
- kind: pipeline
- type: docker
- name: testing-e2e
-
- platform:
- os: linux
- arch: amd64
-
- depends_on:
- - compliance
-
- trigger:
- event:
- - pull_request
- paths:
- exclude:
- - docs/**
-
- volumes:
- - name: deps
- temp: {}
-
- steps:
- - name: deps-frontend
- image: node:18
- pull: always
- commands:
- - make deps-frontend
-
- - name: build-frontend
- image: node:18
- commands:
- - make frontend
- depends_on: [deps-frontend]
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- # TODO: We should probably build all dependencies into a test image
- - name: test-e2e
- image: mcr.microsoft.com/playwright:v1.32.1-focal
- commands:
- - curl -sLO https://go.dev/dl/go1.20.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.20.linux-amd64.tar.gz
- - groupadd --gid 1001 gitea && useradd -m --gid 1001 --uid 1001 gitea
- - apt-get -qq update && apt-get -qqy install build-essential
- - ./build/test-env-prepare.sh
- - su gitea bash -c "export PATH=$PATH:/usr/local/go/bin && timeout -s ABRT 40m make test-e2e-sqlite"
- environment:
- GOPROXY: https://goproxy.io
- GOSUMDB: sum.golang.org
- USE_REPO_TEST_DIR: 1
- DEBIAN_FRONTEND: noninteractive
- depends_on: [build-frontend, deps-backend]
- volumes:
- - name: deps
- path: /go
-
- ---
- kind: pipeline
- name: update_translations
-
- platform:
- os: linux
- arch: arm64
-
- trigger:
- branch:
- - main
- event:
- - cron
- cron:
- - update_translations
-
- steps:
- - name: download
- image: jonasfranz/crowdin
- pull: always
- settings:
- download: true
- export_dir: options/locale/
- ignore_branch: true
- project_identifier: gitea
- environment:
- CROWDIN_KEY:
- from_secret: crowdin_key
-
- - name: update
- image: alpine:3.17
- pull: always
- commands:
- - ./build/update-locales.sh
-
- - name: push
- image: appleboy/drone-git-push
- pull: always
- settings:
- author_email: "teabot@gitea.io"
- author_name: GiteaBot
- branch: main
- commit: true
- commit_message: "[skip ci] Updated translations via Crowdin"
- remote: "git@github.com:go-gitea/gitea.git"
- environment:
- DRONE_COMMIT_AUTHOR_EMAIL: "teabot@gitea.io"
- DRONE_COMMIT_AUTHOR: GiteaBot
- GIT_PUSH_SSH_KEY:
- from_secret: git_push_ssh_key
-
- - name: upload_translations
- image: jonasfranz/crowdin
- pull: always
- settings:
- files:
- locale_en-US.ini: options/locale/locale_en-US.ini
- ignore_branch: true
- project_identifier: gitea
- environment:
- CROWDIN_KEY:
- from_secret: crowdin_key
-
- ---
- kind: pipeline
- type: docker
- name: update_gitignore_and_licenses
-
- platform:
- os: linux
- arch: arm64
-
- trigger:
- branch:
- - main
- event:
- - cron
- cron:
- - update_gitignore_and_licenses
-
- steps:
- - name: download
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - timeout -s ABRT 40m make generate-license generate-gitignore
-
- - name: push
- image: appleboy/drone-git-push
- pull: always
- settings:
- author_email: "teabot@gitea.io"
- author_name: "GiteaBot"
- branch: main
- commit: true
- commit_message: "[skip ci] Updated licenses and gitignores"
- remote: "git@github.com:go-gitea/gitea.git"
- environment:
- DRONE_COMMIT_AUTHOR_EMAIL: "teabot@gitea.io"
- DRONE_COMMIT_AUTHOR: "GiteaBot"
- GIT_PUSH_SSH_KEY:
- from_secret: git_push_ssh_key
-
- ---
- kind: pipeline
- type: docker
- name: release-latest
-
- platform:
- os: linux
- arch: amd64
-
- workspace:
- base: /source
- path: /
-
- trigger:
- branch:
- - main
- - "release/*"
- event:
- - push
- paths:
- exclude:
- - docs/**
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
- volumes:
- - name: deps
- temp: {}
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
-
- - name: deps-frontend
- image: node:18
- pull: always
- commands:
- - make deps-frontend
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: static
- image: techknowlogick/xgo:go-1.20.x
- pull: always
- commands:
- # Upgrade to node 18 once https://github.com/techknowlogick/xgo/issues/163 is resolved
- - curl -sL https://deb.nodesource.com/setup_16.x | bash - && apt-get -qqy install nodejs
- - export PATH=$PATH:$GOPATH/bin
- - make release
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- TAGS: bindata sqlite sqlite_unlock_notify
- DEBIAN_FRONTEND: noninteractive
- volumes:
- - name: deps
- path: /go
-
- - name: gpg-sign
- image: plugins/gpgsign:1
- pull: always
- settings:
- detach_sign: true
- excludes:
- - "dist/release/*.sha256"
- files:
- - "dist/release/*"
- environment:
- GPGSIGN_KEY:
- from_secret: gpgsign_key
- GPGSIGN_PASSPHRASE:
- from_secret: gpgsign_passphrase
-
- - name: release-branch
- image: woodpeckerci/plugin-s3:latest
- pull: always
- settings:
- acl:
- from_secret: aws_s3_acl
- region:
- from_secret: aws_s3_region
- bucket:
- from_secret: aws_s3_bucket
- endpoint:
- from_secret: aws_s3_endpoint
- path_style:
- from_secret: aws_s3_path_style
- source: "dist/release/*"
- strip_prefix: dist/release/
- target: "/gitea/${DRONE_BRANCH##release/v}"
- environment:
- AWS_ACCESS_KEY_ID:
- from_secret: aws_access_key_id
- AWS_SECRET_ACCESS_KEY:
- from_secret: aws_secret_access_key
- when:
- branch:
- - "release/*"
- event:
- - push
-
- - name: release-main
- image: woodpeckerci/plugin-s3:latest
- settings:
- acl:
- from_secret: aws_s3_acl
- region:
- from_secret: aws_s3_region
- bucket:
- from_secret: aws_s3_bucket
- endpoint:
- from_secret: aws_s3_endpoint
- path_style:
- from_secret: aws_s3_path_style
- source: "dist/release/*"
- strip_prefix: dist/release/
- target: /gitea/main
- environment:
- AWS_ACCESS_KEY_ID:
- from_secret: aws_access_key_id
- AWS_SECRET_ACCESS_KEY:
- from_secret: aws_secret_access_key
- when:
- branch:
- - main
- event:
- - push
-
- ---
- kind: pipeline
- name: release-version
-
- platform:
- os: linux
- arch: amd64
-
- workspace:
- base: /source
- path: /
-
- trigger:
- event:
- - tag
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
- volumes:
- - name: deps
- temp: {}
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
-
- - name: deps-frontend
- image: node:18
- pull: always
- commands:
- - make deps-frontend
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: static
- image: techknowlogick/xgo:go-1.20.x
- pull: always
- commands:
- # Upgrade to node 18 once https://github.com/techknowlogick/xgo/issues/163 is resolved
- - curl -sL https://deb.nodesource.com/setup_16.x | bash - && apt-get -qqy install nodejs
- - export PATH=$PATH:$GOPATH/bin
- - make release
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- TAGS: bindata sqlite sqlite_unlock_notify
- DEBIAN_FRONTEND: noninteractive
- depends_on: [fetch-tags]
- volumes:
- - name: deps
- path: /go
-
- - name: gpg-sign
- image: plugins/gpgsign:1
- pull: always
- settings:
- detach_sign: true
- excludes:
- - "dist/release/*.sha256"
- files:
- - "dist/release/*"
- environment:
- GPGSIGN_KEY:
- from_secret: gpgsign_key
- GPGSIGN_PASSPHRASE:
- from_secret: gpgsign_passphrase
- depends_on: [static]
-
- - name: release-tag
- image: woodpeckerci/plugin-s3:latest
- pull: always
- settings:
- acl:
- from_secret: aws_s3_acl
- region:
- from_secret: aws_s3_region
- bucket:
- from_secret: aws_s3_bucket
- endpoint:
- from_secret: aws_s3_endpoint
- path_style:
- from_secret: aws_s3_path_style
- source: "dist/release/*"
- strip_prefix: dist/release/
- target: "/gitea/${DRONE_TAG##v}"
- environment:
- AWS_ACCESS_KEY_ID:
- from_secret: aws_access_key_id
- AWS_SECRET_ACCESS_KEY:
- from_secret: aws_secret_access_key
- depends_on: [gpg-sign]
-
- - name: github
- image: plugins/github-release:latest
- pull: always
- settings:
- files:
- - "dist/release/*"
- file_exists: overwrite
- environment:
- GITHUB_TOKEN:
- from_secret: github_token
- depends_on: [gpg-sign]
-
- ---
- kind: pipeline
- type: docker
- name: docs
-
- platform:
- os: linux
- arch: arm64
-
- depends_on:
- - compliance
-
- trigger:
- event:
- - push
- - tag
- - pull_request
- paths:
- include:
- - docs/**
-
- steps:
- - name: build-docs
- image: gitea/test_env:linux-1.20-arm64
- commands:
- - cd docs
- - make trans-copy clean build
-
- - name: publish-docs
- image: techknowlogick/drone-netlify:latest
- pull: always
- settings:
- path: docs/public/
- site_id: d2260bae-7861-4c02-8646-8f6440b12672
- environment:
- NETLIFY_TOKEN:
- from_secret: netlify_token
- when:
- branch:
- - main
- event:
- - push
-
- ---
- kind: pipeline
- type: docker
- name: docker-linux-amd64-release-version
-
- platform:
- os: linux
- arch: amd64
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
- trigger:
- ref:
- include:
- - "refs/tags/**"
- exclude:
- - "refs/tags/**-rc*"
- event:
- exclude:
- - cron
- paths:
- exclude:
- - docs/**
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
-
- - name: publish
- image: plugins/docker:latest
- pull: always
- settings:
- auto_tag: true
- auto_tag_suffix: linux-amd64
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- - name: publish-rootless
- image: plugins/docker:latest
- settings:
- dockerfile: Dockerfile.rootless
- auto_tag: true
- auto_tag_suffix: linux-amd64-rootless
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
- ---
-
- kind: pipeline
- type: docker
- name: docker-linux-amd64-release-candidate-version
-
- platform:
- os: linux
- arch: amd64
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
- trigger:
- ref:
- - "refs/tags/**-rc*"
- event:
- exclude:
- - cron
- paths:
- exclude:
- - docs/**
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
-
- - name: publish
- image: plugins/docker:latest
- pull: always
- settings:
- tags: ${DRONE_TAG##v}-linux-amd64
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- - name: publish-rootless
- image: plugins/docker:latest
- settings:
- dockerfile: Dockerfile.rootless
- tags: ${DRONE_TAG##v}-linux-amd64-rootless
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- ---
- kind: pipeline
- type: docker
- name: docker-linux-amd64-release
-
- platform:
- os: linux
- arch: amd64
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
- trigger:
- ref:
- - refs/heads/main
- event:
- exclude:
- - cron
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
-
- - name: publish
- image: plugins/docker:latest
- pull: always
- settings:
- auto_tag: false
- tags: dev-linux-amd64
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- - name: publish-rootless
- image: plugins/docker:latest
- settings:
- dockerfile: Dockerfile.rootless
- auto_tag: false
- tags: dev-linux-amd64-rootless
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- ---
- kind: pipeline
- name: docker-linux-amd64-release-branch
-
- platform:
- os: linux
- arch: amd64
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
- trigger:
- ref:
- - "refs/heads/release/v*"
- event:
- exclude:
- - cron
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
-
- - name: publish
- image: plugins/docker:latest
- pull: always
- settings:
- auto_tag: false
- tags: ${DRONE_BRANCH##release/v}-dev-linux-amd64
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- - name: publish-rootless
- image: plugins/docker:latest
- settings:
- dockerfile: Dockerfile.rootless
- auto_tag: false
- tags: ${DRONE_BRANCH##release/v}-dev-linux-amd64-rootless
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- ---
- kind: pipeline
- type: docker
- name: docker-linux-arm64-dry-run
-
- platform:
- os: linux
- arch: arm64
-
- depends_on:
- - compliance
-
- trigger:
- event:
- - pull_request
- paths:
- exclude:
- - docs/**
-
- steps:
- - name: dryrun
- image: plugins/docker:latest
- pull: always
- settings:
- dry_run: true
- repo: gitea/gitea
- tags: linux-arm64
- build_args:
- - GOPROXY=https://goproxy.io
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- - pull_request
-
- ---
- kind: pipeline
- type: docker
- name: docker-linux-arm64-release-version
-
- platform:
- os: linux
- arch: arm64
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
- trigger:
- ref:
- include:
- - "refs/tags/**"
- exclude:
- - "refs/tags/**-rc*"
- event:
- exclude:
- - cron
- paths:
- exclude:
- - docs/**
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
-
- - name: publish
- image: plugins/docker:latest
- pull: always
- settings:
- auto_tag: true
- auto_tag_suffix: linux-arm64
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- - name: publish-rootless
- image: plugins/docker:latest
- settings:
- dockerfile: Dockerfile.rootless
- auto_tag: true
- auto_tag_suffix: linux-arm64-rootless
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- ---
- kind: pipeline
- type: docker
- name: docker-linux-arm64-release-candidate-version
-
- platform:
- os: linux
- arch: arm64
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
- trigger:
- ref:
- - "refs/tags/**-rc*"
- event:
- exclude:
- - cron
- paths:
- exclude:
- - docs/**
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
-
- - name: publish
- image: plugins/docker:latest
- pull: always
- settings:
- tags: ${DRONE_TAG##v}-linux-arm64
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- - name: publish-rootless
- image: plugins/docker:latest
- settings:
- dockerfile: Dockerfile.rootless
- tags: ${DRONE_TAG##v}-linux-arm64-rootless
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- ---
- kind: pipeline
- type: docker
- name: docker-linux-arm64-release
-
- platform:
- os: linux
- arch: arm64
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
- trigger:
- ref:
- - refs/heads/main
- event:
- exclude:
- - cron
- paths:
- exclude:
- - docs/**
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
-
- - name: publish
- image: plugins/docker:latest
- pull: always
- settings:
- auto_tag: false
- tags: dev-linux-arm64
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- - name: publish-rootless
- image: plugins/docker:latest
- settings:
- dockerfile: Dockerfile.rootless
- auto_tag: false
- tags: dev-linux-arm64-rootless
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- ---
- kind: pipeline
- name: docker-linux-arm64-release-branch
-
- platform:
- os: linux
- arch: arm64
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
- trigger:
- ref:
- - "refs/heads/release/v*"
- event:
- exclude:
- - cron
-
- steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
-
- - name: publish
- image: plugins/docker:latest
- pull: always
- settings:
- auto_tag: false
- tags: ${DRONE_BRANCH##release/v}-dev-linux-arm64
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- - name: publish-rootless
- image: plugins/docker:latest
- settings:
- dockerfile: Dockerfile.rootless
- auto_tag: false
- tags: ${DRONE_BRANCH##release/v}-dev-linux-arm64-rootless
- repo: gitea/gitea
- build_args:
- - GOPROXY=https://goproxy.io
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
- environment:
- PLUGIN_MIRROR:
- from_secret: plugin_mirror
- DOCKER_BUILDKIT: 1
- when:
- event:
- exclude:
- - pull_request
-
- ---
- kind: pipeline
- type: docker
- name: docker-manifest-version
-
- platform:
- os: linux
- arch: amd64
-
- steps:
- - name: manifest-rootless
- image: plugins/manifest
- pull: always
- settings:
- auto_tag: true
- ignore_missing: true
- spec: docker/manifest.rootless.tmpl
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
-
- - name: manifest
- image: plugins/manifest
- settings:
- auto_tag: true
- ignore_missing: true
- spec: docker/manifest.tmpl
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
-
- trigger:
- ref:
- - "refs/tags/**"
- event:
- exclude:
- - cron
- paths:
- exclude:
- - docs/**
-
- depends_on:
- - docker-linux-amd64-release-version
- - docker-linux-amd64-release-candidate-version
- - docker-linux-arm64-release-version
- - docker-linux-arm64-release-candidate-version
-
- ---
- kind: pipeline
- type: docker
- name: docker-manifest
-
- platform:
- os: linux
- arch: amd64
-
- steps:
- - name: manifest-rootless
- image: plugins/manifest
- pull: always
- settings:
- auto_tag: false
- ignore_missing: true
- spec: docker/manifest.rootless.tmpl
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
-
- - name: manifest
- image: plugins/manifest
- settings:
- auto_tag: false
- ignore_missing: true
- spec: docker/manifest.tmpl
- password:
- from_secret: docker_password
- username:
- from_secret: docker_username
-
- trigger:
- ref:
- - refs/heads/main
- - "refs/heads/release/v*"
- event:
- exclude:
- - cron
- paths:
- exclude:
- - docs/**
-
- depends_on:
- - docker-linux-amd64-release
- - docker-linux-arm64-release
- - docker-linux-amd64-release-branch
- - docker-linux-arm64-release-branch
-
- ---
- kind: pipeline
- type: docker
- name: notifications
-
- platform:
- os: linux
- arch: arm64
-
- clone:
- disable: true
-
- trigger:
- branch:
- - main
- - "release/*"
- event:
- - push
- - tag
- status:
- - success
- - failure
-
- depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
- - release-version
- - release-latest
- - docker-linux-amd64-release
- - docker-linux-arm64-release
- - docker-linux-amd64-release-version
- - docker-linux-arm64-release-version
- - docker-linux-amd64-release-candidate-version
- - docker-linux-arm64-release-candidate-version
- - docker-linux-amd64-release-branch
- - docker-linux-arm64-release-branch
- - docker-manifest
- - docker-manifest-version
- - docs
-
- steps:
- - name: discord
- image: appleboy/drone-discord:1.2.4
- pull: always
- settings:
- message: "{{#success build.status}} ✅ Build #{{build.number}} of `{{repo.name}}` succeeded.\n\n📝 Commit by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n🌐 {{ build.link }} {{else}} ❌ Build #{{build.number}} of `{{repo.name}}` failed.\n\n📝 Commit by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n🌐 {{ build.link }} {{/success}}\n"
- webhook_id:
- from_secret: discord_webhook_id
- webhook_token:
- from_secret: discord_webhook_token
|