mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2026-08-09 17:41:14 +10:00
* Fix the same arrow-icon alignment issue on the "Read the Docs" button
Same root cause as the hero/final-CTA buttons: the label was plain
markdown text, which MDX wrapped in a <p>, and the icon was missing
the size/nudge applied elsewhere. Match it to the other two buttons.
* Rename known-issues page slug to knownissues
Update the sidebar config, nav dropdown, and every internal link that
pointed at /known-issues/ to match.
* Fix image paths in root-level markdown to match the new docs site
The Hugo docs site (docs/assets/images/...) has been replaced by the
Astro site (docs/src/assets/...); update CONTRIBUTING.md,
READMEITALIAN.md, and README.md to point at the new asset locations.
* Remove unused houston.webp asset
Leftover Starlight default-theme asset with no references anywhere
in the docs site.
* Fix docs site reference in generator docs
Updates `tools/devdocs-generator.md` to describe link generation correctly: links now point to the Astro/Starlight documentation site instead of the old Hugo site.
* Point docs homepage CTAs to guides hub
Updates the docs landing page CTA links to use `/guides/` instead of `/guides/getting-started/` in the hero action and both “Get Started”/“Read the Docs” buttons, routing users to the guides index.
* Add reusable YouTube embeds to docs guides
Introduces a new `YouTubeEmbed.astro` component for responsive 16:9 video embeds using the privacy-enhanced `youtube-nocookie.com` domain. The User Guide index and Tweaks guide now import and use this component instead of plain YouTube links, and the component includes styling that overrides Starlight’s iframe reset so embedded videos render at the correct size.
* Fix YouTube embed iframe height via not-content
Add the `not-content` class to the embed wrapper so Starlight's markdown reset no longer overrides `iframe { height: auto }`. Drop the `@layer starlight.core` wrapper and `!important` overrides that were compensating for the same issue.
* Clarify docs comments across Astro components
Adds and refines inline comments in the docs site config, custom Starlight components, and theme styles to better explain layout structure, navigation dropdown behavior, hero composition, and theme initialization. Also normalizes a few multi-line comments into single-line form for readability without changing functionality.
* Set secondary docs button background color
Update `.wu-btn-secondary` in the docs theme to use `var(--sl-color-gray-6)` instead of a transparent background, improving button visibility and contrast while keeping existing border and hover behavior.
* Move User Guides into docs dropdown
Updates the docs header navigation so the “User Guides” link is grouped under the existing “Documentation” dropdown instead of appearing as a separate top-level nav item. This keeps related documentation links together and simplifies the top navigation.
* Fix hero margin and center trust section
Remove the automatic 1.5rem top margin Starlight adds between the hero and the content column. Also flex-center the trust section so its content is properly aligned.
* Disable edit links in generated dev docs
Update `tools/devdocs-generator.ps1` to include `editUrl: false` in the frontmatter for generated tweak and feature docs pages. This prevents Starlight from showing edit links on these auto-generated pages.
* Move docs update PRs to pre-release flow
The docs Pages workflow is simplified to only build and deploy the docs site: it now triggers only on docs changes, drops extra permissions/default shell settings, and removes the dev-docs generation + auto-PR steps. The pre-release workflow now owns that automation by expanding its PR step to include generated code-reference docs alongside JSON link updates, with updated commit/title/body text and a documentation label.
* Shorten generated docs source note
Simplify the autogenerated DevDocs notice so generated pages only warn against direct edits while still linking back to the source file.
* Improve docs header dropdown behavior
Reworked the header nav dropdown triggers to use native `<details>/<summary>` instead of buttons, then updated menu visibility logic to use `details[open]` for no-JS support on touch and keyboard while preserving hover behavior. Also renamed the “Developer Docs” link to “Code Reference” and tightened related CSS comments.
* Refresh contribution and docs workflow docs
Updated contributor-facing docs to use consistent Markdown admonition blocks, cleaned Mermaid fence formatting, and fixed minor wording/capitalization in contribution steps. Clarified `devdocs-generator` behavior so workflow ownership is explicit: generation now documented as part of `pre-release.yaml` (via docs-update PR), while `docs.yaml` is documented as build/deploy only.
* Fix contributing guide grammar
Correct the "it's" to "its" typo in both contributing guides so the pull request guidance is consistent across the GitHub and docs versions.
144 lines
4.5 KiB
YAML
144 lines
4.5 KiB
YAML
name: Pre-Release WinUtil
|
|
|
|
permissions:
|
|
contents: write
|
|
actions: read
|
|
pull-requests: write
|
|
|
|
on:
|
|
workflow_dispatch: # Manual trigger added
|
|
|
|
jobs:
|
|
build-runspace:
|
|
runs-on: windows-latest
|
|
outputs:
|
|
version: ${{ steps.extract_version.outputs.version }}
|
|
env:
|
|
CERTIFICATE_BASE64: ${{ secrets.CERTIFICATE_BASE64 }}
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v7
|
|
|
|
- name: Generate Dev Docs and Update JSON Links
|
|
shell: pwsh
|
|
run: |
|
|
Set-Location tools
|
|
./devdocs-generator.ps1
|
|
|
|
- name: Compile project
|
|
shell: pwsh
|
|
run: |
|
|
Set-ExecutionPolicy Bypass -Scope Process -Force; ./Compile.ps1
|
|
continue-on-error: false # Directly fail the job on error, removing the need for a separate check
|
|
|
|
- name: Create Pull Request for Updated Docs and JSON Links
|
|
id: cpr
|
|
uses: peter-evans/create-pull-request@v8
|
|
with:
|
|
token: ${{ secrets.AUTO_MERGE }}
|
|
commit-message: 'chore: Update generated dev docs and JSON links'
|
|
title: 'chore: Update generated dev docs and JSON links'
|
|
body: 'Automated update of generated documentation and JSON config links from pre-release build'
|
|
branch: docs-update
|
|
delete-branch: true
|
|
add-paths: |
|
|
docs/src/content/docs/code-reference/
|
|
config/tweaks.json
|
|
config/feature.json
|
|
labels: |
|
|
automated
|
|
documentation
|
|
skip-changelog
|
|
|
|
- name: Check outputs
|
|
shell: bash
|
|
run: |
|
|
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
|
|
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
|
|
|
|
- name: Set Version to Todays Date
|
|
id: extract_version
|
|
run: |
|
|
$version = (Get-Date -Format "yy.MM.dd")
|
|
echo "VERSION=$version" >> $env:GITHUB_ENV
|
|
echo "version=$version" >> $env:GITHUB_OUTPUT
|
|
shell: pwsh
|
|
|
|
- name: Create Tag
|
|
id: create_tag
|
|
run: |
|
|
$tagExists = git tag -l $env:VERSION
|
|
if ($tagExists -eq "") {
|
|
git tag $env:VERSION
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Error "Failed to create tag $env:VERSION"
|
|
exit 1
|
|
}
|
|
git push origin $env:VERSION
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Error "Failed to push tag $env:VERSION"
|
|
exit 1
|
|
}
|
|
} else {
|
|
Write-Host "Tag $env:VERSION already exists, skipping tag creation"
|
|
}
|
|
shell: pwsh
|
|
|
|
- name: Upload compiled script
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: winutil-ps1
|
|
path: ./winutil.ps1
|
|
|
|
release:
|
|
needs: build-runspace
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Download compiled script
|
|
uses: actions/download-artifact@v8
|
|
with:
|
|
name: winutil-ps1
|
|
|
|
- name: Set version from build job
|
|
run: echo "VERSION=${{ needs.build-runspace.outputs.version }}" >> $GITHUB_ENV
|
|
|
|
- name: Generate Release Notes
|
|
id: generate_notes
|
|
uses: release-drafter/release-drafter@v7
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
config-name: release-drafter.yml
|
|
version: ${{ env.VERSION }}
|
|
|
|
- name: Remove Automated Updates from Release Notes
|
|
id: filter_notes
|
|
shell: pwsh
|
|
env:
|
|
RELEASE_NOTES: ${{ steps.generate_notes.outputs.body }}
|
|
run: |
|
|
$filteredNotes = ($env:RELEASE_NOTES -split '\r?\n' | Where-Object {
|
|
$_ -notmatch '(?i)Update (Generated Dev Docs|Sponsors)'
|
|
}) -join "`n"
|
|
|
|
$delimiter = [guid]::NewGuid().ToString()
|
|
"body<<$delimiter" >> $env:GITHUB_OUTPUT
|
|
$filteredNotes >> $env:GITHUB_OUTPUT
|
|
$delimiter >> $env:GITHUB_OUTPUT
|
|
|
|
- name: Create and Upload Release
|
|
id: create_release
|
|
uses: softprops/action-gh-release@v3
|
|
with:
|
|
tag_name: ${{ env.VERSION }}
|
|
name: Pre-Release ${{ env.VERSION }}
|
|
body: |
|
|
${{ steps.filter_notes.outputs.body }}
|
|
|
|

|
|
append_body: false
|
|
files: ./winutil.ps1
|
|
prerelease: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|