ci: migrate deploys to Github Actions

ci: removed Travis CI config
This commit is contained in:
Jakub Czekański 2020-12-21 00:50:36 +01:00
parent e392943ed2
commit 2fd53255fd
13 changed files with 64 additions and 199 deletions

View file

@ -3,7 +3,7 @@ version: '{branch}-{build}'
clone_depth: 1
environment:
PREMAKE_VERSION: 5.0.0-alpha14
PREMAKE_VERSION: 5.0.0-alpha15
SDL_VERSION: 2.0.10
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019

View file

@ -3,22 +3,18 @@
# Setup signing
export BUILD_MODE="debug"
if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
openssl aes-256-cbc -K $encrypted_7333c7dd5b15_key -iv $encrypted_7333c7dd5b15_iv -in android/avocado.keystore.enc -out android/avocado.keystore -d
if [[ -n "$GITHUB_HEAD_REF" ]]; then
gpg --quiet --yes --decrypt --passphrase="$KEYSTORE_KEY" --output android/avocado.keystore android/avocado.keystore.gpg
export BUILD_MODE="release"
fi
if [ "$GITHUB_ACTIONS" = "true" ]; then
export BUILD_MODE="debug"
fi
mkdir -p "$HOME/.ccache"
docker run \
-e CI=$CI \
-e BUILD_MODE=$BUILD_MODE \
-e keystore_password="$keystore_password" \
-v $(pwd):/home/build \
-e CI="$CI" \
-e BUILD_MODE="$BUILD_MODE" \
-e KEYSTORE_PASSWORD="$KEYSTORE_PASSWORD" \
-v "$(pwd)":/home/build \
-v "$HOME/.ccache":/root/.ccache \
avocadoemu/android \
/bin/bash -ex /home/build/.ci/android/build.sh

View file

