Skip to content

Commit 30e7a63

Browse files
authored
Merge pull request #110 from stepchowfun/v0.1.4
Add support for Windows on AArch64
2 parents ba0fbf1 + 67dbcd8 commit 30e7a63

File tree

13 files changed

+1162
-1321
lines changed

13 files changed

+1162
-1321
lines changed

Diff for: .github/workflows/ci.yml

+48-17
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
name: Build for Linux
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v2
11+
- uses: actions/checkout@v3
1212
- if: ${{ github.event_name == 'push' }}
1313
uses: azure/docker-login@v1
1414
with:
@@ -25,7 +25,7 @@ jobs:
2525
2626
# The artifact name will contain the target triple, so the file name doesn't need to.
2727
mv artifacts/paxos-x86_64-unknown-linux-gnu artifacts/paxos
28-
- uses: actions/upload-artifact@v2
28+
- uses: actions/upload-artifact@v3
2929
with:
3030
name: x86_64-unknown-linux-gnu
3131
path: artifacts/paxos
@@ -36,7 +36,7 @@ jobs:
3636
3737
# The artifact name will contain the target triple, so the file name doesn't need to.
3838
mv artifacts/paxos-x86_64-unknown-linux-musl artifacts/paxos
39-
- uses: actions/upload-artifact@v2
39+
- uses: actions/upload-artifact@v3
4040
with:
4141
name: x86_64-unknown-linux-musl
4242
path: artifacts/paxos
@@ -47,7 +47,7 @@ jobs:
4747
4848
# The artifact name will contain the target triple, so the file name doesn't need to.
4949
mv artifacts/paxos-aarch64-unknown-linux-gnu artifacts/paxos
50-
- uses: actions/upload-artifact@v2
50+
- uses: actions/upload-artifact@v3
5151
with:
5252
name: aarch64-unknown-linux-gnu
5353
path: artifacts/paxos
@@ -58,7 +58,7 @@ jobs:
5858
5959
# The artifact name will contain the target triple, so the file name doesn't need to.
6060
mv artifacts/paxos-aarch64-unknown-linux-musl artifacts/paxos
61-
- uses: actions/upload-artifact@v2
61+
- uses: actions/upload-artifact@v3
6262
with:
6363
name: aarch64-unknown-linux-musl
6464
path: artifacts/paxos
@@ -67,7 +67,7 @@ jobs:
6767
name: Build for Windows
6868
runs-on: windows-latest
6969
steps:
70-
- uses: actions/checkout@v2
70+
- uses: actions/checkout@v3
7171
- run: |
7272
# Make Bash not silently ignore errors.
7373
set -euo pipefail
@@ -76,22 +76,38 @@ jobs:
7676
rustup toolchain install 1.65.0 # [ref:rust_1.65.0]
7777
rustup default 1.65.0 # [ref:rust_1.65.0]
7878
79-
# Build and test.
79+
# Add the targets.
80+
rustup target add x86_64-pc-windows-msvc
81+
rustup target add aarch64-pc-windows-msvc
82+
83+
# Build and test for x86_64-pc-windows-msvc.
8084
RUSTFLAGS='--codegen target-feature=+crt-static' cargo build \
8185
--locked \
8286
--release \
8387
--target x86_64-pc-windows-msvc
8488
NO_COLOR=true cargo test --locked # [ref:colorless_tests]
85-
- uses: actions/upload-artifact@v2
89+
90+
# Build and test for aarch64-pc-windows-msvc.
91+
RUSTFLAGS='--codegen target-feature=+crt-static' cargo build \
92+
--locked \
93+
--release \
94+
--target aarch64-pc-windows-msvc
95+
NO_COLOR=true cargo test --locked # [ref:colorless_tests]
96+
- uses: actions/upload-artifact@v3
8697
with:
8798
name: x86_64-pc-windows-msvc
8899
path: target/x86_64-pc-windows-msvc/release/paxos.exe
89100
if-no-files-found: error
101+
- uses: actions/upload-artifact@v3
102+
with:
103+
name: aarch64-pc-windows-msvc
104+
path: target/aarch64-pc-windows-msvc/release/paxos.exe
105+
if-no-files-found: error
90106
ci-macos:
91107
name: Build for macOS
92108
runs-on: macos-latest
93109
steps:
94-
- uses: actions/checkout@v2
110+
- uses: actions/checkout@v3
95111
- run: |
96112
# Make Bash not silently ignore errors.
97113
set -euo pipefail
@@ -100,22 +116,27 @@ jobs:
100116
rustup toolchain install 1.65.0 # [ref:rust_1.65.0]
101117
rustup default 1.65.0 # [ref:rust_1.65.0]
102118
119+
# Add the targets.
120+
rustup target add x86_64-apple-darwin
121+
rustup target add aarch64-apple-darwin
122+
103123
# Build and test for x86_64-apple-darwin.
104-
cargo build --locked --release --target x86_64-apple-darwin
124+
SDKROOT=$(xcrun --show-sdk-path) \
125+
MACOSX_DEPLOYMENT_TARGET=$(xcrun --show-sdk-version) \
126+
cargo build --locked --release --target x86_64-apple-darwin
105127
NO_COLOR=true cargo test --locked # [ref:colorless_tests]
106128
107129
# Build and test for aarch64-apple-darwin.
108-
rustup target add aarch64-apple-darwin
109130
SDKROOT=$(xcrun --show-sdk-path) \
110131
MACOSX_DEPLOYMENT_TARGET=$(xcrun --show-sdk-version) \
111132
cargo build --locked --release --target aarch64-apple-darwin
112133
NO_COLOR=true cargo test --locked # [ref:colorless_tests]
113-
- uses: actions/upload-artifact@v2
134+
- uses: actions/upload-artifact@v3
114135
with:
115136
name: x86_64-apple-darwin
116137
path: target/x86_64-apple-darwin/release/paxos
117138
if-no-files-found: error
118-
- uses: actions/upload-artifact@v2
139+
- uses: actions/upload-artifact@v3
119140
with:
120141
name: aarch64-apple-darwin
121142
path: target/aarch64-apple-darwin/release/paxos
@@ -124,7 +145,7 @@ jobs:
124145
name: Install on macOS
125146
runs-on: macos-latest
126147
steps:
127-
- uses: actions/checkout@v2
148+
- uses: actions/checkout@v3
128149
- run: |
129150
# Make Bash not silently ignore errors.
130151
set -euo pipefail
@@ -138,7 +159,7 @@ jobs:
138159
name: Install on Ubuntu
139160
runs-on: ubuntu-latest
140161
steps:
141-
- uses: actions/checkout@v2
162+
- uses: actions/checkout@v3
142163
- run: |
143164
# Make Bash not silently ignore errors.
144165
set -euo pipefail
@@ -154,8 +175,8 @@ jobs:
154175
runs-on: ubuntu-latest
155176
needs: [ci-linux, ci-macos, ci-windows, install-macos, install-ubuntu]
156177
steps:
157-
- uses: actions/checkout@v2
158-
- uses: actions/download-artifact@v2
178+
- uses: actions/checkout@v3
179+
- uses: actions/download-artifact@v3
159180
with:
160181
path: artifacts/
161182
- env:
@@ -199,6 +220,9 @@ jobs:
199220
mv \
200221
artifacts/x86_64-pc-windows-msvc/paxos.exe \
201222
artifacts/paxos-x86_64-pc-windows-msvc.exe
223+
mv \
224+
artifacts/aarch64-pc-windows-msvc/paxos.exe \
225+
artifacts/paxos-aarch64-pc-windows-msvc.exe
202226
203227
# Create the release.
204228
hub release create \
@@ -211,5 +235,12 @@ jobs:
211235
--attach 'artifacts/paxos-x86_64-apple-darwin' \
212236
--attach 'artifacts/paxos-aarch64-apple-darwin' \
213237
--attach 'artifacts/paxos-x86_64-pc-windows-msvc.exe' \
238+
--attach 'artifacts/paxos-aarch64-pc-windows-msvc.exe' \
214239
"v$VERSION"
215240
echo "Created release v$VERSION."
241+
- uses: stepchowfun/toast/.github/actions/toast@main
242+
with:
243+
tasks: publish
244+
docker_repo: stephanmisc/toast
245+
env:
246+
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}

Diff for: CHANGELOG.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,20 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.0.4] - 2023-06-18
9+
10+
### Added
11+
- Paxos supports a new platform: Windows on AArch64.
12+
813
## [1.0.3] - 2023-06-02
914

1015
### Added
11-
- Paxos supports a new platform: AArch64 musl Linux.
16+
- Paxos supports a new platform: musl Linux on AArch64.
1217

1318
## [1.0.2] - 2023-05-23
1419

1520
### Added
16-
- Paxos supports a new platform: AArch64 GNU Linux.
21+
- Paxos supports a new platform: GNU Linux on AArch64.
1722

1823
## [1.0.1] - 2023-05-13
1924

0 commit comments

Comments
 (0)