Skip to content

release: v0.1.2 - *un*crash*able* #63

release: v0.1.2 - *un*crash*able*

release: v0.1.2 - *un*crash*able* #63

Workflow file for this run

name: Release
on:
push:
tags:
- "v*.*.*"
permissions:
contents: write
jobs:
dot_love:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v27
with:
nix_path: nixpkgs=channel:nixos-24.05
- uses: cachix/cachix-action@v15
with:
name: bismuthsoft
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- run: nix build .#super_rogue.dot_love
- run: |
printf 'DOT_LOVE=%s\n' \
"$(nix eval --raw .#super_rogue.dot_love)/super_rogue.love" \
>> "$GITHUB_OUTPUT"
id: dot_love
- uses: actions/upload-artifact@v4
with:
name: dot_love-${{ github.sha }}
path: ${{ steps.dot_love.outputs.DOT_LOVE }}
if-no-files-found: error
webroot:
needs:
- dot_love # Use pre-built game.love via cachix
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v27
with:
nix_path: nixpkgs=channel:nixos-24.05
- uses: cachix/cachix-action@v15
with:
name: bismuthsoft
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- run: nix build .#super_rogue.web.src
- run: |
printf 'WEB_SRC=%s\n' \
"$(nix eval --raw .#super_rogue.web.src)" \
>> "$GITHUB_OUTPUT"
id: web_src
# cf https://github.com/actions/upload-pages-artifact/blob/main/action.yml
- uses: actions/upload-pages-artifact@v3
with:
path: ${{ steps.web_src.outputs.WEB_SRC }}
website:
# cf https://github.com/actions/deploy-pages?tab=readme-ov-file#usage
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
needs:
- webroot
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
linux:
needs:
- dot_love
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: dot_love-${{ github.sha }}
- name: Build Linux packages
id: build-linux-packages
uses: love-actions/love-actions-linux@v1
with:
app-name: Super Rogue
bundle-id: top.workinprogress.super-rogue
description: Super Rogue
version-string: "1.0.0"
icon-path: ./src/assets/super_rogue.png
# icon-path: ./.github/build/linux/dev/icon.png
love-package: ./super_rogue.love
# lib-path: ./lib
# share-path: ./share
build-deb: true
product-name: super-rogue
output-folder: ./dist
- uses: actions/upload-artifact@v4
with:
name: dist-linux
path: dist
mac:
if: ${{ false }}
needs:
- dot_love
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: dot_love-${{ github.sha }}
- name: Build macOS packages
id: build-mac-packages
uses: winny-/love-actions-macos-portable@productivityTweaks
with:
app-name: "Super Rogue"
bundle-id: "top.workinprogress.super_rogue"
copyright: "Copyright © 2023 44100hz & winny All Rights Reserved."
icon-path: ./src/assets/super_rogue.icns
love-ref: "fc3f5ee6209a0aab9a4d381ed5cd99110f9ff2f2"
love-package: ./super_rogue.love
# extra-assets: ./README.md ./license.txt
product-name: "super_rogue"
version-string: "1.0.0"
output-folder: "./dist"
dmg-background-path: ./src/assets/super_rogue.png
dmg-icon-position: "287 313"
dmg-icon-size: "128"
dmg-link-position: "734 313"
dmg-text-size: "12"
# dmg-volume-icon-path: ./assets/macOS/dmg.icns
dmg-volume-name: "super_rogue"
dmg-window-position: "200 120"
dmg-window-size: "1024 604"
- uses: actions/upload-artifact@v4
with:
name: dist-mac
path: dist
windows:
needs:
- dot_love
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: dot_love-${{ github.sha }}
- name: Build Windows packages
id: build-windows
uses: love-actions/love-actions-windows@v1
with:
love-package: ./super_rogue.love
icon-path: ./src/assets/super_rogue.ico
# rc-path: ./assets/template.rc
product-name: super_rogue
app-id: ${{ secrets.APP_ID }}
product-website: https://super-rogue.workinprogress.top
installer-languages: English.isl
output-folder: "./dist"
- uses: actions/upload-artifact@v4
with:
name: dist-windows
path: dist
gh_release:
needs:
- windows
- linux
- dot_love
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: dot_love-${{ github.sha }}
- uses: actions/download-artifact@v4
with:
name: dist-windows
- uses: actions/download-artifact@v4
with:
name: dist-linux
- run: |
mv super_rogue_x86.zip super_rogue_windows_x86.zip
mv super_rogue_x64.zip super_rogue_windows_x64.zip
- name: Release
uses: softprops/action-gh-release@v2
with:
files: |
super_rogue.love
super_rogue_windows_x86.zip
super_rogue_windows_x64.zip
super_rogue_installer.exe
super-rogue.deb
super-rogue.AppImage