@@ -54,16 +54,21 @@ jobs:
5454 crate : cargo-get
5555 version : ' ^1.0'
5656
57+ - name : Get last tag
58+ id : last_tag
59+ run : echo "last_tag=`gh release list --order=desc --limit=1 --json tagName --jq '.[0].tagName'`" >> $GITHUB_OUTPUT
60+ env :
61+ GITHUB_TOKEN : ${{ secrets.PGITHUB_TOKEN }}
5762 - name : Get changelog
58635964 with :
60- owner : " ruffle-rs"
61- repo : " ruffle"
62- fromTag : " nightly-2025-12-01"
63- toTag : " nightly-2025-12-02"
65+ owner : ruffle-rs
66+ repo : ruffle
67+ # fromTag: nightly-2025-12-03
68+ fromTag : ${{ steps.last_tag.outputs.last_tag }}
69+ toTag : HEAD
6470 token : ${{ secrets.PGITHUB_TOKEN }}
65- outputFile : " .github/changelog.entries"
66- failOnError : " true"
71+ outputFile : .github/changelog.entries
6772 configurationJson : |
6873 {
6974 "template": "#{{UNCATEGORIZED}}",
@@ -663,3 +668,121 @@ jobs:
663668664669 ssh_private_key : ${{ secrets.AUR_SSH_PRIVATE_KEY }}
665670 commit_message : Update to ${{ needs.create-nightly-release.outputs.tag_name }}
671+
672+ build-debian-packages :
673+ name : Build Debian ${{ matrix.build_name }} packages
674+ needs : [create-nightly-release, build]
675+ strategy :
676+ fail-fast : false
677+ matrix :
678+ include :
679+ - build_name : amd64
680+ os : ubuntu-24.04
681+ arch : x86_64
682+ - build_name : arm64
683+ os : ubuntu-24.04-arm
684+ arch : aarch64
685+ runs-on : ${{ matrix.os }}
686+ if : github.repository == 'donmor/ruffle'
687+ steps :
688+ - uses : actions/checkout@v6
689+ with :
690+ ref : ${{ needs.create-nightly-release.outputs.tag_name }}
691+ - name : Get current time with dashes
692+ 693+ id : current_time_dashes
694+ with :
695+ format : YYYY-MM-DD
696+
697+ - name : Get current time with dots
698+ 699+ id : current_time_dots
700+ with :
701+ format : YYYY.M.D
702+
703+ - name : Install build dependencies
704+ run : sudo apt install debhelper rename
705+ - name : Prepare informations and source
706+ id : profiling
707+ run : |
708+ version4=${{ needs.create-nightly-release.outputs.version4 }}
709+ version=${{ needs.create-nightly-release.outputs.version }}
710+ revision=${version4##*.}
711+ echo "version=${version}" >>$GITHUB_OUTPUT
712+ echo "revision=${revision}" >>$GITHUB_OUTPUT
713+ git archive --prefix=ruffle-${version}/ -o ../ruffle_${version}.orig.tar.gz HEAD
714+ cp -a desktop/packages/linux/debian ./
715+ - name : Build Source package
716+ if : runner.arch == 'X64'
717+ run : |
718+ dpkg-buildpackage -us -uc -d -S
719+ - name : Get prebuilt binaries
720+ run : |
721+ gh release download "${{ needs.create-nightly-release.outputs.tag_name }}" --pattern "${{ needs.create-nightly-release.outputs.package_prefix }}-linux-${{ matrix.arch }}.tar.gz"
722+ tar -xf "${{ needs.create-nightly-release.outputs.package_prefix }}-linux-${{ matrix.arch }}.tar.gz" ruffle
723+ rm "${{ needs.create-nightly-release.outputs.package_prefix }}-linux-${{ matrix.arch }}.tar.gz"
724+ mv ruffle ruffle_desktop
725+ env :
726+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
727+ - name : Build Packages
728+ run : |
729+ dpkg-buildpackage -us -uc -nc -d -b
730+ rename 's/\.deb/\.ddeb/' *-dbgsym*.deb
731+ - name : Move built files (sources)
732+ if : runner.arch == 'X64'
733+ run : |
734+ mv ../ruffle_${{ steps.profiling.outputs.version }}.orig.tar.gz ./
735+ mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}.debian.tar.xz ./
736+ mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}.dsc ./
737+ mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_source.buildinfo ./
738+ mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_source.changes ./
739+ - name : Move built files (packages)
740+ run : |
741+ mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.buildinfo ./
742+ mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.changes ./
743+ mv ../ruffle-desktop_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.deb ./
744+ mv ../ruffle-desktop-dbgsym_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.ddeb ./
745+ - name : Upload Source package as build artifact
746+ if : runner.arch == 'X64'
747+ uses : actions/upload-artifact@v5
748+ with :
749+ name : deb-source
750+ path : |
751+ ruffle_${{ steps.profiling.outputs.version }}.orig.tar.gz
752+ ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}.debian.tar.xz
753+ ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}.dsc
754+ ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_source.buildinfo
755+ ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_source.changes
756+ - name : Upload Packages as build artifact
757+ uses : actions/upload-artifact@v5
758+ with :
759+ name : deb-${{ matrix.build_name }}
760+ path : |
761+ ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.buildinfo
762+ ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.changes
763+ ruffle-desktop_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.deb
764+ ruffle-desktop-dbgsym_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.ddeb
765+ publish-debian-packages :
766+ name : Publish Debian packages
767+ needs : [create-nightly-release, build-debian-packages]
768+ runs-on : ubuntu-24.04
769+ steps :
770+ - name : Download all artifacts previously built
771+ uses : actions/download-artifact@v4
772+ with :
773+ merge-multiple : true
774+ run-id : ${{ needs.build-debian-packages.outputs.run_id }}
775+ path : download/${{ needs.create-nightly-release.outputs.tag_name }}
776+ - name : Generate trivial source
777+ working-directory : download/${{ needs.create-nightly-release.outputs.tag_name }}
778+ run : |
779+ dpkg-scanpackages -m ../../download/${{ needs.create-nightly-release.outputs.tag_name }} > Packages
780+ dpkg-scanpackages -t ddeb -m ../../download/${{ needs.create-nightly-release.outputs.tag_name }} >> Packages
781+ dpkg-scansources ../../download/${{ needs.create-nightly-release.outputs.tag_name }} > Sources
782+ apt-ftparchive release . > Release
783+ - name : Upload packages
784+ run : |
785+ gh release upload -R ${{ github.repository }} "${{ needs.create-nightly-release.outputs.tag_name }}" `find download -name 'ruffle*.deb'` `find download -name 'ruffle*.ddeb'`
786+ gh release upload -R ${{ github.repository }} "${{ needs.create-nightly-release.outputs.tag_name }}" `find download -name 'ruffle*.orig.tar.gz'` `find download -name 'ruffle*.debian.tar.xz'` `find download -name 'ruffle*.dsc'` download/${{ needs.create-nightly-release.outputs.tag_name }}/Packages download/${{ needs.create-nightly-release.outputs.tag_name }}/Sources download/${{ needs.create-nightly-release.outputs.tag_name }}/Release
787+ env :
788+ GITHUB_TOKEN : ${{ secrets.PGITHUB_TOKEN }}
0 commit comments