]> git.mxchange.org Git - friendica-addons.git/commitdiff
Add drone release for addons
authorPhilipp <admin@philipp.info>
Thu, 2 Sep 2021 10:13:14 +0000 (12:13 +0200)
committerPhilipp <admin@philipp.info>
Thu, 2 Sep 2021 10:13:14 +0000 (12:13 +0200)
.drone.yml

index 4e3239f5c64e2a30e552c405ddf79852b983fc5b..adb54a8586a7a2b0c69a84c5fba206c9cce3ecb7 100644 (file)
@@ -69,3 +69,92 @@ steps:
       - 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: php-continous-package
+
+#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 RELEASEADDONS="friendica-addons-$VERSION"
+      - export ARTIFACTADDONS="$RELEASEADDON.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' \
+        -cvjf ./build/$ARTIFACTADDONS --transform "s,^addon,$RELEASEADDONS," addon/
+      - # calculate SHA256 checksum
+      - sha256sum ./build/$ARTIFACTADDONS > ./build/$ARTIFACTADDONS.sha256
+      - ls -lh ./build
+  - 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