+++ /dev/null
----
-kind: pipeline
-type: docker
-name: Check messages.po
-
-clone:
- disable: true
-
-trigger:
- event:
- - pull_request
-
-steps:
- - name: clone friendica base
- image: alpine/git
- commands:
- - git clone https://github.com/friendica/friendica.git .
- - git checkout $DRONE_COMMIT_BRANCH
- - name: clone friendica addon
- image: alpine/git
- commands:
- - git clone $DRONE_REPO_LINK addon
- - cd addon/
- - git checkout $DRONE_COMMIT_BRANCH
- - git fetch origin $DRONE_COMMIT_REF
- - git merge $DRONE_COMMIT_SHA
- - name: Run Xgettext for addons
- image: friendicaci/transifex
- commands:
- - /xgettext-addon.sh
- - name: Check update necessary
- image: friendicaci/transifex
- commands:
- - /check-addons.sh
----
-kind: pipeline
-type: docker
-name: php-cs check
-
-clone:
- disable: true
-
-trigger:
- event:
- - pull_request
-
-steps:
- - name: Clone friendica base
- image: alpine/git
- commands:
- - git clone https://github.com/friendica/friendica.git .
- - git checkout $DRONE_COMMIT_BRANCH
- - name: Clone friendica addon
- image: alpine/git
- commands:
- - git clone $DRONE_REPO_LINK addon
- - cd addon/
- - git checkout $DRONE_COMMIT_BRANCH
- - git fetch origin $DRONE_COMMIT_REF
- - git merge $DRONE_COMMIT_SHA
- - name: Install dependencies
- image: composer
- commands:
- - ./bin/composer.phar run cs:install
- - name: Run coding standards check
- image: friendicaci/php-cs
- commands:
- - cd addon/
- - export CHANGED_FILES="$(git diff --name-status ${DRONE_COMMIT_BEFORE}..${DRONE_COMMIT_AFTER} | grep ^A | cut -f2 | sed -e "s/^/addon\\//")"
- - cd ../
- - /check-php-cs.sh
----
-kind: pipeline
-type: docker
-name: continuous-deployment
-
-trigger:
- repo:
- - friendica/friendica-addons
- branch:
- - develop
- - 20*-rc
- event:
- - push
-
-node:
- node: releaser # This prevents executing this pipeline at other servers than drone.friendi.ca
-
-clone:
- disable: true
-
-steps:
- - name: Clone friendica base
- image: alpine/git
- commands:
- - git clone https://github.com/friendica/friendica.git .
- - git checkout $DRONE_COMMIT_BRANCH
- - name: Clone friendica addon
- image: alpine/git
- commands:
- - git clone $DRONE_REPO_LINK addon
- - cd addon/
- - git checkout $DRONE_COMMIT_BRANCH
- - git fetch origin $DRONE_COMMIT_REF
- - git merge $DRONE_COMMIT_SHA
- - name: Create artifacts
- image: debian
- commands:
- - apt-get update
- - apt-get install bzip2
- - export VERSION="$(cat VERSION)"
- - export RELEASE="friendica-addons-$VERSION"
- - export ARTIFACT="$RELEASE.tar.gz"
- - mkdir ./build
- - # Create artifact for friendica-addons
- - tar
- --exclude='.tx'
- --exclude='.git'
- --exclude='.editorconfig'
- --exclude='.gitattributes'
- --exclude='.gitignore'
- --exclude='.drone.yml'
- --exclude='**/*/messages.po'
- -cvzf ./build/$ARTIFACT addon/
- - # calculate SHA256 checksum
- - cd ./build
- - sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
- - chmod 664 ./*
- - ls -lh
- - # output the sha256 sum for checking
- - cat "$ARTIFACT.sum256"
- - sha256sum "$ARTIFACT"
- - name: Sign artifacts
- image: plugins/gpgsign
- settings:
- key:
- from_secret: gpg_key
- passphrase:
- from_secret: gpg_password
- files:
- - build/*
- exclude:
- - build/*.sum256
- detach_sign: true
- - name: Upload artifacts
- image: alpine
- environment:
- LFTP_HOST:
- from_secret: sftp_host
- LFTP_USER:
- from_secret: sftp_user
- LFTP_KEY:
- from_secret: ssh_key
- LFTP_PORT: "22"
- LFTP_SOURCE: "build"
- LFTP_TARGET: "/http"
- 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
-
-volumes:
- - name: cache
- host:
- path: /tmp/drone-cache
----
-kind: pipeline
-type: docker
-name: release-deployment
-
-trigger:
- repo:
- - friendica/friendica-addons
- branch:
- - stable
- event:
- - tag
-
-node:
- node: releaser # This prevents executing this pipeline at other servers than drone.friendi.ca
-
-clone:
- disable: true
-
-steps:
- - name: Clone friendica base
- image: alpine/git
- commands:
- - git clone https://github.com/friendica/friendica.git .
- - git checkout $DRONE_COMMIT_BRANCH
- - name: Clone friendica addon
- image: alpine/git
- commands:
- - git clone $DRONE_REPO_LINK addon
- - cd addon/
- - git checkout $DRONE_COMMIT_BRANCH
- - git fetch origin $DRONE_COMMIT_REF
- - git merge $DRONE_COMMIT_SHA
- - name: Create artifacts
- image: debian
- commands:
- - apt-get update
- - apt-get install bzip2
- - export VERSION="$(cat VERSION)"
- - export RELEASE="friendica-addons-$VERSION"
- - export ARTIFACT="$RELEASE.tar.gz"
- - mkdir ./build
- - # Create artifact for friendica-addons
- - tar
- --exclude='.tx'
- --exclude='.git'
- --exclude='.editorconfig'
- --exclude='.gitattributes'
- --exclude='.gitignore'
- --exclude='.drone.yml'
- --exclude='**/*/messages.po'
- -cvzf ./build/$ARTIFACT addon/
- - # calculate SHA256 checksum
- - cd ./build
- - sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
- - chmod 664 ./*
- - ls -lh
- - # output the sha256 sum for checking
- - cat "$ARTIFACT.sum256"
- - sha256sum "$ARTIFACT"
- - name: Sign artifacts
- image: plugins/gpgsign
- settings:
- key:
- from_secret: gpg_key
- passphrase:
- from_secret: gpg_password
- files:
- - build/*
- exclude:
- - build/*.sum256
- detach_sign: true
- - name: Upload artifacts
- image: alpine
- environment:
- LFTP_HOST:
- from_secret: sftp_host
- LFTP_USER:
- from_secret: sftp_user
- LFTP_KEY:
- from_secret: ssh_key
- LFTP_PORT: "22"
- LFTP_SOURCE: "build"
- LFTP_TARGET: "/http"
- 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
-
-volumes:
- - name: cache
- host:
- path: /tmp/drone-cache
--- /dev/null
+skip_clone: true
+
+pipeline:
+ clone_friendica_base:
+ image: alpine/git
+ commands:
+ - git clone https://github.com/friendica/friendica.git .
+ - git checkout $CI_COMMIT_BRANCH
+ when:
+ event: pull_request
+ clone_friendica_addon:
+ image: alpine/git
+ commands:
+ - git clone $CI_REPO_LINK addon
+ - cd addon/
+ - git checkout $CI_COMMIT_BRANCH
+ - git fetch origin $CI_COMMIT_REF
+ - git merge $CI_COMMIT_SHA
+ when:
+ event: pull_request
+ composer_install:
+ image: composer
+ commands:
+ - ./bin/composer.phar run cs:install
+ when:
+ event: pull_request
+ check:
+ image: friendicaci/php-cs
+ commands:
+ - cd addon/
+ - export CHANGED_FILES="$(git diff --name-status ${CI_PREV_COMMIT_SHA}..${CI_COMMIT_SHA} | grep ^A | cut -f2 | sed -e "s/^/addon\\//")"
+ - cd ../
+ - /check-php-cs.sh
+ when:
+ event: pull_request
--- /dev/null
+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
+
+skip_clone: true
+
+pipeline:
+ clone_friendica_base:
+ image: alpine/git
+ commands:
+ - git clone https://github.com/friendica/friendica.git .
+ - git checkout $CI_COMMIT_BRANCH
+ when:
+ repo: friendica/friendica-addons
+ branch: [ develop, '*-rc' ]
+ event: push
+ clone_friendica_addon:
+ image: alpine/git
+ commands:
+ - git clone $CI_REPO_LINK addon
+ - cd addon/
+ - git checkout $CI_COMMIT_BRANCH
+ - git fetch origin $CI_COMMIT_REF
+ - git merge $CI_COMMIT_SHA
+ when:
+ repo: friendica/friendica-addons
+ branch: [ develop, '*-rc' ]
+ event: push
+ composer_install:
+ image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
+ commands:
+ - export COMPOSER_HOME=.composer
+ - composer validate
+ - composer install --no-dev --optimize-autoloader
+ volumes:
+ - /etc/hosts:/etc/hosts
+ when:
+ repo: friendica/friendica-addons
+ branch: [ develop, '*-rc' ]
+ event: push
+ create_artifacts:
+ image: debian
+ commands:
+ - apt-get update
+ - apt-get install bzip2
+ - 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='**/*/messages.po'
+ -cvzf ./build/$ARTIFACT addon/
+ - cd ./build
+ - sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
+ - chmod 664 ./*
+ - ls -lh
+ - cat "$ARTIFACT.sum256"
+ - sha256sum "$ARTIFACT"
+ when:
+ repo: friendica/friendica-addons
+ branch: [ develop, '*-rc' ]
+ event: push
+ 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-addons
+ branch: [ develop, '*-rc' ]
+ event: push
+ upload_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
+ when:
+ repo: friendica/friendica-addons
+ branch: [ develop, '*-rc' ]
+ event: push
--- /dev/null
+skip_clone: true
+
+branches:
+ exclude: [ stable ]
+
+pipeline:
+ clone_friendica_base:
+ image: alpine/git
+ commands:
+ - git clone https://github.com/friendica/friendica.git .
+ - git checkout $CI_COMMIT_BRANCH
+ when:
+ event: pull_request
+ clone_friendica_addon:
+ image: alpine/git
+ commands:
+ - git clone $CI_REPO_LINK addon
+ - cd addon/
+ - git checkout $CI_COMMIT_BRANCH
+ - git fetch origin $CI_COMMIT_REF
+ - git merge $CI_COMMIT_SHA
+ when:
+ event: pull_request
+ build_xgettext:
+ image: friendicaci/transifex
+ commands:
+ - /xgettext-addon.sh
+ when:
+ event: pull_request
+ check:
+ image: friendicaci/transifex
+ commands:
+ - /check-addons.sh
+ when:
+ event: pull_request
--- /dev/null
+matrix:
+ include:
+ - PHP_MAJOR_VERSION: 7.4
+ PHP_VERSION: 7.4.18
+
+depends_on:
+ - code_standards_check
+
+platform: releaser/release # This prevents executing this pipeline at other servers than ci.friendi.ca
+
+skip_clone: true
+
+pipeline:
+ clone_friendica_base:
+ image: alpine/git
+ commands:
+ - git clone https://github.com/friendica/friendica.git .
+ - git checkout $CI_COMMIT_BRANCH
+ when:
+ repo: friendica/friendica-addons
+ branch: stable
+ event: tag
+ clone_friendica_addon:
+ image: alpine/git
+ commands:
+ - git clone $CI_REPO_LINK addon
+ - cd addon/
+ - git checkout $CI_COMMIT_BRANCH
+ - git fetch origin $CI_COMMIT_REF
+ - git merge $CI_COMMIT_SHA
+ when:
+ repo: friendica/friendica-addons
+ branch: stable
+ event: tag
+ composer_install:
+ image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
+ commands:
+ - export COMPOSER_HOME=.composer
+ - composer validate
+ - composer install --no-dev --optimize-autoloader
+ volumes:
+ - /etc/hosts:/etc/hosts
+ when:
+ repo: friendica/friendica-addons
+ branch: stable
+ event: tag
+ 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/,"
+ -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-addons
+ branch: stable
+ event: tag
+ 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-addons
+ branch: stable
+ event: tag
+ upload_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
+ when:
+ repo: friendica/friendica-addons
+ branch: stable
+ event: tag