diff --git a/.github/workflows/test-nightly.yml b/.github/workflows/test-nightly.yml index 309da8e7d8c..0923be370da 100644 --- a/.github/workflows/test-nightly.yml +++ b/.github/workflows/test-nightly.yml @@ -1,74 +1,75 @@ name: nightly-test -# make the action not run on the local repo if the branch is also in a pull request to OF/OF on: - push: - #if: github.event_name == 'push' && github.event.pull_request == null - paths-ignore: - - '**/*.md' - - 'examples/**' - pull_request: - #if: github.event_name == 'pull_request' && github.repository == 'openframeworks/openFrameworks' - paths-ignore: - - '**/*.md' - - 'examples/**' + push: + paths-ignore: + - '**/*.md' + - 'examples/**' + pull_request: + paths-ignore: + - '**/*.md' + - 'examples/**' concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} - cancel-in-progress: true + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} + cancel-in-progress: true env: - ccache: ccache - GA_CI_SECRET: ${{ secrets.CI_SECRET }} + ccache: ccache + GA_CI_SECRET: ${{ secrets.CI_SECRET }} jobs: - build-linux64: - runs-on: ubuntu-24.04 - strategy: - matrix: - cfg: - - {target: linux64, libs: 64gcc6} - env: - TARGET: ${{ matrix.cfg.target }} - steps: - - name: Remove Old lib-unwind - run: if [ "$TARGET" = "linux64" ]; then - sudo apt-get remove libunwind-14 -y; - fi + build-linux64: + runs-on: ubuntu-24.04 + strategy: + matrix: + cfg: + - {target: linux64, libs: 64gcc6} + env: + TARGET: ${{ matrix.cfg.target }} + steps: + - name: Remove Old lib-unwind + run: if [ "$TARGET" = "linux64" ]; then + sudo apt-get remove libunwind-14 -y; + fi - - 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 wget2 make 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 libpulse-dev libusb-1.0-0-dev libgtk2.0-dev libopencv-dev libassimp-dev librtaudio-dev gdb libglfw3-dev liburiparser-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 - version: 1.0 + - 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 wget2 make 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 libpulse-dev libusb-1.0-0-dev libgtk2.0-dev libopencv-dev libassimp-dev librtaudio-dev gdb libglfw3-dev liburiparser-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 + version: 1.0 - - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2.13 - with: - key: ${{ matrix.cfg.target }}-${{ matrix.cfg.libs }} + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2.13 + with: + key: ${{ matrix.cfg.target }}-${{ matrix.cfg.libs }} - - name: Download libs - run: ./scripts/linux/download_libs.sh -a ${{ matrix.cfg.libs }} + - name: Download libs + run: ./scripts/linux/download_libs.sh -a ${{ matrix.cfg.libs }} - - name: Update submodules - run: ./scripts/dev/init_submodules.sh + - name: Update submodules + run: ./scripts/dev/init_submodules.sh - - name: Install dependencies - run: ./scripts/ci/simulate_nightly.sh + - name: Install dependencies + run: ./scripts/ci/simulate_nightly.sh - - name: List output directory - run: ls -lah out/ + - name: List output directory + run: ls -lah out/ - - name: Wait for files - run: sleep 5 + - name: Capture output files + id: list_files + run: | + FILES=$(ls -1 out/) + echo "FILES_OUT=${FILES// /\\ }" >> $GITHUB_ENV - - name: Test 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 }}-${{ matrix.bundle }} - path: out/manual-mega_artefact.tar.bz2 - retention-days: 1 \ No newline at end of file + - name: Test Artefact zip + run: | + tar -cjf out/manual-mega_artefact.tar.bz2 -C out $(echo "$FILES_OUT" | tr ' ' '\n') + + - name: Upload binaries as Artefact + uses: actions/upload-artifact@v4 + with: + name: openFrameworks-all-artefact-${{ env.TARGET }} + path: out/manual-mega_artefact.tar.bz2 + retention-days: 1