mirror of
https://github.com/openframeworks/openFrameworks.git
synced 2026-03-26 06:43:00 +00:00
99 lines
3.9 KiB
YAML
99 lines
3.9 KiB
YAML
name: nightly-linux64
|
|
# on:
|
|
# push:
|
|
# paths-ignore:
|
|
# - '**/README.md'
|
|
# pull_request:
|
|
# paths-ignore:
|
|
# - '**/README.md'
|
|
# on:
|
|
# workflow_dispatch:
|
|
# inputs:
|
|
# release:
|
|
# description: 'release'
|
|
# required: true
|
|
# default: 'nightly'
|
|
# concurrency:
|
|
# group: ${{ github.workflow }}-${{ github.ref }}
|
|
# cancel-in-progress: true
|
|
|
|
# on:
|
|
# schedule:
|
|
# - cron: "0 6 * * *"
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 6 * * *"
|
|
workflow_dispatch:
|
|
inputs:
|
|
release:
|
|
description: 'release'
|
|
required: true
|
|
default: 'nightly'
|
|
env:
|
|
ccache: ccache
|
|
|
|
jobs:
|
|
build-nightly:
|
|
runs-on: ubuntu-24.04
|
|
if: github.repository == 'openframeworks/openframeworks' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
|
|
strategy:
|
|
matrix:
|
|
cfg:
|
|
- {target: linux64, libs: 64gcc6}
|
|
env:
|
|
TARGET: ${{matrix.cfg.target}}
|
|
steps:
|
|
- name: Determine Release
|
|
id: vars
|
|
shell: bash
|
|
run: |
|
|
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
|
|
echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
|
|
elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
|
|
echo "RELEASE=nightly" >> $GITHUB_ENV
|
|
elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then
|
|
echo "RELEASE=latest" >> $GITHUB_ENV
|
|
else
|
|
echo "RELEASE=latest" >> $GITHUB_ENV
|
|
fi
|
|
- name: Install libunwind
|
|
run: sudo apt-get install libunwind-dev
|
|
- name: Cache Packages
|
|
uses: awalsh128/cache-apt-pkgs-action@latest
|
|
with:
|
|
packages: aptitude aptitude-common libboost-iostreams1.83.0 libcwidget4 libsigc++-2.0-0v5 libxapian30 fonts-wine{a} libasound2-plugins{a} libcapi20-3t64{a} libosmesa6{a} libpcsclite1{a} libspeexdsp1{a} libwine{a} libxkbregistry0{a} libz-mingw-w64{a} wine{a} wine64 make curl libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile1-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk2.0-dev libopencv-dev libassimp-dev librtaudio-dev gdb libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev libxcursor-dev libxi-dev libxinerama-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good
|
|
# libunwind-dev wget2
|
|
version: 1.0
|
|
- uses: actions/checkout@v4
|
|
- name: ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2.14
|
|
with:
|
|
key: ${{ matrix.cfg.target }}
|
|
- name: Install dependencies
|
|
run: ./scripts/ci/$TARGET/install.sh;
|
|
- name: update submodules
|
|
run: ./scripts/dev/init_submodules.sh
|
|
- name: Download libs
|
|
run: ./scripts/linux/download_libs.sh -a ${{matrix.cfg.libs}};
|
|
- name: Create Package
|
|
run: scripts/ci/package_builds.sh ${{ github.event.inputs.release }};
|
|
id: createpackage
|
|
- name: List output directory
|
|
run: ls -lah out/
|
|
- name: Upload GitHub Artefact zip
|
|
run: |
|
|
tar -cjf out/manual-mega_artefact.tar.bz2 -C out $(echo ${{ steps.createpackage.outputs.FILES_OUT }} | tr ' ' '\n' | sed 's|^out/||')
|
|
- name: Upload binaries as Artefact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: openFrameworks-all-artefact-${{ env.TARGET }}-${{ env.RELEASE }}
|
|
path: out/nightly-mega_artefact.tar.bz2
|
|
retention-days: 7
|
|
- name: Update Release arm64
|
|
uses: softprops/action-gh-release@v2.1.0
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
tag_name: ${{ env.RELEASE }}
|
|
files: ${{ steps.createpackage.outputs.FILES_OUT }}
|