diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 55d5d292..e0abd484 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,10 +8,6 @@ on: version: description: 'Release version (e.g., 0.1.0)' required: true - notes: - description: 'Release notes (e.g., changelog)' - required: false - default: 'Changelog: \n- Added feature 1\n- Added feature 2\n- Fixed issue 2' push: tags: - 'v*.*.*' @@ -40,6 +36,7 @@ jobs: gstreamer1.0-plugins-bad \ ffmpeg \ vpx-tools \ + aom-tools \ wget \ unzip - name: Check @@ -77,6 +74,7 @@ jobs: gstreamer1.0-plugins-bad \ ffmpeg \ vpx-tools \ + aom-tools \ wget \ unzip - name: Check @@ -121,24 +119,41 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Determine version + id: get_version + run: | + if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then + VERSION=${{ github.event.inputs.version }} + else + VERSION=${{ github.ref_name }} + VERSION=${VERSION#v} + fi + echo "VERSION=$VERSION" >> $GITHUB_ENV + - name: Extract release notes from CHANGELOG.md + id: extract_notes + run: | + VERSION=${{ env.VERSION }} + if ! grep -q "## \\[$VERSION\\]" CHANGELOG.md; then + echo "Release notes for version $VERSION not found in CHANGELOG.md" + exit 1 + fi + NOTES=$(awk "/## \\[$VERSION\\]/ {flag=1; next} /^## \\[/ {flag=0} flag" CHANGELOG.md | sed '/^$/d') + + echo "NOTES<> $GITHUB_ENV + echo "$NOTES" >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV - name: Create Git Tag + if: ${{ github.event_name == 'workflow_dispatch' }} run: | git config user.name "github-actions" git config user.email "github-actions@github.com" - git tag v${{ github.event.inputs.version }} - git push origin v${{ github.event.inputs.version }} - - name: Create temporary notes file - run: | - echo -e "${{ github.event.inputs.notes }}" > notes.txt + git tag v${{ env.VERSION }} + git push origin v${{ env.VERSION }} - name: Create GitHub Release run: | - VERSION=${{ github.event.inputs.version }} - git archive --format=zip HEAD + VERSION=${{ env.VERSION }} gh release create v$VERSION \ --title "Release v$VERSION" \ - --notes "$(cat notes.txt)" + --notes "$NOTES" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Clean up notes file - run: rm notes.txt - continue-on-error: true diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..242224f5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,65 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.2.0] - Unreleased +### Added +- Generate a test suite for H265 3D-HEVC functionality set. +- Generate a test suite for H265 SHVC functionality set. +- Create a test suite for H264 SVC group. +- Create a test suite for H264 professional profiles. +- Create a test suite for AV1 based on the Argon Streams. +- Create a test suite for MPEG-4 AAC adif files. +- Create a test suite for MPEG-4 AAC mp4 files. +- Add H264 FRExt test suite. +- Add H264 MVC test suite. +- Add MPEG-2 AAC adif test suite. +- Add MPEG4-AAC-ADTS test suite. +- Add basic AV1 tests for Makefile check target. +- Adapt AV1 AOM decoder so that it works correctly with some Argon test vectors. +- Add VVCSoftware_VTM H.266/VVC reference decoder. +- Add md5 checksum read/write feature to H266 test suite generator script. +- Create a test suite generator script for AAC. +- Create CI workflow for automated releases. + +### Changed +- Split test suites for H265 and H266. +- Adapt AAC test suite generator to omit md5 checksums of wav reference. +- Rename some AAC and H264 test suites to be more precise. +- Replace pylint and black with ruff linter and code formatter. +- Update README.md. +- Update REPORT.md. + +### Fixed +- Fix bug #218: Argon AV1 test resource path don't match the downloaded resources path. +- Issue in JSON generation scripts (Some test suites are badly generated). + +## [0.1.0] - 2022-12-20 +### Added +- Add the H.264 reference decoder. +- Add libvpx-VP8 reference decoder. +- Add VP9 reference decoder. +- Add AAC reference decoder. +- Add AV1 reference decoder. +- Add VVdeC reference decoder. +- Create a test suite for H264 AVC-V1. +- Create a test suite for H264 RExt. +- Create a test suite for H265 HEVC_V1. +- Create a test suite for H265 MV-HEVC. +- Create a test suite for H265 SCC. +- Create a test suite for AV1 functionality set. +- Create a test suite for AV1 CHROMIUM-8bit. +- Create a test suite for AV1 CHROMIUM-10bit. +- Create a test suite for VP8-TEST-VECTORS. +- Create a test suite for VP9-TEST-VECTORS. +- Create a test suite for VP9-TEST-VECTORS-HIGH. +- Create a test suite for MPEG-2 AAC. +- Create a test suite for H.266 (VTT). +- Create README.md. +- Create REPORT.md. + +## Notes +- For detailed usage and fluster modes, refer to the [README.md](README.md).