Skip to content

HyperHDR v20 beta2

HyperHDR v20 beta2 #30

name: HyperHDR Package Build (Github Pages Repo)
on:
push:
tags:
- '*'
env:
USE_CACHE: "0"
RESET_CACHE: "0"
jobs:
######################################
###### Upload to HyperHDR repo #######
######################################
Linux:
name: ${{ matrix.niceName }} ${{ matrix.linuxVersion }} (${{ matrix.arch }})
runs-on: ubuntu-22.04
strategy:
matrix:
niceName: [ Debian ]
linuxVersion: [ bullseye, bookworm ]
dockerImage: [ x86_64, arm-32bit-armv6l, arm-64bit-aarch64 ]
include:
- dockerImage: x86_64
dockerName: Debian (amd64)
arch: amd64
platform: linux
- dockerImage: arm-32bit-armv6l
dockerName: Debian (armhf)
arch: armhf
platform: rpi
- dockerImage: arm-64bit-aarch64
dockerName: Debian (arm64)
arch: arm64
platform: rpi
- dockerImage: x86_64
linuxVersion: ArchLinux
dockerName: Arch Linux (x86_64)
arch: amd64
platform: linux
niceName: ""
- dockerImage: x86_64
linuxVersion: jammy
dockerName: Ubuntu 22.04 LTS (x86_64)
arch: amd64
platform: linux
niceName: Ubuntu 22.04 LTS
- dockerImage: x86_64
linuxVersion: mantic
dockerName: Ubuntu 23.10 (x86_64)
arch: amd64
platform: linux
niceName: Ubuntu 23.10
- dockerImage: x86_64
linuxVersion: noble
dockerName: Ubuntu 24.04 LTS (x86_64)
arch: amd64
platform: linux
niceName: Ubuntu 24.04 LTS
- dockerImage: x86_64
linuxVersion: Fedora_39
dockerName: Fedora 39 (x86_64)
arch: amd64
platform: linux
niceName: Fedora 39
steps:
# checkout
- uses: actions/checkout@v4
with:
submodules: true
# generate cache id
- name: Prepare ccache timestamp
if: env.USE_CACHE == '1'
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H-%M-%S" UTC)
file(APPEND "$ENV{GITHUB_OUTPUT}" "timestamp=${current_date}")
# download cache
- name: ccache cache files
if: ( env.USE_CACHE == '1' )
uses: actions/cache@v4
with:
path: .ccache
key: ${{ matrix.linuxVersion }}-${{ matrix.dockerImage }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: ${{ matrix.linuxVersion }}-${{ matrix.dockerImage }}-ccache-
- name: Build packages
env:
DOCKER_IMAGE: ${{ matrix.dockerImage }}
DOCKER_TAG: ${{ matrix.linuxVersion }}
DOCKER_NAME: ${{ matrix.dockerName }}
PLATFORM: ${{ matrix.platform }}
USE_CCACHE: ${{ env.USE_CACHE }}
RESET_CACHE: ${{ env.RESET_CACHE }}
USE_STANDARD_INSTALLER_NAME: 'ON'
shell: bash
run: |
./.ci/ci_build.sh
# deploy the package
- name: Get destination path
run: |
echo "REPO_DIR=repo/pool/${{ matrix.linuxVersion }}" >> $GITHUB_ENV
- name: Move installers
run: |
mkdir -p ${{ env.REPO_DIR }}
mkdir -p repo/others
mv deploy/Hyper*.deb ${{ env.REPO_DIR }} ||:
mv deploy/Hyper*.rpm repo/others ||:
mv deploy/Hyper*.zst repo/others ||:
rm -r repo/pool/ArchLinux ||:
- name: Upload artifacts from commit
uses: actions/upload-artifact@v4
with:
name: release-artifact-${{ matrix.linuxVersion }}-${{ matrix.dockerImage }}
path: repo
Upload:
name: Upload to Github Pages
runs-on: ubuntu-22.04
needs: [Linux]
steps:
# Download artifacts from previous build process
- uses: actions/checkout@v4
with:
submodules: false
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: repo
pattern: release-artifact-*
merge-multiple: true
- name: Display structure of artifacts
run: ls -R repo
- name: Deploy the packages
uses: JamesIves/github-pages-deploy-action@v4
with:
repository-name: awawa-dev/awawa-dev.github.io
branch: upload
folder: repo
target-folder: repo
clean: false
commit-message: Release for ${{github.ref_name}}
ssh-key: ${{ secrets.UPLOADER_KEY }}