Merge branch 'final-release-prep' into 'maint/1.1'
[akkoma] / .gitlab-ci.yml
index 4e1148772d5758eabec18e28e6328cb31eb5f11c..e98e91e219d04920469fff40662893853072fa84 100644 (file)
@@ -35,6 +35,7 @@ docs-build:
   - develop@pleroma/pleroma
   variables:
     MIX_ENV: dev
+    PLEROMA_BUILD_ENV: prod
   script:
     - mix deps.get
     - mix compile
@@ -86,7 +87,7 @@ docs-deploy:
   stage: deploy
   image: alpine:3.9
   only:
-  - master@pleroma/pleroma
+  - stable@pleroma/pleroma
   - develop@pleroma/pleroma
   before_script:
     - apk update && apk add openssh-client rsync
@@ -143,20 +144,25 @@ stop_review_app:
     - ssh -t dokku@pleroma.online -- --force apps:destroy "$CI_ENVIRONMENT_SLUG"
     - ssh -t dokku@pleroma.online -- --force postgres:destroy $(echo $CI_ENVIRONMENT_SLUG | sed -e 's/-/_/g')_db
 
-# TODO: Restrict to master and develop
-
 amd64:
   stage: release 
   # TODO: Replace with upstream image when 1.9.0 comes out
   image: rinpatch/elixir:1.9.0-rc.0
   only: &release-only
-  - master@pleroma/pleroma
+  - stable@pleroma/pleroma
   - develop@pleroma/pleroma
-  - feature/ci-release-build@pleroma/pleroma
+  - /^maint/.*$/@pleroma/pleroma
+  - /^release/.*$/@pleroma/pleroma
   artifacts: &release-artifacts
     name: "pleroma-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME"
     paths:
       - release/*
+    # Ideally it would be never for master branch and with the next commit for develop,
+    # but Gitlab does not support neither `only` for artifacts
+    # nor setting it to never from .gitlab-ci.yml
+    # nor expiring with the next commit
+    expire_in: 42 yrs
+
   cache: &release-cache
     key: $CI_COMMIT_REF_NAME-$CI_JOB_NAME
     paths:
@@ -170,6 +176,7 @@ amd64:
   script: &release
     - mix deps.get --only prod
     - mkdir release
+    - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_REF_NAME
     - mix release --path release