From 1a2b8b7a6b7aa57aafeb3e004c1a449443e511e3 Mon Sep 17 00:00:00 2001 From: "DeepBlueV7.X" Date: Mon, 2 Mar 2020 08:42:01 +0000 Subject: [PATCH] Upload nightlies to #nheko-nightlies:neko.dev (#132) * Upload nightlies to a matrix room * Add branch to upload name * Update README with new nightly location --- .ci/upload-nightly.ps1 | 21 +++++++++++++++++++++ .ci/upload-nightly.sh | 9 +++++++++ .travis.yml | 25 +++---------------------- README.md | 2 +- appveyor.yml | 10 ++++++++-- 5 files changed, 42 insertions(+), 25 deletions(-) create mode 100644 .ci/upload-nightly.ps1 create mode 100755 .ci/upload-nightly.sh diff --git a/.ci/upload-nightly.ps1 b/.ci/upload-nightly.ps1 new file mode 100644 index 00000000..9c1c33c3 --- /dev/null +++ b/.ci/upload-nightly.ps1 @@ -0,0 +1,21 @@ +$file = "nheko_win_64.zip" +$fileName = "nheko-${env:APPVEYOR_REPO_BRANCH}-${env:APPVEYOR_REPO_COMMIT}-win64.zip" + +$response = Invoke-RestMethod -uri "https://matrix.neko.dev/_matrix/media/r0/upload?filename=$fileName" -Method Post -Infile "$file" -ContentType 'application/x-compressed' -Headers @{"Authorization"="Bearer ${env:MATRIX_ACCESS_TOKEN}"} + +$txId = [DateTimeOffset]::Now.ToUnixTimeSeconds() +$fileSize = (Get-Item $file).Length +$body = @{ + "body" = "${fileName}" + "filename"= "${fileName}" + "info" = @{ + "mimetype" = "application/x-compressed" + "size" = ${fileSize} + } + "msgtype" = "m.file" + "url" = ${response}.content_uri +} | ConvertTo-Json +$room = "!TshDrgpBNBDmfDeEGN:neko.dev" + +Invoke-RestMethod -uri "https://matrix.neko.dev/_matrix/client/r0/rooms/${room}/send/m.room.message/${txid}" -Method Put -Body "$body" -ContentType 'application/json' -Headers @{"Authorization"="Bearer ${env:MATRIX_ACCESS_TOKEN}"} + diff --git a/.ci/upload-nightly.sh b/.ci/upload-nightly.sh new file mode 100755 index 00000000..4251655a --- /dev/null +++ b/.ci/upload-nightly.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +file=$(find artifacts/ -type f -exec basename {} \;) +fileName="nheko-${TRAVIS_BRANCH}-${file#nheko-}" + +uri=$(curl -H "Authorization: Bearer ${MATRIX_ACCESS_TOKEN}" -H "Content-Type: application/x-compressed" -X POST --data-binary "@artifacts/${file}" "https://matrix.neko.dev/_matrix/media/r0/upload?filename=${fileName}" --http1.1 | python -c "import sys, json; print(json.load(sys.stdin)['content_uri'])") +echo "Uploaded to ${uri}" + +curl -H "Authorization: Bearer ${MATRIX_ACCESS_TOKEN}" -H "Content-Type: application/json" -X PUT -d "{ \"body\": \"${fileName}\", \"filename\": \"${fileName}\", \"info\": { \"mimetype\": \"application/x-compressed\", \"size\": $(wc -c < artifacts/${file}) }, \"msgtype\": \"m.file\", \"url\": \"${uri}\" }" "https://matrix.neko.dev/_matrix/client/r0/rooms/${ROOM}/send/m.room.message/$(date +%s)" diff --git a/.travis.yml b/.travis.yml index ac3512bd..08126853 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,6 +33,7 @@ matrix: - ninja - openssl - qt5 + - python3 # for uploads update: true # workaround for broken travis homebrew - os: linux compiler: gcc-7 @@ -144,34 +145,14 @@ script: - sed -i -e "s/VERSION_NAME_VALUE/${VERSION}/g" ./.ci/bintray-release.json || true - cp ./.ci/bintray-release.json . deploy: -- provider: s3 - access_key_id: $ARTIFACTS_KEY - secret_access_key: $ARTIFACTS_SECRET - bucket: $ARTIFACTS_BUCKET - region: $AWS_DEFAULT_REGION - detect_encoding: true - cache_control: "max-age=31536000" +- provider: script + script: ./.ci/upload-nightly.sh skip_cleanup: true - acl: public_read - local_dir: artifacts on: condition: "$DEPLOYMENT == 1" repo: Nheko-Reborn/nheko tags: false all_branches: true -- provider: bintray - user: "redsky17" - key: - secure: "2C+ESOClZdNCDzfUfE8Rcdn9+BM3/5x1lebGS0qRxICMAuylx50C8RAxlqKIFNI1J+IMnj5xhK+1oWsLg6wUdo8B3JocvM6P1NbC/WwfY5UJVwtSmzcqvEC+IjM90Bng8OoM5f6ED3IAUyYPBgo8J14+2l5Oruvr99t0mrpniLXDf66TJrI9u/+05JYa2pm0EWlQkDVaziI+96zAt1pMIX9Z/ToTmUbq2OAlHaN8H4hR5aBRmYuF11FQVyARK64eqRsBV4RXKJ9DjW7BR+pQV008hQUoXrCxK8xIf/Qph9h1fz63961NJxfru62LeuZ4Z8MUcV9L+p0HYZzkhNdn5Z3QFf3SXbrVCYs6LK6+uKHpmYS7vB5XwjDx9SWc2szsd5OVKJg3YEdBcC4KUSL3VEbBHDSQ3GFsVKoBsZvopwHkyCmPotY47HtEiPBLdEcsOvcVyeU5Gfq9EOp9dB+nJbNrujBgav1l13CorkBG2rgD+NRivV1otclXnPsIj85ySrc6xk0VDN3zogLAdLw0f+fNOaK17N8GmhPbCu/iX2Vjem/fdjh4NPC4pSNDei2MoWUfqGBmoTxuQEsZeywigwV2c51W9RZuwo8X810N3ehVcBmmNyLjbKmYT+8Kp+dJbaf/ErFnvdZl06mX2bgyxFakv5iQY3dwX4WYHvl77c4=" - skip_cleanup: true - overwrite: true - file: bintray-release.json - on: - condition: "$DEPLOYMENT == 1" - repo: Nheko-Reborn/nheko - tags: false - all_branches: true - deploy: - skip_cleanup: true overwrite: true provider: releases diff --git a/README.md b/README.md index db522f70..acd8b1e6 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ nheko [![Build Status](https://travis-ci.org/Nheko-Reborn/nheko.svg?branch=master)](https://travis-ci.org/Nheko-Reborn/nheko) [![Build status](https://ci.appveyor.com/api/projects/status/07qrqbfylsg4hw2h/branch/master?svg=true)](https://ci.appveyor.com/project/redsky17/nheko/branch/master) [![Stable Version](https://img.shields.io/badge/download-stable-green.svg)](https://github.com/Nheko-Reborn/nheko/releases/v0.6.4) -[![Nightly](https://img.shields.io/badge/download-nightly-green.svg)](https://nheko-reborn-artifacts.s3.us-east-2.amazonaws.com/list.html) +[![Nightly](https://img.shields.io/badge/download-nightly-green.svg)](https://matrix-static.neko.dev/room/!TshDrgpBNBDmfDeEGN:neko.dev/) [![#nheko-reborn:matrix.org](https://img.shields.io/matrix/nheko-reborn:matrix.org.svg?label=%23nheko-reborn:matrix.org)](https://matrix.to/#/#nheko-reborn:matrix.org) [![AUR: nheko](https://img.shields.io/badge/AUR-nheko-blue.svg)](https://aur.archlinux.org/packages/nheko) Download on Flathub diff --git a/appveyor.yml b/appveyor.yml index 78b57139..43d459d1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,10 +9,14 @@ platform: x64 environment: BINTRAY_APIKEY: secure: "iGl5mzE9/ta9kFELUxDw9XtlYMSCMai9xowXIkYzU8WKHz7NfW0mLwMJZvblZFXJ" + MATRIX_ACCESS_TOKEN: + secure: Qoy+QQ8zWXYCQrck9GtXJsoPTv9r/rhgCDUlKJ6ue+gkteYG40E9MxgwP1svn6bse20H4z6Svrxn8kFbcJB7Wg2Cnv1s326/vsJJzhWir2eHFFGK+f4SB992/U0HoQmk3Cq5hPk7dLcA7KqHIa1g1PTSFPfl1VODJ2UqqAyn8nzbC5ym+wwU1buJqoWPlTyHBW7eE8wNe77+qI18XpF7NN8yuOOyg3Tzup9YyXLrI36XiJu/5JD3j3s3V1QiUTpuLyQzqwuBUOf1MHTbzuPwHm3ZwzSM98WD6aL6riaK9qa7mDbSx1aY0ukIYSY9IdAfHNwZY/DEAn+QAVD+ZTvPq04ASv+kmSFpOBKr07kpqfM= + + cache: - - c:\hunter\ -> appveyor.yml - - build\_deps -> appveyor.yml,deps\CMakeLists.txt + - c:\hunter\ + - build\_deps -> appveyor.yml build: verbosity: minimal @@ -106,6 +110,8 @@ after_build: on_success: - if "%APPVEYOR_REPO_TAG%" == "true" (curl -T nheko-%APPVEYOR_REPO_TAG_NAME%-installer.exe -uredsky17:%BINTRAY_APIKEY% https://api.bintray.com/content/nheko-reborn/nheko/%APPVEYOR_REPO_TAG_NAME%/nheko/%APPVEYOR_REPO_TAG_NAME%/) +before_deploy: + - ps: .\.ci\upload-nightly.ps1 deploy: - description: "Development builds" provider: GitHub