]> git.mxchange.org Git - friendica.git/blob - .woodpecker/.continuous-deployment.yml
Merge pull request #12807 from HankG/mastodon-trending-api-updates
[friendica.git] / .woodpecker / .continuous-deployment.yml
1 depends_on:
2   - phpunit
3   - code_standards_check
4   - database_checks
5   - messages.po_check
6
7 # This prevents executing this pipeline at other servers than ci.friendi.ca
8 labels:
9   location: friendica
10   type: releaser
11
12 skip_clone: true
13
14 pipeline:
15   clone:
16     image: alpine/git
17     commands:
18       - git clone $CI_REPO_LINK .
19       - git checkout $CI_COMMIT_BRANCH
20       - git fetch origin $CI_COMMIT_REF
21       - git merge $CI_COMMIT_SHA
22     when:
23       repo: friendica/friendica
24       branch: [ develop, '*-rc' ]
25       event: push
26   restore_cache:
27     image: meltwater/drone-cache:dev
28     settings:
29       backend: "filesystem"
30       restore: true
31       cache_key: "{{ .Repo.Name }}_php7.4_{{ arch }}_{{ os }}"
32       archive_format: "gzip"
33       mount:
34         - '.composer'
35     volumes:
36       - /tmp/drone-cache:/tmp/cache
37     when:
38       repo: friendica/friendica
39       branch: [ develop, '*-rc' ]
40       event: push
41   composer_install:
42     image: friendicaci/php7.4:php7.4.33
43     commands:
44       - export COMPOSER_HOME=.composer
45       - composer validate
46       - composer install --no-dev --optimize-autoloader
47     volumes:
48       - /etc/hosts:/etc/hosts
49     when:
50       repo: friendica/friendica
51       branch: [ develop, '*-rc' ]
52       event: push
53   create_artifacts:
54     image: debian
55     commands:
56       - apt-get update
57       - apt-get install bzip2
58       - mkdir ./build
59       - export VERSION="$(cat VERSION)"
60       - export RELEASE="friendica-full-$VERSION"
61       - export ARTIFACT="$RELEASE.tar.gz"
62       - tar
63         --transform "s,^,$RELEASE/,S"
64         -X mods/release-list-exclude.txt
65         -T mods/release-list-include.txt
66         -cvzf ./build/$ARTIFACT
67       - cd ./build
68       - sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
69       - chmod 664 ./*
70       - ls -lh
71       - cat "$ARTIFACT.sum256"
72       - sha256sum "$ARTIFACT"
73     when:
74       repo: friendica/friendica
75       branch: [ develop, '*-rc' ]
76       event: push
77   sign_artifacts:
78     image: plugins/gpgsign
79     settings:
80       key:
81         from_secret: gpg_key
82       passphrase:
83         from_secret: gpg_password
84       files:
85         - build/*
86       exclude:
87         - build/*.sum256
88       detach_sign: true
89     when:
90       repo: friendica/friendica
91       branch: [ develop, '*-rc' ]
92       event: push
93   publish_artifacts:
94     image: alpine
95     commands:
96       - cp -fr build/* /tmp/friendica_files/
97     volumes:
98       - files:/tmp/friendica_files
99     when:
100       repo: friendica/friendica
101       branch: [ develop, '*-rc' ]
102       event: push