mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
61 lines
2.6 KiB
YAML
61 lines
2.6 KiB
YAML
name: pullpreview
|
|
|
|
concurrency: ${{ github.ref }}
|
|
|
|
on:
|
|
schedule:
|
|
# this is used to make sure no dangling resources are left
|
|
- cron: "30 2 * * *"
|
|
pull_request:
|
|
types: [labeled, unlabeled, synchronize, closed, reopened]
|
|
|
|
jobs:
|
|
deploy:
|
|
permissions:
|
|
contents: read # to fetch code (actions/checkout)
|
|
pull-requests: write # to remove labels
|
|
|
|
if: github.repository_owner == 'opf' && ( github.event_name == 'schedule' || github.event.label.name == 'pullpreview' || contains(github.event.pull_request.labels.*.name, 'pullpreview') )
|
|
runs-on: ubuntu-slim
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
|
with:
|
|
persist-credentials: false
|
|
- name: Generate .env.pullpreview file
|
|
run: |
|
|
echo "OPENPROJECT_SEED_ADMIN_USER_PASSWORD_RESET=false" >> .env.pullpreview
|
|
echo "OPENPROJECT_SHOW__SETTING__MISMATCH__WARNING=false" >> .env.pullpreview
|
|
echo "OPENPROJECT_FEATURE__STORAGES__MODULE__ACTIVE=true" >> .env.pullpreview
|
|
echo "OPENPROJECT_FEATURE__SHOW__CHANGES__ACTIVE=true" >> .env.pullpreview
|
|
echo "OPENPROJECT_LOOKBOOK__ENABLED=true" >> .env.pullpreview
|
|
echo "OPENPROJECT_HSTS=false" >> .env.pullpreview
|
|
echo "OPENPROJECT_NOTIFICATIONS_POLLING_INTERVAL=10000" >> .env.pullpreview
|
|
echo "OPENPROJECT_ENTERPRISE__CHARGEBEE__SITE=openproject-enterprise-test" >> .env.pullpreview
|
|
echo "OPENPROJECT_ENTERPRISE__TRIAL__CREATION__HOST=https://start.openproject-edge.com" >> .env.pullpreview
|
|
echo "OPENPROJECT_FEATURE_BLOCK_NOTE_EDITOR=true" >> .env.pullpreview
|
|
- name: Boot as BIM edition
|
|
if: contains(github.ref, 'bim/') || contains(github.head_ref, 'bim/')
|
|
run: |
|
|
echo "OPENPROJECT_EDITION=bim" >> .env.pullpreview
|
|
- name: Prepare docker-compose files
|
|
run: |
|
|
cp ./docker/pullpreview/docker-compose.yml ./docker-compose.pullpreview.yml
|
|
cp ./docker/pullpreview/Caddyfile ./Caddyfile
|
|
cp ./docker/prod/Dockerfile ./Dockerfile
|
|
- uses: pullpreview/action@0dc5a741255c0afdd5a9e23e9264d6376652ec8e # v6
|
|
with:
|
|
# allows to ssh to the instance using our GitHub ssh key
|
|
admins: "crohr,HDinger,machisuji,oliverguenther,ulferts,wielinde,cbliard,@collaborators/push"
|
|
compose_files: docker-compose.pullpreview.yml
|
|
provider: hetzner
|
|
region: fsn1
|
|
instance_type: cpx42
|
|
ports: 80,443
|
|
default_port: 443
|
|
ttl: 10d
|
|
dns: my.opf.run
|
|
env:
|
|
HCLOUD_TOKEN: "${{ secrets.HCLOUD_TOKEN }}"
|
|
HETZNER_CA_KEY: "${{ secrets.HETZNER_CA_KEY }}"
|