Skip to content

fix(px4): use explicit type annotations for default parameter values #5

fix(px4): use explicit type annotations for default parameter values

fix(px4): use explicit type annotations for default parameter values #5

Workflow file for this run

name: Desktop Release
on:
push:
tags:
- "v*"
permissions:
contents: write
jobs:
build-macos:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Build Next.js
run: npm run build
- name: Compile Electron
run: npm run electron:compile
- name: Build macOS app
run: npx electron-builder --mac --publish always
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: macos-build
path: release/*.dmg
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Build Next.js
run: npm run build
- name: Compile Electron
run: npm run electron:compile
- name: Build Windows app
run: npx electron-builder --win --publish always
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: windows-build
path: release/*.exe
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Build Next.js
run: npm run build
- name: Compile Electron
run: npm run electron:compile
- name: Build Linux app
run: npx electron-builder --linux --publish always
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: linux-build
path: release/*.AppImage
update-release-notes:
needs: [build-macos, build-windows, build-linux]
runs-on: ubuntu-latest
steps:
- name: Update release notes
uses: actions/github-script@v7
with:
script: |
const tag = context.ref.replace('refs/tags/', '');
const { data: releases } = await github.rest.repos.listReleases({
owner: context.repo.owner,
repo: context.repo.repo,
});
const release = releases.find(r => r.tag_name === tag);
if (!release) {
core.setFailed(`Release for tag ${tag} not found`);
return;
}
await github.rest.repos.updateRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: release.id,
body: [
`## Altnautica Command ${tag}`,
'',
'> **Use the web version for the most updated version and better performance.**',
'> Desktop apps will always be outdated by a version or two.',
'> If you really want to run locally, please clone and build/run yourself as that is better.',
'> Desktop apps are not optimal.',
'',
'### Downloads',
'- **macOS:** `.dmg` (Intel & Apple Silicon)',
'- **Windows:** `.exe` installer',
'- **Linux:** `.AppImage`',
].join('\n'),
});