Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 46 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,53 @@ jobs:
core.info(`OK: ${tagName} does not exist. Proceeding with release.`);
core.setOutput('skip', 'false');

publish-tauri:
generate-notes:
name: Generate release notes
needs: preflight
if: needs.preflight.outputs.skip != 'true'
permissions:
contents: read
runs-on: ubuntu-latest
outputs:
notes: ${{ steps.notes.outputs.notes }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Generate release notes via GitHub API
id: notes
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require('fs');
const cfg = JSON.parse(fs.readFileSync('src-tauri/tauri.conf.json', 'utf8'));
const version = cfg.version;
const tag = `v${version}`;

const params = {
owner: context.repo.owner,
repo: context.repo.repo,
tag_name: tag,
target_commitish: 'main',
};

// Use previous release as baseline if available
try {
const { data: latest } = await github.rest.repos.getLatestRelease({
owner: context.repo.owner,
repo: context.repo.repo,
});
params.previous_tag_name = latest.tag_name;
} catch (e) {
core.info('No previous release found, generating full notes');
}

const { data } = await github.rest.repos.generateReleaseNotes(params);
core.setOutput('notes', data.body);

publish-tauri:
needs: [preflight, generate-notes]
if: needs.preflight.outputs.skip != 'true'
permissions:
contents: write
strategy:
Expand Down Expand Up @@ -129,10 +173,9 @@ jobs:
with:
tagName: v__VERSION__
releaseName: 'v__VERSION__'
releaseBody: 'See the assets to download this version and install.'
releaseBody: ${{ needs.generate-notes.outputs.notes }}
releaseDraft: false
prerelease: false
generateReleaseNotes: true
includeUpdaterJson: true
updaterJsonPreferNsis: true
args: ${{ matrix.args }}
Expand Down
Loading
Loading