Repository navigation
79 lines (73 loc) · 2.28 KB
/
Copy pathrelease.yml
File metadata and controls
79 lines (73 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: Release
permissions:
contents: write
on:
push:
tags:
- v[0-9]+.*
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install system packages
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- uses: taiki-e/create-gh-release-action@v1
with:
# (required) GitHub token for creating GitHub Releases.
token: ${{ secrets.GITHUB_TOKEN }}
# (Optional) Create a draft release.
# [default value: false]
draft: true
publish-crates:
needs: create-release
runs-on: ubuntu-latest
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Install system packages
run: |
sudo apt-get update
sudo apt-get install -y libwayland-dev
- name: Publish crates.io packages
run: |
cargo publish --locked -p java_asm_macro
cargo publish --locked -p java_asm
cargo publish --locked -p java_asm_server
cargo publish --locked -p java_asm_cli
upload-assets:
needs: create-release
strategy:
matrix:
include:
- target: x86_64-apple-darwin
os: macos-latest
exe: ''
- target: aarch64-apple-darwin
os: macos-latest
exe: ''
- target: x86_64-pc-windows-msvc
os: windows-latest
exe: .exe
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Build and upload release binaries
shell: bash
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TARGET: ${{ matrix.target }}
EXE: ${{ matrix.exe }}
run: |
rustup target add "${TARGET}"
cargo build --locked --release --target "${TARGET}" --bin java_asm_egui --bin java_asm_cli
assets=()
for binary in java_asm_egui java_asm_cli; do
asset="${binary}-${TARGET}${EXE}"
cp "target/${TARGET}/release/${binary}${EXE}" "${asset}"
assets+=("${asset}")
done
gh release upload "${GITHUB_REF_NAME:?}" "${assets[@]}" --clobber