Skip to content

Update node.js.yml

Update node.js.yml #4

Workflow file for this run

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'
- uses: oven-sh/setup-bun@v2
with:
bun-version: 'latest'
- run: bun install
- run: bun run 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 }}