Skip to content

build

build #16

Workflow file for this run

name: 'build'
on:
workflow_dispatch:
jobs:
publish-tauri:
permissions:
contents: write
strategy:
fail-fast: false
matrix:
platform: [macos-latest, ubuntu-20.04, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- name: setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-20.04'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
- name: Install dependencies
run: npm install
- name: Build
if: matrix.platform == 'ubuntu-20.04'
run: |
npm run build
cp -r dist DwarfStellariumGoto
echo "python3 -m http.server" > DwarfStellariumGoto/start_server.bat
zip -r DwarfStellariumGoto.zip DwarfStellariumGoto
- name: Get version number from package.json
id: get_version
run: echo "::set-output name=version::$(node -e 'console.log(require("./package.json").version)')"
- name: Create artifact DwarfStellariumGoto
uses: actions/upload-artifact@v4
with:
name: DwarfStellariumGoto-${{ steps.get_version.outputs.version }}
path: DwarfStellariumGoto.zip
- name: install frontend dependencies
run: npm install
- uses: tauri-apps/tauri-action@v0
id: tauri_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tagName: app-v${{ steps.get_version.outputs.version }}
releaseName: 'v${{ steps.get_version.outputs.version }}-DesktopAPP'
releaseBody: 'See the assets to download this version and install.'
releaseDraft: false
prerelease: false
- name: Release with ncipollo/release-action
if: matrix.platform == 'ubuntu-20.04'
id: release
uses: ncipollo/release-action@v1
with:
artifacts: DwarfStellariumGoto.zip
token: ${{ secrets.GITHUB_TOKEN }}
generateReleaseNotes: true
skipIfReleaseExists: true
tag: v${{ steps.get_version.outputs.version }}
- name: Create updater.json
if: matrix.platform == 'ubuntu-20.04'
run: |
current_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
app_name="stellarium-goto"
tag="app-v${{ steps.get_version.outputs.version }}"
echo '{
"version": "${{ steps.get_version.outputs.version }}",
"notes": "See release notes for details.",
"pub_date": "'"$current_date"'",
"platforms": {
"linux-x86_64": {
"signature": "'"$content_of_linux_signature"'",
"url": "https://github.com/${{ github.repository }}/releases/download/'"$tag"'/'"$app_name"'_${{ steps.get_version.outputs.version }}_amd64.AppImage"
},
"darwin-x86_64": {
"signature": "'"$content_of_darwin_signature"'",
"url": "https://github.com/${{ github.repository }}/releases/download/'"$tag"'/'"$app_name"'_${{ steps.get_version.outputs.version }}_x64.app.tar.gz"
},
"windows-x86_64": {
"signature": "'"$content_of_windows_signature"'",
"url": "https://github.com/${{ github.repository }}/releases/download/'"$tag"'/'"$app_name"'_${{ steps.get_version.outputs.version }}_x64-setup.exe"
},
"macos-x86_64": {
"signature": "'"$content_of_windows_signature"'",
"url": "https://github.com/${{ github.repository }}/releases/download/'"$tag"'/'"$app_name"'_${{ steps.get_version.outputs.version }}_x64.dmg"
},
}
}' > update.json
- name: Update Gist
if: matrix.platform == 'ubuntu-20.04'
uses: exuanbo/actions-deploy-gist@v1
with:
token: ${{ secrets.TOKEN }}
gist_id: ${{ secrets.GIST_ID }}
file_path: update.json
file_type: text
gist_description: "Updater JSON for the latest release"
gist_file_name: "update.json"