Browse Source

gitlab-ci: add a job to upload macOS binaries

Ben Boeckel 5 years ago
parent
commit
9671282bcc
2 changed files with 33 additions and 0 deletions
  1. 15 0
      .gitlab-ci.yml
  2. 18 0
      .gitlab/upload.yml

+ 15 - 0
.gitlab-ci.yml

@@ -8,11 +8,15 @@ include:
     - local: .gitlab/os-macos.yml
     - local: .gitlab/os-windows.yml
 
+    # Post-build steps
+    - local: .gitlab/upload.yml
+
 stages:
     - build
     - test
     - package
     - test-ext
+    - upload
 
 ################################################################################
 # Job declarations
@@ -188,6 +192,17 @@ package:macos:
     needs:
         - build:fedora31-sphinx-package
 
+upload:macos:
+    extends:
+        - .rsync_upload
+        - .run_only_for_package
+    dependencies:
+        - package:macos
+    needs:
+        - package:macos
+    variables:
+        RSYNC_DESTINATION: dev
+
 # Windows builds
 
 build:windows-vs2019-x64-ninja:

+ 18 - 0
.gitlab/upload.yml

@@ -0,0 +1,18 @@
+# Steps for uploading artifacts
+
+.rsync_upload:
+    image: "fedora:32"
+    stage: upload
+    tags:
+        - docker
+        - linux
+        - build
+    environment:
+        name: rsync-upload
+
+    script:
+        - ls build/
+        - dnf install -y --setopt=install_weak_deps=False rsync openssh-clients
+        - chmod 400 $RSYNC_BINARY_KEY
+        - ssh-keygen -y -f $RSYNC_BINARY_KEY > $RSYNC_BINARY_KEY.pub
+        - rsync -tv --recursive -e "ssh -i $RSYNC_BINARY_KEY -o StrictHostKeyChecking=no" build/ [email protected]:$RSYNC_DESTINATION/