@ -28,12 +28,14 @@ else
fi
BRANCH=""
if [[ ! -z "${TRAVIS_BRANCH}" ]]; then
if [[ -n "${TRAVIS_BRANCH}" ]]; then
BRANCH=$TRAVIS_BRANCH
elif [[ ! -z "${APPVEYOR_REPO_BRANCH}" ]]; then
elif [[ -n "${APPVEYOR_REPO_BRANCH}" ]]; then
BRANCH=$APPVEYOR_REPO_BRANCH
else
echo "TRAVIS_BRANCH or APPVEYOR_REPO_BRANCH env not found"
elif [[ -n "${GITHUB_REF}" ]]; then
BRANCH=${GITHUB_REF##*/}
else
echo "TRAVIS_BRANCH, APPVEYOR_REPO_BRANCH or GITHUB_SHA env not found"
exit 3
fi

View file

@ -7,7 +7,7 @@ mkdir -p "$HOME/.ccache"
docker run \
-e CI=$CI \
-v $(pwd):/home/build \
-v "$(pwd)":/home/build \
-v "$HOME/.ccache":/root/.ccache \
avocadoemu/linux-clang$CLANG_VERSION \
/bin/bash -ex /home/build/.ci/linux/build.sh

View file

@ -1,6 +1,6 @@
#!/bin/bash -ex
export PREMAKE_VERSION="5.0.0-alpha14"
export PREMAKE_VERSION="5.0.0-alpha15"
# Download Premake5
wget -nv https://github.com/premake/premake-core/releases/download/v$PREMAKE_VERSION/premake-$PREMAKE_VERSION-macosx.tar.gz

View file

@ -1,82 +0,0 @@
#!/bin/bash
if [ -z "$2" ]; then
echo -e "WARNING!!\nYou need to pass the WEBHOOK_URL environment variable as the second argument to this script.\nFor details & guide, visit: https://github.com/DiscordHooks/travis-ci-discord-webhook" && exit
fi
echo -e "[Webhook]: Sending webhook to Discord...\\n";
case $1 in
"success" )
EMBED_COLOR=3066993
STATUS_MESSAGE="Passed"
AVATAR="https://travis-ci.org/images/logos/TravisCI-Mascot-blue.png"
;;
"failure" )
EMBED_COLOR=15158332
STATUS_MESSAGE="Failed"
AVATAR="https://travis-ci.org/images/logos/TravisCI-Mascot-red.png"
;;
* )
EMBED_COLOR=0
STATUS_MESSAGE="Status Unknown"
AVATAR="https://travis-ci.org/images/logos/TravisCI-Mascot-1.png"
;;
esac
AUTHOR_NAME="$(git log -1 "$TRAVIS_COMMIT" --pretty="%aN")"
COMMITTER_NAME="$(git log -1 "$TRAVIS_COMMIT" --pretty="%cN")"
COMMIT_SUBJECT="$(git log -1 "$TRAVIS_COMMIT" --pretty="%s")"
COMMIT_MESSAGE="$(git log -1 "$TRAVIS_COMMIT" --pretty="%b")"
if [ "$AUTHOR_NAME" == "$COMMITTER_NAME" ]; then
CREDITS="$AUTHOR_NAME authored & committed"
else
CREDITS="$AUTHOR_NAME authored & $COMMITTER_NAME committed"
fi
if [[ $TRAVIS_PULL_REQUEST != false ]]; then
URL="https://github.com/$TRAVIS_REPO_SLUG/pull/$TRAVIS_PULL_REQUEST"
else
URL=""
fi
TIMESTAMP=$(date +%FT%TZ)
WEBHOOK_DATA='{
"username": "",
"avatar_url": "https://travis-ci.org/images/logos/TravisCI-Mascot-1.png",
"embeds": [ {
"color": '$EMBED_COLOR',
"author": {
"name": "Job #'"$TRAVIS_JOB_NUMBER"' (Build #'"$TRAVIS_BUILD_NUMBER"') '"$STATUS_MESSAGE"' - '"$TRAVIS_REPO_SLUG"'",
"url": "'"$TRAVIS_BUILD_WEB_URL"'",
"icon_url": "'$AVATAR'"
},
"title": "'"$COMMIT_SUBJECT"'",
"url": "'"$URL"'",
"description": "'"${COMMIT_MESSAGE//$'\n'/ }"\\n\\n"$CREDITS"'",
"fields": [
{
"name": "Commit",
"value": "'"[\`${TRAVIS_COMMIT:0:7}\`](https://github.com/$TRAVIS_REPO_SLUG/commit/$TRAVIS_COMMIT)"'",
"inline": true
},
{
"name": "Job",
"value": "'"$TRAVIS_JOB_NAME"'",
"inline": true
},
{
"name": "Branch/Tag",
"value": "'"[\`$TRAVIS_BRANCH\`](https://github.com/$TRAVIS_REPO_SLUG/tree/$TRAVIS_BRANCH)"'",
"inline": true
}
],
"timestamp": "'"$TIMESTAMP"'"
} ]
}'
(curl --fail --progress-bar -A "TravisCI-Webhook" -H Content-Type:application/json -H X-Author:k3rn31p4nic#8383 -d "$WEBHOOK_DATA" "$2" \
&& echo -e "\\n[Webhook]: Successfully sent the webhook.") || echo -e "\\n[Webhook]: Unable to send webhook."

View file

@ -21,7 +21,12 @@ jobs:
- name: Build
run: .ci/linux/run-container.sh 6
- uses: sarisia/actions-status-discord@v1
if: always()
with:
webhook: ${{ secrets.WEBHOOK_URL }}
linux_clang8:
name: "Linux Clang8"
runs-on: ubuntu-18.04
@ -41,11 +46,19 @@ jobs:
- name: Build
run: .ci/linux/run-container.sh 8
- name: Upload
- name: Upload Github
uses: kittaakos/upload-artifact-as-is@v0
with:
path: upload/
- name: Upload Builds
run: .ci/deploy.sh ${{ secrets.DEPLOY_KEY }} upload/*
- uses: sarisia/actions-status-discord@v1
if: always()
with:
webhook: ${{ secrets.WEBHOOK_URL }}
android:
name: "Android"
runs-on: ubuntu-18.04
@ -64,12 +77,23 @@ jobs:
- name: Build
run: .ci/android/run-container.sh
env:
KEYSTORE_KEY: ${{ secrets.KEYSTORE_KEY }}
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
- name: Upload
- name: Upload Github
uses: kittaakos/upload-artifact-as-is@v0
with:
with:
path: upload/
- name: Upload Builds
run: .ci/deploy.sh ${{ secrets.DEPLOY_KEY }} upload/*
- uses: sarisia/actions-status-discord@v1
if: always()
with:
webhook: ${{ secrets.WEBHOOK_URL }}
macos:
name: "macOS"
runs-on: macOS-10.15
@ -86,15 +110,26 @@ jobs:
key: ${{ runner.os }}-ccache-${{ github.sha }}
restore-keys: ${{ runner.os }}-ccache-
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '11.7'
- name: Install
run: .ci/macos/install-dependencies.sh
- name: Build
run: .ci/macos/build.sh
- name: Upload
- name: Upload Github
uses: kittaakos/upload-artifact-as-is@v0
with:
with:
path: upload/
- name: Upload Builds
run: .ci/deploy.sh ${{ secrets.DEPLOY_KEY }} upload/*
- uses: sarisia/actions-status-discord@v1
if: always()
with:
webhook: ${{ secrets.WEBHOOK_URL }}
# TODO: Add Windows

View file

@ -1,51 +0,0 @@
language: cpp
cache: ccache
git:
depth: 1
matrix:
include:
- name: Linux Clang6
env: SKIP_DEPLOY=skip
os: linux
dist: bionic
services: docker
script: ".ci/linux/run-container.sh 6"
- name: Linux Clang8
env: SKIP_DEPLOY=skip
os: linux
dist: bionic
services: docker
script: ".ci/linux/run-container.sh 8"
- name: Linux Clang10
os: linux
dist: bionic
services: docker
script: ".ci/linux/run-container.sh 10"
- name: Android
os: linux
dist: bionic
services: docker
script: ".ci/android/run-container.sh"
- name: macOS
os: osx
osx_image: xcode11
install: ".ci/macos/install-dependencies.sh"
script: ".ci/macos/build.sh"
after_success: ".ci/notify-discord.sh success $WEBHOOK_URL"
after_failure: ".ci/notify-discord.sh failure $WEBHOOK_URL"
notifications:
email: false
deploy:
provider: script
script: ".ci/deploy.sh $DEPLOY_KEY upload/*"
skip_cleanup: true
on:
all_branches: true
env:
global:
secure: rMChu2sm/PgLw+74wIIdVxqa6KMTCOUs3h9JePxYwMIQyvs3rdtYe0h0yCwP6q/TlSK0zFWiU09QQ9FaoSknb0AGvPrK+dVnRC/jyEcHqy25FH/58hkttjbQLd3vTBB4kLQ1LIl/vlkXwk54F4NAEKTjQnIZSSQ82eVZ9UNtpddU+R8xa7ZrPpmxUNKw15EjjaZK54QdqQqQAc3dw/h8bwrYUQKeNA/EgM7Zv+ibSDp8aLX/hCkJldlpbC3oa01CitKGqUwIa8y2Z+cHi9tGyj4fJAL7rJvs2hEJN17F7pr7q+xfeQxRAkRTHjMgfqlC9Lt1uCZzljc7IrKSDo03jr7WYeb8Ar5IIeVbNMTK+CJ2ljVQtEardN6OGAvhgsFzCsiQ5AADz4bxqzgtQ2XdkIM+1N9j6nbTxK4B14veM0J1/IrMO/TzV/lZ2GcHqrxiSlj+NBu68ov/i6GvyCqOQ/5H6MVybKyFWIr9i4N5R6Vp+1eugRzo7lsA7NesZeW7Y4Kz5g0rNoalP/GEmVc549wpU9eHFJAhcjiYJF0lPdJPsmZnlNXa+LS1oJFC6972+fK0GSru5fX8qlJALG0kSpygiZR8dq/q1pEVRKtIz1uvIOY526GqEeIfch39Bp0hMCqhJ/AQfXTSzFTwJtnCo0lZO7lNPifwkJ8PHn1WTLI=

View file

@ -44,9 +44,9 @@ Full list: [Avocado Builds](https://avocado-builds.czekanski.info)
Build | Status | Download
--------|--------|---------
Linux | [![Build Status](https://avocado-builds.czekanski.info/status/linux64)](https://travis-ci.org/JaCzekanski/Avocado) | [develop](https://avocado-builds.czekanski.info/latest/linux64)
macOS | [![Build Status](https://avocado-builds.czekanski.info/status/macos)](https://travis-ci.org/JaCzekanski/Avocado) | [develop](https://avocado-builds.czekanski.info/latest/macos)
Android | [![Build Status](https://avocado-builds.czekanski.info/status/android)](https://travis-ci.org/JaCzekanski/Avocado) | [develop](https://avocado-builds.czekanski.info/latest/android)
Linux | [![Build Status](https://avocado-builds.czekanski.info/status/linux64)](https://github.com/JaCzekanski/Avocado/actions) | [develop](https://avocado-builds.czekanski.info/latest/linux64)
macOS | [![Build Status](https://avocado-builds.czekanski.info/status/macos)](https://github.com/JaCzekanski/Avocado/actions) | [develop](https://avocado-builds.czekanski.info/latest/macos)
Android | [![Build Status](https://avocado-builds.czekanski.info/status/android)](https://github.com/JaCzekanski/Avocado/actions) | [develop](https://avocado-builds.czekanski.info/latest/android)
Windows 64-bit, Visual Studio 2019 | [![Build status](https://avocado-builds.czekanski.info/status/windows64)](https://ci.appveyor.com/project/JaCzekanski/avocado/branch/develop) | **[develop](https://avocado-builds.czekanski.info/latest/windows64)**
Windows 32-bit, Visual Studio 2019 | [![Build status](https://avocado-builds.czekanski.info/status/windows32)](https://ci.appveyor.com/project/JaCzekanski/avocado/branch/develop) | [develop](https://avocado-builds.czekanski.info/latest/windows32)
Windows 64-bit, Visual Studio 2017 | [![Build status](https://ci.appveyor.com/api/projects/status/h1cs3bj1vhskjxgx/branch/develop?svg=true)](https://ci.appveyor.com/project/JaCzekanski/avocado/branch/develop) |

View file

@ -1,6 +1,6 @@
apply plugin: 'com.android.application'
def signingPassword = System.getenv("keystore_password")
def signingPassword = System.getenv("KEYSTORE_PASSWORD")
def signingEnabled = signingPassword != null
println "App signing: $signingEnabled"

Binary file not shown.

Binary file not shown.

View file

@ -1,35 +0,0 @@
name: CI
on: [push]
jobs:
linux_clang6:
name: "Linux Clang6"
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- run: ./.travis/linux/run-container.sh 6
linux_clang8:
name: "Linux Clang8"
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- run: ./.travis/linux/run-container.sh 8
android:
name: "Android"
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- run: ./.travis/android/run-container.sh
macos:
name: "macOS"
runs-on: macOS-10.14
steps:
- uses: actions/checkout@v1
- run: ./.travis/macos/install-dependencies.sh
- run: ./.travis/macos/build.sh
# TODO: Add Windows