Skip to content

Commit

Permalink
Merge pull request #1 from BTS-CM/headless
Browse files Browse the repository at this point in the history
Headless mode
  • Loading branch information
grctest authored Jul 12, 2024
2 parents 368cf48 + b159867 commit 7db6c76
Show file tree
Hide file tree
Showing 18 changed files with 4,613 additions and 170 deletions.
158 changes: 158 additions & 0 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
name: Build/release

permissions:
contents: write

on:
push:
tags:
- "v*.*.*"

jobs:
create_release:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Create Release
id: create_release
uses: BTS-CM/action-gh-release@cd28b0f5ee8571b76cfdaa62a30d51d752317477
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
name: ${{ github.ref_name }}
draft: true
prerelease: endsWith(github.ref_name, 'rc1') || endsWith(github.ref_name, 'rc2') || endsWith(github.ref_name, 'rc3')
generate_release_notes: false

build:
name: build_release
needs: create_release
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
include:
- os: windows-latest
release_suffix: windows
release_format: exe
- os: ubuntu-latest
release_suffix: ubuntu
release_format: deb
- os: macos-latest
release_suffix: macos
release_format: dmg
runs-on: ${{ matrix.os }}

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Use Node.js 21.6.2
uses: actions/setup-node@v3
with:
node-version: 'node'
cache: 'npm'

- uses: oven-sh/setup-bun@v2

- run: bun install
- run: bun run-script dist:${{ matrix.os }}

- name: Upload .${{ matrix.release_format }} file
uses: actions/upload-artifact@v3
with:
name: rpgjs.${{ matrix.release_format }}
path: dist/rpgjs.${{ matrix.release_format }}

- name: Upload linux appimage
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v3
with:
name: rpgjs.AppImage
path: dist/rpgjs.AppImage

- name: Upload .exe.blockmap
if: matrix.release_format == 'exe'
uses: actions/upload-artifact@v3
with:
name: rpgjs.exe.blockmap
path: dist/rpgjs.exe.blockmap

- name: Upload latest.yml file
if: matrix.release_format == 'exe'
uses: actions/upload-artifact@v3
with:
name: latest.yml
path: dist/latest.yml

- run: ls dist

generate:
name: generate files
needs: build
runs-on: ubuntu-latest
steps:
- name: Download exe
uses: actions/download-artifact@v3
with:
name: rpgjs.exe
path: ~/
- name: Download exe blockmap
uses: actions/download-artifact@v3
with:
name: rpgjs.exe.blockmap
path: ~/
- name: Download latest yml
uses: actions/download-artifact@v3
with:
name: latest.yml
path: ~/
- name: Download dmg
uses: actions/download-artifact@v3
with:
name: rpgjs.dmg
path: ~/
- name: Download deb
uses: actions/download-artifact@v3
with:
name: rpgjs.deb
path: ~/
- name: Download AppImage
uses: actions/download-artifact@v3
with:
name: rpgjs.AppImage
path: ~/
- name: Calculate hashes
id: calc_hash
run: |
echo "::set-output name=blockmaphash::$(sha256sum /home/runner/rpgjs.exe.blockmap|cut -c-64)"
echo "::set-output name=ymlhash::$(sha256sum /home/runner/latest.yml|cut -c-64)"
echo "::set-output name=exehash::$(sha256sum /home/runner/rpgjs.exe|cut -c-64)"
echo "::set-output name=dmghash::$(sha256sum /home/runner/rpgjs.dmg|cut -c-64)"
echo "::set-output name=debhash::$(sha256sum /home/runner/rpgjs.deb|cut -c-64)"
echo "::set-output name=apphash::$(sha256sum /home/runner/rpgjs.AppImage|cut -c-64)"
- name: Perform release
uses: BTS-CM/action-gh-release@cd28b0f5ee8571b76cfdaa62a30d51d752317477
with:
files: |
/home/runner/rpgjs.exe
/home/runner/rpgjs.dmg
/home/runner/rpgjs.deb
/home/runner/rpgjs.AppImage
/home/runner/rpgjs.exe.blockmap
/home/runner/latest.yml
tag_name: ${{ needs.create_release.outputs.tag-name }}
body: |
Release Notes
_________________________________
Binaries for download
--------
| Platform | SHA256 Checksum |
|---|---|
|[Microsoft Windows](https://github.com/BTS-CM/RPGJS-Electron/releases/download/${{ github.ref_name }}/rpgjs.exe)|`${{steps.calc_hash.outputs.exehash}}`|
|[MacOS](https://github.com/BTS-CM/RPGJS-Electron/releases/download/${{ github.ref_name }}/rpgjs.dmg)|`${{steps.calc_hash.outputs.dmghash}}`|
|[Linux Deb](https://github.com/BTS-CM/RPGJS-Electron/releases/download/${{ github.ref_name }}/rpgjs.deb)|`${{steps.calc_hash.outputs.debhash}}`|
|[Linux AppImage](https://github.com/BTS-CM/RPGJS-Electron/releases/download/${{ github.ref_name }}/rpgjs.AppImage)|`${{steps.calc_hash.outputs.apphash}}`|
|[EXE blockmap](https://github.com/BTS-CM/RPGJS-Electron/releases/download/${{ github.ref_name }}/rpgjs.exe.blockmap)|`${{steps.calc_hash.outputs.blockmaphash}}`|
|[Latest.yml](https://github.com/BTS-CM/RPGJS-Electron/releases/download/${{ github.ref_name }}/latest.yml)|`${{steps.calc_hash.outputs.ymlhash}}`|
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading

0 comments on commit 7db6c76

Please sign in to comment.