CI - Artifacts for faster testing (#702)

Cleanup Workflow Job is set to 14 days
This commit is contained in:
Paulchen Panther 2020-02-24 18:02:34 +01:00 committed by GitHub
parent fa553820f5
commit 96bede6f7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 143 additions and 26 deletions

View File

@ -30,7 +30,7 @@ if [[ "$CI_NAME" == 'osx' || "$CI_NAME" == 'darwin' ]]; then
mkdir build || exit 1 mkdir build || exit 1
cd build cd build
cmake -DPLATFORM=${PLATFORM} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX:PATH=/usr/local ../ || exit 2 cmake -DPLATFORM=${PLATFORM} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX:PATH=/usr/local ../ || exit 2
make -j $(sysctl -n hw.ncpu) || exit 3 # Notes: The package creation is currently not supported because of strange errors. make -j $(sysctl -n hw.ncpu) package || exit 3
cd ${CI_BUILD_DIR} && source /${CI_BUILD_DIR}/test/testrunner.sh || exit 4 cd ${CI_BUILD_DIR} && source /${CI_BUILD_DIR}/test/testrunner.sh || exit 4
exit 0; exit 0;
exit 1 || { echo "---> Hyperion compilation failed! Abort"; exit 5; } exit 1 || { echo "---> Hyperion compilation failed! Abort"; exit 5; }

14
.github/workflows/cleanup.yml vendored Normal file
View File

@ -0,0 +1,14 @@
name: Clean artifacts
on:
schedule:
- cron: '0 0 * * *'
jobs:
clean:
runs-on: ubuntu-latest
steps:
- name: cleanup
uses: glassechidna/artifact-cleaner@master
with:
minimumAge: 3024000 # all artifacts at least 14 days old

110
.github/workflows/pull-request.yml vendored Normal file
View File

@ -0,0 +1,110 @@
name: Hyperion PR Build
on:
pull_request:
branches:
- master
jobs:
######################
###### Linux #########
######################
Linux:
name: ${{ matrix.dockerName }}
runs-on: ubuntu-latest
strategy:
matrix:
dockerTag: [ amd64, i386, armv6hf, armv7hf, aarch64 ]
include:
- dockerTag: amd64
dockerName: Debian Stretch (AMD64)
platform: x11
- dockerTag: i386
dockerName: Debian Stretch (i386)
platform: x11
- dockerTag: armv6hf
dockerName: Debian Stretch (Raspberry Pi v1 & ZERO)
platform: rpi
- dockerTag: armv7hf
dockerName: Debian Stretch (Raspberry Pi 2 & 3)
platform: rpi
- dockerTag: aarch64
dockerName: Debian Stretch (Generic AARCH64)
platform: amlogic
steps:
- uses: actions/checkout@v1
with:
submodules: true
# Append PR number to version
- name: Append PR number to version
shell: bash
run: 'echo -n -PR#${{ github.event.pull_request.number }} >> version'
# Build packages
- name: Build packages
env:
DOCKER_TAG: ${{ matrix.dockerTag }}
DOCKER_NAME: ${{ matrix.dockerName }}
PLATFORM: ${{ matrix.platform }}
shell: bash
run: ./.ci/ci_build.sh
# Collecting deployable artifacts
- name: Collecting deployable artifacts
shell: bash
run: |
mkdir -p ${{ matrix.dockerTag }}
mv deploy/Hyperion-* ${{ matrix.dockerTag }}
# Upload artifacts
- name: Upload artifacts
uses: actions/upload-artifact@v1
with:
name: ${{ matrix.dockerTag }}.zip
path: ${{ matrix.dockerTag }}
######################
###### macOS #########
######################
macOS:
name: macOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
with:
submodules: true
# Append PR number to version
- name: Append PR number to version
shell: bash
run: echo -n "-PR#${{ github.event.pull_request.number }}" >> version
# Install dependencies
- name: Install dependencies
shell: bash
run: ./.ci/ci_install.sh
# Build packages
- name: Build packages
env:
PLATFORM: osx
shell: bash
run: ./.ci/ci_build.sh
# Collecting deployable artifacts
- name: Collecting deployable artifacts
shell: bash
run: |
mkdir -p macOS
mv build/Hyperion-* macOS
# Upload artifacts
- name: Upload artifacts
uses: actions/upload-artifact@v1
with:
name: macOS.zip
path: macOS

View File

@ -1,5 +1,12 @@
name: GitHub Actions name: Hyperion CI Build
on: [push, pull_request] on:
push:
branches:
- master
######################
###### Linux #########
######################
jobs: jobs:
Linux: Linux:
@ -39,15 +46,9 @@ jobs:
shell: bash shell: bash
run: ./.ci/ci_build.sh run: ./.ci/ci_build.sh
# create/update github release (replacement for Microsoft Azure after the beta phase) ######################
###### macOS #########
# - name: Create/Update GitHub release ######################
# if: github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') && success()
# uses: docker://softprops/action-gh-release
# with:
# files: deploy/Hyperion.NG-*
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
macOS: macOS:
name: macOS name: macOS
@ -68,13 +69,3 @@ jobs:
PLATFORM: osx PLATFORM: osx
shell: bash shell: bash
run: ./.ci/ci_build.sh run: ./.ci/ci_build.sh
# create/update github release (replacement for Microsoft Azure after the beta phase)
# - name: Create/Update GitHub release
# if: github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') && success()
# uses: docker://softprops/action-gh-release
# with:
# files: deploy/Hyperion.NG-*
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -1 +0,0 @@
{}

View File

@ -256,5 +256,8 @@ if(CMAKE_HOST_UNIX)
install(CODE "FILE (REMOVE ${CMAKE_BINARY_DIR}/symlink_hyperiond )" COMPONENT "${PLATFORM}" ) install(CODE "FILE (REMOVE ${CMAKE_BINARY_DIR}/symlink_hyperiond )" COMPONENT "${PLATFORM}" )
endif(CMAKE_HOST_UNIX) endif(CMAKE_HOST_UNIX)
# Copy dependencies
# Copy dependencies (not for OSX)
if (NOT ENABLE_OSX)
InstallDependencies("hyperiond" ${PLATFORM}) InstallDependencies("hyperiond" ${PLATFORM})
endif ()