From 94d35842661239305101b0687d4f101f3c2211ea Mon Sep 17 00:00:00 2001 From: Dan Rosser Date: Tue, 12 Nov 2024 16:27:52 +1100 Subject: [PATCH 1/2] Actions Fix --- .github/workflows/manual-nightly.yml | 94 +++++++++++++-------------- .github/workflows/nightly-linux64.yml | 35 +++++----- 2 files changed, 64 insertions(+), 65 deletions(-) diff --git a/.github/workflows/manual-nightly.yml b/.github/workflows/manual-nightly.yml index 3deb0d44f5a..c8dc7d5b22d 100644 --- a/.github/workflows/manual-nightly.yml +++ b/.github/workflows/manual-nightly.yml @@ -1,19 +1,19 @@ name: manual-nightly -on: - workflow_dispatch: - inputs: - release: - description: 'release' - required: true - default: 'nightly' -# on: -# push: -# paths-ignore: -# - '**/README.md' -# pull_request: -# paths-ignore: -# - '**/README.md' +# on: +# workflow_dispatch: +# inputs: +# release: +# description: 'release' +# required: true +# default: 'nightly' +on: + push: + paths-ignore: + - '**/README.md' + pull_request: + paths-ignore: + - '**/README.md' concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -25,29 +25,29 @@ env: jobs: manual-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') + # 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} steps: - name: Determine Release - id: vars - shell: bash - run: | - if [[ "${{ github.ref }}" == refs/tags/* ]]; then - echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV - echo "PRERELEASE=false" >> $GITHUB_ENV - elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then - echo "RELEASE=nightly" >> $GITHUB_ENV - echo "PRERELEASE=false" >> $GITHUB_ENV - elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then - echo "RELEASE=latest" >> $GITHUB_ENV - echo "PRERELEASE=true" >> $GITHUB_ENV - else - echo "RELEASE=latest" >> $GITHUB_ENV - echo "PRERELEASE=true" >> $GITHUB_ENV - fi + id: vars + shell: bash + run: | + if [[ "${{ github.ref }}" == refs/tags/* ]]; then + echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV + echo "PRERELEASE=false" >> $GITHUB_ENV + elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then + echo "RELEASE=nightly" >> $GITHUB_ENV + echo "PRERELEASE=false" >> $GITHUB_ENV + elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then + echo "RELEASE=latest" >> $GITHUB_ENV + echo "PRERELEASE=true" >> $GITHUB_ENV + else + echo "RELEASE=latest" >> $GITHUB_ENV + echo "PRERELEASE=true" >> $GITHUB_ENV + fi - name: Install libunwind run: sudo apt-get install libunwind-dev - name: Cache Packages @@ -73,19 +73,19 @@ jobs: id: createpackage - name: List output directory run: ls -lah out/ - # - 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 - - name: Update Release arm64 - if: github.repository == 'openframeworks/openframeworks' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding') - uses: softprops/action-gh-release@v2.0.8 - with: - token: ${{ secrets.GITHUB_TOKEN }} - tag_name: ${{ env.RELEASE }} - files: ${{ steps.createpackage.outputs.FILES_OUT }} + - 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 + # - name: Update Release arm64 + # if: github.repository == 'openframeworks/openframeworks' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding') + # uses: softprops/action-gh-release@v2.1.0 + # with: + # token: ${{ secrets.GITHUB_TOKEN }} + # tag_name: ${{ env.RELEASE }} + # files: ${{ steps.createpackage.outputs.FILES_OUT }} diff --git a/.github/workflows/nightly-linux64.yml b/.github/workflows/nightly-linux64.yml index 91cf6cd97ba..2b7c0290f0a 100644 --- a/.github/workflows/nightly-linux64.yml +++ b/.github/workflows/nightly-linux64.yml @@ -45,22 +45,22 @@ jobs: 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 - echo "PRERELEASE=false" >> $GITHUB_ENV - elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then - echo "RELEASE=nightly" >> $GITHUB_ENV - echo "PRERELEASE=false" >> $GITHUB_ENV - elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then - echo "RELEASE=latest" >> $GITHUB_ENV - echo "PRERELEASE=true" >> $GITHUB_ENV - else - echo "RELEASE=latest" >> $GITHUB_ENV - echo "PRERELEASE=true" >> $GITHUB_ENV - fi + id: vars + shell: bash + run: | + if [[ "${{ github.ref }}" == refs/tags/* ]]; then + echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV + echo "PRERELEASE=false" >> $GITHUB_ENV + elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then + echo "RELEASE=nightly" >> $GITHUB_ENV + echo "PRERELEASE=false" >> $GITHUB_ENV + elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then + echo "RELEASE=latest" >> $GITHUB_ENV + echo "PRERELEASE=true" >> $GITHUB_ENV + else + echo "RELEASE=latest" >> $GITHUB_ENV + echo "PRERELEASE=true" >> $GITHUB_ENV + fi - name: Install libunwind run: sudo apt-get install libunwind-dev - name: Cache Packages @@ -69,7 +69,6 @@ jobs: 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 @@ -88,7 +87,7 @@ jobs: run: ls -lah out/ - name: Update Release arm64 if: github.repository == 'openframeworks/openframeworks' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding') - uses: softprops/action-gh-release@v2.0.8 + uses: softprops/action-gh-release@v2.1.0 with: token: ${{ secrets.GITHUB_TOKEN }} tag_name: ${{ env.RELEASE }} From 4041527fef37c664b3cbf70be8a627898fd36fab Mon Sep 17 00:00:00 2001 From: Dan Rosser Date: Tue, 12 Nov 2024 20:15:58 +1100 Subject: [PATCH 2/2] Actions Manual on Tag. Artefact enabled with past 7 days for nightly then expires.1 for tag release. --- .github/workflows/manual-nightly.yml | 20 +++++++++++--------- .github/workflows/nightly-linux64.yml | 9 +++++++++ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/.github/workflows/manual-nightly.yml b/.github/workflows/manual-nightly.yml index c8dc7d5b22d..333f5e2ac18 100644 --- a/.github/workflows/manual-nightly.yml +++ b/.github/workflows/manual-nightly.yml @@ -25,7 +25,9 @@ env: jobs: manual-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') + # runs release manually for a TAG + if: github.repository == 'openframeworks/openframeworks' && startsWith(github.ref, 'refs/tags/') + #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: @@ -79,13 +81,13 @@ jobs: - name: Upload binaries as Artefact uses: actions/upload-artifact@v4 with: - name: openFrameworks-all-artefact-${{ env.TARGET }}-${{ matrix.bundle }} + name: openFrameworks-all-artefact-${{ env.TARGET }} path: out/manual-mega_artefact.tar.bz2 retention-days: 1 - # - name: Update Release arm64 - # if: github.repository == 'openframeworks/openframeworks' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding') - # uses: softprops/action-gh-release@v2.1.0 - # with: - # token: ${{ secrets.GITHUB_TOKEN }} - # tag_name: ${{ env.RELEASE }} - # files: ${{ steps.createpackage.outputs.FILES_OUT }} + - name: Update Release arm64 + if: github.repository == 'openframeworks/openframeworks' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding') + uses: softprops/action-gh-release@v2.1.0 + with: + token: ${{ secrets.GITHUB_TOKEN }} + tag_name: ${{ env.RELEASE }} + files: ${{ steps.createpackage.outputs.FILES_OUT }} diff --git a/.github/workflows/nightly-linux64.yml b/.github/workflows/nightly-linux64.yml index 2b7c0290f0a..9a7c36c64c1 100644 --- a/.github/workflows/nightly-linux64.yml +++ b/.github/workflows/nightly-linux64.yml @@ -85,6 +85,15 @@ jobs: 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 if: github.repository == 'openframeworks/openframeworks' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding') uses: softprops/action-gh-release@v2.1.0