generated from figuren-theater/new-ft-module
-
Notifications
You must be signed in to change notification settings - Fork 0
87 lines (76 loc) · 3.55 KB
/
deploy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# With this workflow, whenever you publish a new release,
# GitHub will trigger the workflow and run the deploy job,
# which will install the dependencies, build the project,
# and deploy the new or updated files to the remote server.
name: Release Deploy
on:
# workflow_dispatch:
# Only trigger, when the dry-run workflow succeeded
workflow_run:
workflows: ["Dry-Run Deploy"]
types: [completed]
jobs:
deploy:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare auth Token
run: composer global config github-oauth.github.com ${{ secrets.GITHUB_TOKEN }}
- name: Get latest commit ID from ft-platform-collection
id: platform-collection
run: |
echo "commit_id={$(git ls-remote https://github.com/figuren-theater/ft-platform-collection.git refs/heads/main | awk '{ print $1 }')}" >> $GITHUB_OUTPUT
- name: Get Composer Cache Directory
id: composer-cache
run: |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ github.sha }}-${{ steps.platform-collection.outputs.commit_id }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install composer dependencies
run: composer install --no-dev --prefer-dist --no-interaction
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install all platform dependencies
run: composer require -W figuren-theater/ft-platform-collection:dev-main
# Help moving files (which koodimoni/dropin-installer is not capable for, see #11)
- name: Copy files (accompanying koodimoni)
run: |
cp content/mu-plugins/FT/ft-data/templates/htdocs/vendor/rss-bridge/rss-bridge/whitelist.txt vendor/rss-bridge/rss-bridge/whitelist.txt &&
cp content/mu-plugins/FT/ft-maintenance/templates/htdocs/wp-content/db-error.php content/db-error.php &&
cp content/mu-plugins/FT/ft-maintenance/templates/htdocs/wp-content/maintenance.php content/maintenance.php &&
cp content/plugins/sqlite-object-cache/assets/drop-in/object-cache.php content/object-cache.php
- name: Deploy
uses: SamKirkland/[email protected]
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
protocol: ftps
port: 21
timeout: 180000 # 3 min
exclude: |
tmp
**/.git*
**/.git*/**
**/node_modules/**
**/wp-content/plugins/**
**/wp-content/themes/**
**/.editorconfig
**/composer.lock
**/README.md
**/wp-config.local.php
**/wp-config.staging.php
**/wp-translation-downloader.lock
# figuren-theater/ft-theming/wp-better-emails --> Error: Error: Server sent FIN packet unexpectedly ...
**/wp-better-emails/preview.html
# figuren-theater/ft-data/distributor --> Error: Error: Server sent FIN packet unexpectedly ...
**/distributor/lang/distributor.pot
# figuren-theater/ft-privacy/koko-analytics --> Error: Error: Server sent FIN packet unexpectedly ...
# An empty file by (security) design
**/koko-analytics/assets/dist/js/koko-analytics-script-test.js