---
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:
type: docker
name: php7.3-mariadb
+depends_on:
+ - php7.3-lint
+
steps:
- name: Restore cache
image: meltwater/drone-cache:dev
type: docker
name: php7.4-mariadb
+depends_on:
+ - php7.4-lint
+
steps:
- name: Restore cache
image: meltwater/drone-cache:dev
type: docker
name: php8.0-mariadb
+depends_on:
+ - php8.0-lint
+
steps:
- name: Restore cache
image: meltwater/drone-cache:dev
type: docker
name: continuous-deployment
+depends_on:
+ - php7.3-mariadb
+ - php7.4-mariadb
+ - php8.0-mariadb
+
trigger:
repo:
- friendica/friendica
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:
--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"
- 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:
type: docker
name: release-deployment
+depends_on:
+ - php7.3-mariadb
+ - php7.4-mariadb
+ - php8.0-mariadb
+
trigger:
repo:
- friendica/friendica
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:
- 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"
--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"
- 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: