]> git.mxchange.org Git - friendica.git/blobdiff - .drone.yml
Merge pull request #10813 from tobiasd/20211003-lengthcounter
[friendica.git] / .drone.yml
index 18b84b76e15b1b2bf24c5be439d5abf478cd163f..4c4555a8a8da24e987be1bdc05382e31be047d46 100644 (file)
@@ -15,6 +15,22 @@ steps:
 ---
 kind: pipeline
 type: docker
+name: Integrity checks
+
+steps:
+  - name: Check database version
+    image: alpine
+    commands:
+      - export DBSTRUCTURE_VERSION="$(sed -rn "s/.*'DB_UPDATE_VERSION', ([0-9]+).*/\1/p" static/dbstructure.config.php)"
+      - export DATABASE_VERSION="$(sed -rn 's/.*DB_UPDATE_VERSION ([0-9]+).*/\1/p' database.sql)"
+      - echo "Database $DATABASE_VERSION - DB-Structure $DBSTRUCTURE_VERSION"
+      - if [[ "$DBSTRUCTURE_VERSION" != "$DATABASE_VERSION" ]]; then
+          echo "Database version mismatch.";
+          exit 1;
+        fi
+---
+kind: pipeline
+type: docker
 name: php7.3-lint
 
 steps:
@@ -96,6 +112,9 @@ kind: pipeline
 type: docker
 name: php7.3-mariadb
 
+depends_on:
+  - php7.3-lint
+
 steps:
   - name: Restore cache
     image: meltwater/drone-cache:dev
@@ -170,6 +189,9 @@ kind: pipeline
 type: docker
 name: php7.4-mariadb
 
+depends_on:
+  - php7.4-lint
+
 steps:
   - name: Restore cache
     image: meltwater/drone-cache:dev
@@ -256,6 +278,9 @@ kind: pipeline
 type: docker
 name: php8.0-mariadb
 
+depends_on:
+  - php8.0-lint
+
 steps:
   - name: Restore cache
     image: meltwater/drone-cache:dev
@@ -328,7 +353,12 @@ volumes:
 ---
 kind: pipeline
 type: docker
-name: continous-deployment
+name: continuous-deployment
+
+depends_on:
+  - php7.3-mariadb
+  - php7.4-mariadb
+  - php8.0-mariadb
 
 trigger:
   repo:
@@ -343,12 +373,6 @@ node:
   node: releaser # This prevents executing this pipeline at other servers than drone.friendi.ca
 
 steps:
-  - name: Clone addon
-    image: alpine/git
-    commands:
-      - git clone https://github.com/friendica/friendica-addons ./addon
-      - cd ./addon
-      - git checkout $DRONE_REPO_BRANCH
   - name: Restore cache
     image: meltwater/drone-cache:dev
     settings:
@@ -382,14 +406,27 @@ steps:
         --transform "s,^,$RELEASE/,"
         -X mods/release-list-exclude.txt
         -T mods/release-list-include.txt
-        -cvjf ./build/$ARTIFACT
+        -cvzf ./build/$ARTIFACT
       - # calculate SHA256 checksum
       - cd ./build
-      - sha256sum "$ARTIFACT" > "$ARTIFACT.sha256"
+      - sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
+      - chmod 664 ./*
       - ls -lh
       - # output the sha256 sum for checking
-      - cat "$ARTIFACT.sha256"
+      - 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:
@@ -428,6 +465,11 @@ kind: pipeline
 type: docker
 name: release-deployment
 
+depends_on:
+  - php7.3-mariadb
+  - php7.4-mariadb
+  - php8.0-mariadb
+
 trigger:
   repo:
     - friendica/friendica
@@ -440,12 +482,6 @@ node:
   node: releaser # This prevents executing this pipeline at other servers than drone.friendi.ca
 
 steps:
-  - name: Clone addon
-    image: alpine/git
-    commands:
-      - git clone https://github.com/friendica/friendica-addons ./addon
-      - cd ./addon
-      - git checkout $DRONE_REPO_BRANCH
   - name: Restore cache
     image: meltwater/drone-cache:dev
     settings:
@@ -472,8 +508,6 @@ steps:
       - apt-get install bzip2
       - mkdir ./build
       - export VERSION="$(cat VERSION)"
-      - mkdir ./build
-      - export VERSION="$(cat VERSION)"
       - # Create artifact
       - export RELEASE="friendica-full-$VERSION"
       - export ARTIFACT="$RELEASE.tar.gz"
@@ -481,14 +515,27 @@ steps:
         --transform "s,^,$RELEASE/,"
         -X mods/release-list-exclude.txt
         -T mods/release-list-include.txt
-        -cvjf ./build/$ARTIFACT
+        -cvzf ./build/$ARTIFACT
       - # calculate SHA256 checksum
       - cd ./build
-      - sha256sum "$ARTIFACT" > "$ARTIFACT.sha256"
+      - sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
+      - chmod 664 ./*
       - ls -lh
       - # output the sha256 sum for checking
-      - cat "$ARTIFACT.sha256"
+      - 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: