-matrix:
- include:
- - PHP_MAJOR_VERSION: 7.4
- PHP_VERSION: 7.4.18
-
-depends_on:
- - code_standards_check
- - messages.po_check
-
-platform: releaser/release # This prevents executing this pipeline at other servers than ci.friendi.ca
+# This prevents executing this pipeline at other servers than ci.friendi.ca
+labels:
+ location: friendica
+ type: releaser
skip_clone: true
clone_friendica_addon:
image: alpine/git
commands:
+ - git config --global user.email "no-reply@friendi.ca"
+ - git config --global user.name "Friendica"
- git clone $CI_REPO_LINK addon
- cd addon/
- git checkout $CI_COMMIT_BRANCH
repo: friendica/friendica-addons
branch: [ develop, '*-rc' ]
event: push
+ 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-addons
+ branch: [ develop, '*-rc' ]
+ event: push
composer_install:
- image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
+ image: friendicaci/php7.4:php7.4.18
commands:
- export COMPOSER_HOME=.composer
- composer validate
commands:
- apt-get update
- apt-get install bzip2
+ - mkdir ./build
- export VERSION="$(cat VERSION)"
- export RELEASE="friendica-addons-$VERSION"
- export ARTIFACT="$RELEASE.tar.gz"
- - mkdir ./build
- tar
--exclude='.tx'
--exclude='.git'
--exclude='.editorconfig'
--exclude='.gitattributes'
--exclude='.gitignore'
- --exclude='.drone.yml'
+ --exclude='.woodpecker'
--exclude='**/*/messages.po'
-cvzf ./build/$ARTIFACT addon/
- cd ./build
repo: friendica/friendica-addons
branch: [ develop, '*-rc' ]
event: push
- upload_artifacts:
+ publish_artifacts:
image: alpine
- secrets:
- - source: sftp_host
- target: lftp_host
- - source: sftp_user
- target: lftp_user
- - source: ssh_key
- target: lftp_key
- environment:
- LFTP_PORT: "22"
- LFTP_SOURCE: "build"
- LFTP_TARGET: "/http"
- volumes:
- - /etc/hosts:/etc/hosts
commands:
- - apk add lftp openssh openssl
- - touch drone.key
- - chmod 400 drone.key
- - echo "$LFTP_KEY" | openssl base64 -A -d > drone.key
- - lftp -c "
- set net:timeout 5;
- set net:max-retries 2;
- set net:reconnect-interval-base 5;
- set sftp:auto-confirm true;
- set sftp:connect-program 'ssh -q -a -x -i drone.key';
- connect sftp://$LFTP_USER:@$LFTP_HOST:$LFTP_PORT;
- cd $LFTP_TARGET;
- mput $LFTP_SOURCE/*;
- "
- - rm drone.key
+ - cp -fr build/* /tmp/friendica_files/
+ volumes:
+ - files:/tmp/friendica_files
when:
repo: friendica/friendica-addons
branch: [ develop, '*-rc' ]