friendica/.woodpecker/.continuous-deployment.yml
2022-10-21 00:49:38 +02:00

103 lines
2.6 KiB
YAML

depends_on:
- phpunit
- code_standards_check
- database_checks
- messages.po_check
skip_clone: true
pipeline:
clone:
image: alpine/git
commands:
- git clone $CI_REPO_LINK .
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
instance: releaser.ci.friendi.ca
restore_cache:
image: meltwater/drone-cache:dev
settings:
backend: "filesystem"
restore: true
cache_key: "{{ .Repo.Name }}_php7.4_{{ arch }}_{{ os }}"
archive_format: "gzip"
mount:
- '.composer'
volumes:
- /tmp/drone-cache:/tmp/cache
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
instance: releaser.ci.friendi.ca
composer_install:
image: friendicaci/php7.4:php7.4.18
commands:
- export COMPOSER_HOME=.composer
- composer validate
- composer install --no-dev --optimize-autoloader
volumes:
- /etc/hosts:/etc/hosts
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
instance: releaser.ci.friendi.ca
create_artifacts:
image: debian
commands:
- apt-get update
- apt-get install bzip2
- mkdir ./build
- export VERSION="$(cat VERSION)"
- export RELEASE="friendica-full-$VERSION"
- export ARTIFACT="$RELEASE.tar.gz"
- tar
--transform "s,^,$RELEASE/,S"
-X mods/release-list-exclude.txt
-T mods/release-list-include.txt
-cvzf ./build/$ARTIFACT
- cd ./build
- sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
- chmod 664 ./*
- ls -lh
- cat "$ARTIFACT.sum256"
- sha256sum "$ARTIFACT"
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
instance: releaser.ci.friendi.ca
sign_artifacts:
image: plugins/gpgsign
settings:
key:
from_secret: gpg_key
passphrase:
from_secret: gpg_password
files:
- build/*
exclude:
- build/*.sum256
detach_sign: true
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
instance: releaser.ci.friendi.ca
publish_artifacts:
image: alpine
commands:
- cp -fr build/* /tmp/friendica_files/
volumes:
- files:/tmp/friendica_files
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
instance: releaser.ci.friendi.ca