2022-09-03 09:37:58 -04:00
|
|
|
# This manually triggered workflow creates a new draft release.
|
|
|
|
name: Create Release
|
|
|
|
|
|
|
|
on:
|
|
|
|
workflow_dispatch:
|
|
|
|
inputs:
|
|
|
|
version:
|
|
|
|
description: 'Release version'
|
|
|
|
required: true
|
|
|
|
|
|
|
|
permissions:
|
|
|
|
contents: write
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
add_release_sources:
|
|
|
|
runs-on: ubuntu-22.04
|
|
|
|
name: Create Release with Source Archives
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2022-12-17 21:22:54 -05:00
|
|
|
uses: actions/checkout@v3
|
2022-09-03 09:37:58 -04:00
|
|
|
with:
|
|
|
|
submodules: 'recursive'
|
|
|
|
|
|
|
|
- name: Install Required Tools
|
|
|
|
run: |
|
|
|
|
sudo apt-get -q -o=Dpkg::Use-Pty=0 -y install doxygen gettext graphviz
|
|
|
|
|
|
|
|
- name: Create Release Archives
|
|
|
|
run: ./build/tools/release.sh ${{ inputs.version }}
|
|
|
|
|
|
|
|
# This is not very elegant, but we can't update checksums from two
|
|
|
|
# different jobs, so we just append to the release body which then
|
|
|
|
# needs to be edited interactively.
|
|
|
|
- name: Create Archives Checksums
|
|
|
|
working-directory: distrib/release/${{ inputs.version }}
|
|
|
|
run: |
|
|
|
|
printf '\n# THESE CHECKSUMS MUST BE MOVED ABOVE!\n\n````' >> ../../../docs/release.md
|
2022-09-04 10:41:38 -04:00
|
|
|
sha1sum * | tee -a ../../../docs/release.md
|
2022-09-03 09:37:58 -04:00
|
|
|
|
|
|
|
- name: Create Draft Release
|
2022-09-04 10:41:38 -04:00
|
|
|
# Note: use a fork of softprops/action-gh-release which includes
|
|
|
|
# https://github.com/softprops/action-gh-release/pull/254 fixing
|
|
|
|
# updating the body of the draft releases. We should replace the SHA-1
|
|
|
|
# with a tag when an upstream release including this fix is made.
|
2022-09-04 11:33:48 -04:00
|
|
|
uses: vadz/action-gh-release@1460c8b8cca97de38c3557ca4a277b55f4971abc
|
2022-09-03 09:37:58 -04:00
|
|
|
id: create_release
|
|
|
|
with:
|
|
|
|
name: wxWidgets ${{ inputs.version }}
|
|
|
|
body_path: docs/release.md
|
|
|
|
files: |
|
|
|
|
distrib/release/${{ inputs.version }}/wxWidgets-${{ inputs.version }}.zip
|
|
|
|
distrib/release/${{ inputs.version }}/wxWidgets-${{ inputs.version }}.7z
|
|
|
|
distrib/release/${{ inputs.version }}/wxWidgets-${{ inputs.version }}.tar.bz2
|
|
|
|
distrib/release/${{ inputs.version }}/wxWidgets-${{ inputs.version }}-headers.7z
|
|
|
|
distrib/release/${{ inputs.version }}/wxWidgets-${{ inputs.version }}-docs-html.zip
|
|
|
|
distrib/release/${{ inputs.version }}/wxWidgets-${{ inputs.version }}-docs-html.tar.bz2
|
|
|
|
fail_on_unmatched_files: true
|
|
|
|
draft: true
|
|
|
|
|
|
|
|
# We have to store the archive used by the job below as an artifact
|
|
|
|
# because it can't be downloaded from a draft release without
|
|
|
|
# impersonating the same user and I don't know how to do it.
|
|
|
|
- name: Upload Release Archive
|
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
with:
|
|
|
|
name: wxWidgets-${{ inputs.version }}-source-archive
|
|
|
|
path: distrib/release/${{ inputs.version }}/wxWidgets-${{ inputs.version }}.zip
|
|
|
|
retention-days: 1
|
|
|
|
|
|
|
|
add_msw_files:
|
|
|
|
needs: add_release_sources
|
|
|
|
runs-on: windows-2022
|
|
|
|
name: Add MSW Files to the Release
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2022-12-17 21:22:54 -05:00
|
|
|
uses: actions/checkout@v3
|
2022-09-03 09:37:58 -04:00
|
|
|
|
|
|
|
- name: Download Release Archive
|
|
|
|
uses: actions/download-artifact@v3
|
|
|
|
with:
|
|
|
|
name: wxWidgets-${{ inputs.version }}-source-archive
|
|
|
|
|
|
|
|
- name: Install Prerequisites
|
|
|
|
run: |
|
|
|
|
choco install -y --no-progress graphviz html-help-workshop
|
|
|
|
|
|
|
|
- name: Create MSW Installer and Help File
|
|
|
|
shell: cmd
|
|
|
|
run: |
|
|
|
|
md distrib\release
|
|
|
|
md distrib\release\${{ inputs.version }}
|
|
|
|
move wxWidgets-${{ inputs.version }}.zip distrib\release\${{ inputs.version }}
|
|
|
|
set "PATH=C:\Program Files (x86)\HTML Help Workshop;%PATH%"
|
|
|
|
build\tools\release.bat ${{ inputs.version }}
|
|
|
|
|
|
|
|
# This doesn't really decrease the file size but .chm files can't be
|
|
|
|
# uploaded to GitHub, while .zip files can.
|
|
|
|
- name: Pack CHM File
|
|
|
|
working-directory: distrib/release/${{ inputs.version }}
|
|
|
|
run: 7z a wxWidgets-${{ inputs.version }}-docs-chm.zip wxWidgets-${{ inputs.version }}.chm
|
|
|
|
|
|
|
|
- name: Create Archives Checksums
|
|
|
|
working-directory: distrib/release/${{ inputs.version }}
|
|
|
|
shell: cmd
|
|
|
|
run: |
|
2022-09-04 10:41:38 -04:00
|
|
|
sha1sum * > ..\..\..\checksums
|
|
|
|
type ..\..\..\checksums
|
2022-09-03 09:37:58 -04:00
|
|
|
|
|
|
|
- name: Add Files to the Release
|
2022-09-04 11:33:48 -04:00
|
|
|
uses: vadz/action-gh-release@1460c8b8cca97de38c3557ca4a277b55f4971abc
|
2022-09-03 09:37:58 -04:00
|
|
|
with:
|
|
|
|
name: wxWidgets ${{ inputs.version }}
|
|
|
|
body_path: checksums
|
|
|
|
append_body: true
|
|
|
|
files: |
|
|
|
|
distrib/release/${{ inputs.version }}/wxMSW-${{ inputs.version }}-Setup.exe
|
|
|
|
distrib/release/${{ inputs.version }}/wxWidgets-${{ inputs.version }}-docs-chm.zip
|
|
|
|
fail_on_unmatched_files: true
|
|
|
|
draft: true
|