Skip to content

Commit 56a5a61

Browse files
committed
Updates to CI workflow & README.md
1 parent 3d2236d commit 56a5a61

File tree

3 files changed

+47
-41
lines changed

3 files changed

+47
-41
lines changed

.github/workflows/build.yaml

Lines changed: 22 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ on:
1111
env:
1212
BUILD_PROFILE: release-lto
1313
CARGO_TARGET_DIR: target
14+
CARGO_INCREMENTAL: 0
1415

1516
jobs:
1617
check:
@@ -25,35 +26,14 @@ jobs:
2526
sudo apt-get -y install libgtk-3-dev
2627
- name: Checkout
2728
uses: actions/checkout@v4
28-
- name: Check git tag against Cargo version
29-
if: startsWith(github.ref, 'refs/tags/')
30-
shell: bash
31-
run: |
32-
set -eou pipefail
33-
tag='${{github.ref}}'
34-
tag="${tag#refs/tags/}"
35-
version=$(grep '^version' Cargo.toml | head -1 | awk -F' = ' '{print $2}' | tr -d '"')
36-
version="v$version"
37-
if [ "$tag" != "$version" ]; then
38-
echo "::error::Git tag doesn't match the Cargo version! ($tag != $version)"
39-
exit 1
40-
fi
4129
- name: Setup Rust toolchain
4230
uses: dtolnay/rust-toolchain@stable
4331
with:
4432
components: clippy
45-
- name: Setup sccache
46-
uses: mozilla-actions/sccache-action@v0.0.4
4733
- name: Cargo check
48-
env:
49-
RUSTC_WRAPPER: sccache
50-
SCCACHE_GHA_ENABLED: "true"
51-
run: cargo check
34+
run: cargo check --all-features --all-targets
5235
- name: Cargo clippy
53-
env:
54-
RUSTC_WRAPPER: sccache
55-
SCCACHE_GHA_ENABLED: "true"
56-
run: cargo clippy
36+
run: cargo clippy --all-features --all-targets
5737

5838
fmt:
5939
name: Format
@@ -105,13 +85,8 @@ jobs:
10585
uses: actions/checkout@v4
10686
- name: Setup Rust toolchain
10787
uses: dtolnay/rust-toolchain@stable
108-
- name: Setup sccache
109-
uses: mozilla-actions/sccache-action@v0.0.4
11088
- name: Cargo test
111-
env:
112-
RUSTC_WRAPPER: sccache
113-
SCCACHE_GHA_ENABLED: "true"
114-
run: cargo test --release
89+
run: cargo test --release --all-features
11590

11691
build-cli:
11792
name: Build objdiff-cli
@@ -228,12 +203,7 @@ jobs:
228203
uses: dtolnay/rust-toolchain@stable
229204
with:
230205
targets: ${{ matrix.target }}
231-
- name: Setup sccache
232-
uses: mozilla-actions/sccache-action@v0.0.4
233206
- name: Cargo build
234-
env:
235-
RUSTC_WRAPPER: sccache
236-
SCCACHE_GHA_ENABLED: "true"
237207
run: >
238208
cargo build --profile ${{ env.BUILD_PROFILE }} --target ${{ matrix.target }}
239209
--bin ${{ env.CARGO_BIN_NAME }} --features ${{ matrix.features }}
@@ -250,10 +220,24 @@ jobs:
250220
name: Release
251221
if: startsWith(github.ref, 'refs/tags/')
252222
runs-on: ubuntu-latest
253-
needs: [ check, build-cli, build-gui ]
223+
needs: [ build-cli, build-gui ]
254224
permissions:
255225
contents: write
256226
steps:
227+
- name: Checkout
228+
uses: actions/checkout@v4
229+
- name: Check git tag against Cargo version
230+
shell: bash
231+
run: |
232+
set -eou pipefail
233+
tag='${{github.ref}}'
234+
tag="${tag#refs/tags/}"
235+
version=$(grep '^version' Cargo.toml | head -1 | awk -F' = ' '{print $2}' | tr -d '"')
236+
version="v$version"
237+
if [ "$tag" != "$version" ]; then
238+
echo "::error::Git tag doesn't match the Cargo version! ($tag != $version)"
239+
exit 1
240+
fi
257241
- name: Download artifacts
258242
uses: actions/download-artifact@v4
259243
with:
@@ -281,6 +265,8 @@ jobs:
281265
done
282266
ls -R ../out
283267
- name: Release
284-
uses: softprops/action-gh-release@v1
268+
uses: softprops/action-gh-release@v2
285269
with:
286270
files: out/*
271+
draft: true
272+
generate_release_notes: true

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ resolver = "2"
88

99
[profile.release-lto]
1010
inherits = "release"
11-
lto = "thin"
11+
lto = "fat"
1212
strip = "debuginfo"
13+
codegen-units = 1
1314

1415
[workspace.package]
1516
version = "2.0.0-beta.7"

README.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
A local diffing tool for decompilation projects. Inspired by [decomp.me](https://decomp.me) and [asm-differ](https://github.com/simonlindholm/asm-differ).
77

88
Features:
9+
910
- Compare entire object files: functions and data.
1011
- Built-in symbol demangling for C++. (CodeWarrior, Itanium & MSVC)
1112
- Automatic rebuild on source file changes.
@@ -14,13 +15,33 @@ Features:
1415
- Click to highlight all instances of values and registers.
1516

1617
Supports:
18+
1719
- PowerPC 750CL (GameCube, Wii)
1820
- MIPS (N64, PS1, PS2, PSP)
1921
- x86 (COFF only at the moment)
2022
- ARM (GBA, DS, 3DS)
2123

2224
See [Usage](#usage) for more information.
2325

26+
## Downloads
27+
28+
To build from source, see [Building](#building).
29+
30+
### GUI
31+
32+
- [Windows (x86_64)](https://github.com/encounter/objdiff/releases/latest/download/objdiff-windows-x86_64.exe)
33+
- [Linux (x86_64)](https://github.com/encounter/objdiff/releases/latest/download/objdiff-linux-x86_64)
34+
- [macOS (arm64)](https://github.com/encounter/objdiff/releases/latest/download/objdiff-macos-arm64)
35+
- [macOS (x86_64)](https://github.com/encounter/objdiff/releases/latest/download/objdiff-macos-x86_64)
36+
37+
For Linux and macOS, run `chmod +x objdiff-*` to make the binary executable.
38+
39+
### CLI
40+
41+
CLI binaries can be found on the [releases page](https://github.com/encounter/objdiff/releases).
42+
43+
## Screenshots
44+
2445
![Symbol Screenshot](assets/screen-symbols.png)
2546
![Diff Screenshot](assets/screen-diff.png)
2647

@@ -141,16 +162,14 @@ Install Rust via [rustup](https://rustup.rs).
141162
$ git clone https://github.com/encounter/objdiff.git
142163
$ cd objdiff
143164
$ cargo run --release
144-
# or, for wgpu backend (recommended on macOS)
145-
$ cargo run --release --features wgpu
146165
```
147166

148167
## License
149168

150169
Licensed under either of
151170

152-
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
153-
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
171+
- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or <http://www.apache.org/licenses/LICENSE-2.0>)
172+
- MIT license ([LICENSE-MIT](LICENSE-MIT) or <http://opensource.org/licenses/MIT>)
154173

155174
at your option.
156175

0 commit comments

Comments
 (0)