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