From 8001ce18f126073613783a89ef84be81eb7c4206 Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Fri, 2 Feb 2024 16:32:46 -0500 Subject: [PATCH] github: Generate AVM2 report as part of nightly release We upload it to the release as a file named 'avm2_report.json' The website will use this to automatically display the latest report --- .github/workflows/release_nightly.yml | 22 ++++++++++++++++++++++ stub-report/generate-report.sh | 13 +++++++++++++ 2 files changed, 35 insertions(+) create mode 100755 stub-report/generate-report.sh diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index fb3b4a2db..d1c4bef2d 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -264,6 +264,28 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + build-stub-report: + name: Build AVM2 stub repository + needs: create-nightly-release + if: needs.create-nightly-release.outputs.is_active == 'true' + runs-on: ubuntu-22.04 + steps: + - name: Clone Ruffle repo + uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + toolchain: stable + + - name: Generate report + run: ./stub-report/generate-report.sh + + - name: Upload report + run: gh release upload "${{ needs.create-nightly-release.outputs.tag_name }}" avm2_report.json + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + build-web: name: Build web${{ matrix.demo && ' demo' || '' }} needs: create-nightly-release diff --git a/stub-report/generate-report.sh b/stub-report/generate-report.sh new file mode 100755 index 000000000..a36af24e0 --- /dev/null +++ b/stub-report/generate-report.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Generates the AVM2 report and writes it to 'avm2_report.json' + +set -euxo pipefail + +rm -rf /tmp/ruffle-website-update +mkdir /tmp/ruffle-website-update + +cargo run --locked --package stub-report /tmp/ruffle-website-update/implementation.json + +git clone https://github.com/ruffle-rs/api-report /tmp/ruffle-website-update/api-report +cargo run --manifest-path /tmp/ruffle-website-update/api-report/Cargo.toml -- -s /tmp/ruffle-website-update/api-report/avm2_specification.json -i /tmp/ruffle-website-update/implementation.json -o avm2_report.json \ No newline at end of file