# This prevents executing this pipeline at other servers than ci.friendi.ca labels: location: friendica type: releaser 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 event: tag 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_CLONE_URL addon - cd addon/ - git checkout $CI_COMMIT_BRANCH - git fetch origin $CI_COMMIT_REF - git merge $CI_COMMIT_SHA when: repo: friendica/friendica-addons event: tag 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 event: tag composer_install: image: friendicaci/php8.2:php8.2.16 commands: - export COMPOSER_HOME=.composer - composer validate - composer install --no-dev --optimize-autoloader when: repo: friendica/friendica-addons event: tag volumes: - /etc/hosts:/etc/hosts create_artifacts: image: debian commands: - apt-get update - apt-get install bzip2 - mkdir ./build - export VERSION="$(cat VERSION)" - export RELEASE="friendica-addons-$VERSION" - export ARTIFACT="$RELEASE.tar.gz" - tar --exclude='.tx' --exclude='.git' --exclude='.editorconfig' --exclude='.gitattributes' --exclude='.gitignore' --exclude='.woodpecker' --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 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 event: tag publish_artifacts: image: alpine commands: - cp -fr build/* /tmp/friendica_files/ volumes: - files:/tmp/friendica_files when: repo: friendica/friendica-addons event: tag