]> git.mxchange.org Git - friendica-addons.git/commitdiff
Replace Drone with Woodpecker
authorPhilipp <admin@philipp.info>
Thu, 30 Dec 2021 12:51:35 +0000 (13:51 +0100)
committerPhilipp <admin@philipp.info>
Thu, 30 Dec 2021 13:04:35 +0000 (14:04 +0100)
.drone.yml [deleted file]
.woodpecker/.code_standards_check.yml [new file with mode: 0644]
.woodpecker/.continuous-deployment.yml [new file with mode: 0644]
.woodpecker/.messages.po_check.yml [new file with mode: 0644]
.woodpecker/.releaser.yml [new file with mode: 0644]

diff --git a/.drone.yml b/.drone.yml
deleted file mode 100644 (file)
index b80d434..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
----
-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
diff --git a/.woodpecker/.code_standards_check.yml b/.woodpecker/.code_standards_check.yml
new file mode 100644 (file)
index 0000000..ba31f36
--- /dev/null
@@ -0,0 +1,35 @@
+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
diff --git a/.woodpecker/.continuous-deployment.yml b/.woodpecker/.continuous-deployment.yml
new file mode 100644 (file)
index 0000000..2d3a43f
--- /dev/null
@@ -0,0 +1,126 @@
+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
diff --git a/.woodpecker/.messages.po_check.yml b/.woodpecker/.messages.po_check.yml
new file mode 100644 (file)
index 0000000..d901286
--- /dev/null
@@ -0,0 +1,35 @@
+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
diff --git a/.woodpecker/.releaser.yml b/.woodpecker/.releaser.yml
new file mode 100644 (file)
index 0000000..0b2f79f
--- /dev/null
@@ -0,0 +1,121 @@
+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