Skip to content

Commit

Permalink
Release workflow.
Browse files Browse the repository at this point in the history
  • Loading branch information
abenea committed Feb 9, 2024
1 parent 32741de commit 5f99f2a
Show file tree
Hide file tree
Showing 2 changed files with 89 additions and 12 deletions.
20 changes: 8 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,27 @@ jobs:
linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- name: Test csdemoparser
run: cargo test --release
- name: Build csdemoparser
run: cargo build -p csdemoparser --release
- name: Test csdemoparser
run: cargo test -p csdemoparser --release
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: rust-linux
path: target/release/csdemoparser

windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- name: Test csdemoparser
run: cargo test --release
- name: Build csdemoparser
run: cargo build -p csdemoparser --release
- name: Test csdemoparser
run: cargo test -p csdemoparser --release
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: rust-windows
path: target/release/csdemoparser.exe
Expand Down
81 changes: 81 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Release

on:
workflow_dispatch

env:
CARGO_TERM_COLOR: always

jobs:
build:
strategy:
matrix:
os: [ubuntu-20.04, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- name: Test
run: cargo test --release
- name: Build csdemoparser
run: cargo build -p csdemoparser --release
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: |
target/release/csdemoparser
target/release/csdemoparser.exe
package:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
# oldui
- uses: actions/setup-node@v4
with:
node-version: '18'
- run: npm install -g bower
- run: bower install
# Clojure
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Install Leiningen
uses: DeLaGuardo/[email protected]
with:
lein: '2.10.0'
- name: Cache Clojure dependencies
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: cljdeps-${{ hashFiles('project.clj') }}
restore-keys: cljdeps-
- name: Build jar
run: LEIN_SNAPSHOTS_IN_RELEASE=1 lein uberjar
# Package
- uses: actions/download-artifact@v4
- name: Package Windows
run: |
mkdir windows/headshotbox
cp windows-latest/csdemoparser.exe windows/headshotbox/
cp target-lein/hsbox-*-standalone.jar windows/headshotbox/hsbox-standalone.jar
echo 'start javaw -jar hsbox-standalone.jar --port 4000 --systray' > windows/headshotbox/headshotbox.bat
echo 'java -jar hsbox-standalone.jar --port 4000' > windows/headshotbox/headshotbox_console.bat
cd windows && zip ../headshotbox-win.zip headshotbox/*
- name: Package Linux
run: |
mkdir linux/headshotbox
cp ubuntu-20.04/csdemoparser linux/headshotbox/
cp target-lein/hsbox-*-standalone.jar linux/headshotbox/hsbox-standalone.jar
echo 'java -jar hsbox-standalone.jar --port 4000' > linux/headshotbox/headshotbox.sh
chmod a+x linux/headshotbox/headshotbox.sh
cd linux && zip ../headshotbox-linux.zip headshotbox/*
- name: Release
uses: softprops/action-gh-release@v1
with:
draft: true
files: |
headshotbox-linux.zip
headshotbox-win.zip

0 comments on commit 5f99f2a

Please sign in to comment.