9
9
workflow_dispatch :
10
10
11
11
env :
12
+ BUILD_PROFILE : release-lto
12
13
CARGO_BIN_NAME : objdiff
13
14
CARGO_TARGET_DIR : target
14
15
30
31
with :
31
32
components : rustfmt, clippy
32
33
- name : Cargo check
33
- run : cargo check --all-features
34
+ run : cargo check
34
35
- name : Cargo clippy
35
- run : cargo clippy --all-features
36
+ run : cargo clippy
37
+
38
+ fmt :
39
+ name : Format
40
+ runs-on : ubuntu-latest
41
+ env :
42
+ RUSTFLAGS : -D warnings
43
+ steps :
44
+ - name : Checkout
45
+ uses : actions/checkout@v3
46
+ - name : Setup Rust toolchain
47
+ # We use nightly options in rustfmt.toml
48
+ uses : dtolnay/rust-toolchain@nightly
49
+ with :
50
+ components : rustfmt
51
+ - name : Cargo fmt
52
+ run : cargo fmt --all --check
36
53
37
54
deny :
38
55
name : Deny
52
69
53
70
test :
54
71
name : Test
72
+ if : ' false' # No tests yet
55
73
strategy :
56
74
matrix :
57
75
platform : [ ubuntu-latest, windows-latest, macos-latest ]
68
86
- name : Setup Rust toolchain
69
87
uses : dtolnay/rust-toolchain@stable
70
88
- name : Cargo test
71
- run : cargo test --release --all-features
89
+ run : cargo test --release
72
90
73
91
build :
74
92
name : Build
@@ -103,16 +121,16 @@ jobs:
103
121
with :
104
122
targets : ${{ matrix.target }}
105
123
- name : Cargo build
106
- run : cargo build --release --all-features --target ${{ matrix.target }} --bin ${{ env.CARGO_BIN_NAME }}
124
+ run : cargo build --profile ${{ env.BUILD_PROFILE }} --target ${{ matrix.target }} --bin ${{ env.CARGO_BIN_NAME }}
107
125
- name : Upload artifacts
108
126
uses : actions/upload-artifact@v3
109
127
with :
110
128
name : ${{ matrix.name }}
111
129
path : |
112
- ${{ env.CARGO_TARGET_DIR }}/release /${{ env.CARGO_BIN_NAME }}
113
- ${{ env.CARGO_TARGET_DIR }}/release /${{ env.CARGO_BIN_NAME }}.exe
114
- ${{ env.CARGO_TARGET_DIR }}/${{ matrix.target }}/release /${{ env.CARGO_BIN_NAME }}
115
- ${{ env.CARGO_TARGET_DIR }}/${{ matrix.target }}/release /${{ env.CARGO_BIN_NAME }}.exe
130
+ ${{ env.CARGO_TARGET_DIR }}/${{ env.BUILD_PROFILE }} /${{ env.CARGO_BIN_NAME }}
131
+ ${{ env.CARGO_TARGET_DIR }}/${{ env.BUILD_PROFILE }} /${{ env.CARGO_BIN_NAME }}.exe
132
+ ${{ env.CARGO_TARGET_DIR }}/${{ matrix.target }}/${{ env.BUILD_PROFILE }} /${{ env.CARGO_BIN_NAME }}
133
+ ${{ env.CARGO_TARGET_DIR }}/${{ matrix.target }}/${{ env.BUILD_PROFILE }} /${{ env.CARGO_BIN_NAME }}.exe
116
134
if-no-files-found : error
117
135
118
136
release :
@@ -129,8 +147,8 @@ jobs:
129
147
working-directory : artifacts
130
148
run : |
131
149
mkdir ../out
132
- for i in */*/release /$CARGO_BIN_NAME*; do
133
- mv "$i" "../out/$(sed -E "s/([^/]+)\/[^/]+\/release \/($CARGO_BIN_NAME)/\2-\1/" <<< "$i")"
150
+ for i in */*/$BUILD_PROFILE /$CARGO_BIN_NAME*; do
151
+ mv "$i" "../out/$(sed -E "s/([^/]+)\/[^/]+\/$BUILD_PROFILE \/($CARGO_BIN_NAME)/\2-\1/" <<< "$i")"
134
152
done
135
153
ls -R ../out
136
154
- name : Release
0 commit comments