Skip to content

Commit 7e5f226

Browse files
authored
Merge branch 'main' into sanity-check-shims
2 parents 5b820a3 + 9baa50a commit 7e5f226

File tree

43 files changed

+733
-659
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+733
-659
lines changed

.github/workflows/api-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Check out code
14-
uses: actions/checkout@v3
14+
uses: actions/checkout@v4
1515
with:
1616
persist-credentials: false
1717
- name: Set up cargo

.github/workflows/release.yml

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Check out code
17-
uses: actions/checkout@v3
17+
uses: actions/checkout@v4
1818
- name: Set up docker buildx
1919
uses: docker/setup-buildx-action@v2
2020
- name: Build docker image
@@ -29,25 +29,46 @@ jobs:
2929
- name: Compile and package Volta
3030
run: docker run --volume ${PWD}:/root/workspace --workdir /root/workspace --rm --init --tty volta /root/workspace/ci/build-linux.sh volta-linux
3131
- name: Upload release artifact
32-
uses: actions/upload-artifact@v3
32+
uses: actions/upload-artifact@v4
3333
with:
3434
name: linux
3535
path: target/release/volta-linux.tar.gz
3636

37+
linux-arm:
38+
name: Build - Linux ARM
39+
runs-on: ubuntu-latest
40+
steps:
41+
- name: Check out code
42+
uses: actions/checkout@v4
43+
- name: Install cross-rs
44+
uses: taiki-e/install-action@v2
45+
with:
46+
tool: cross
47+
- name: Compile Volta
48+
run: cross build --release --target aarch64-unknown-linux-gnu
49+
- name: Package Volta
50+
run: |
51+
cd target/aarch64-unknown-linux-gnu/release && tar -zcvf "volta-linux-arm.tar.gz" volta volta-shim volta-migrate
52+
- name: Upload release artifact
53+
uses: actions/upload-artifact@v4
54+
with:
55+
name: linux-arm
56+
path: target/aarch64-unknown-linux-gnu/release/volta-linux-arm.tar.gz
57+
3758
macos:
3859
name: Build - MacOS
3960
runs-on: macos-latest
4061
steps:
4162
- name: Check out code
42-
uses: actions/checkout@v3
63+
uses: actions/checkout@v4
4364
- name: Set up cargo
4465
uses: actions-rust-lang/setup-rust-toolchain@v1
4566
with:
4667
target: aarch64-apple-darwin,x86_64-apple-darwin
4768
- name: Compile and package Volta
4869
run: ./ci/build-macos.sh volta-macos
4970
- name: Upload release artifact
50-
uses: actions/upload-artifact@v3
71+
uses: actions/upload-artifact@v4
5172
with:
5273
name: macos
5374
path: target/universal-apple-darwin/release/volta-macos.tar.gz
@@ -57,7 +78,7 @@ jobs:
5778
runs-on: windows-latest
5879
steps:
5980
- name: Check out code
60-
uses: actions/checkout@v3
81+
uses: actions/checkout@v4
6182
- name: Set up cargo
6283
uses: actions-rust-lang/setup-rust-toolchain@v1
6384
- name: Add cargo-wix subcommand
@@ -69,12 +90,12 @@ jobs:
6990
run: powershell Compress-Archive volta*.exe volta-windows.zip
7091
working-directory: ./target/release
7192
- name: Upload installer
72-
uses: actions/upload-artifact@v3
93+
uses: actions/upload-artifact@v4
7394
with:
7495
name: windows-installer
7596
path: target/wix/volta-windows.msi
7697
- name: Upload zip
77-
uses: actions/upload-artifact@v3
98+
uses: actions/upload-artifact@v4
7899
with:
79100
name: windows-zip
80101
path: target/release/volta-windows.zip
@@ -89,7 +110,7 @@ jobs:
89110
if: github.event_name == 'push'
90111
steps:
91112
- name: Check out code
92-
uses: actions/checkout@v3
113+
uses: actions/checkout@v4
93114
- name: Determine release version
94115
id: release_info
95116
env:
@@ -100,6 +121,11 @@ jobs:
100121
with:
101122
name: linux
102123
path: release
124+
- name: Fetch Linux ARM artifact
125+
uses: actions/download-artifact@v2
126+
with:
127+
name: linux-arm
128+
path: release
103129
- name: Fetch MacOS artifact
104130
uses: actions/download-artifact@v2
105131
with:
@@ -135,6 +161,15 @@ jobs:
135161
asset_path: ./release/volta-linux.tar.gz
136162
asset_name: volta-${{ steps.release_info.outputs.version }}-linux.tar.gz
137163
asset_content_type: application/gzip
164+
- name: Upload Linux ARM artifact
165+
uses: actions/upload-release-asset@v1
166+
env:
167+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
168+
with:
169+
upload_url: ${{ steps.create_release.outputs.upload_url }}
170+
asset_path: ./release/volta-linux-arm.tar.gz
171+
asset_name: volta-${{ steps.release_info.outputs.version }}-linux-arm.tar.gz
172+
asset_content_type: application/gzip
138173
- name: Upload MacOS artifact
139174
uses: actions/upload-release-asset@v1
140175
env:

.github/workflows/test.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
RUST_BACKTRACE: full
2323
steps:
2424
- name: Check out code
25-
uses: actions/checkout@v3
25+
uses: actions/checkout@v4
2626
- name: Set up cargo
2727
uses: actions-rust-lang/setup-rust-toolchain@v1
2828
- name: Run tests
@@ -41,7 +41,7 @@ jobs:
4141
RUST_BACKTRACE: full
4242
steps:
4343
- name: Check out code
44-
uses: actions/checkout@v3
44+
uses: actions/checkout@v4
4545
- name: Set up cargo
4646
uses: actions-rust-lang/setup-rust-toolchain@v1
4747
- name: Run tests
@@ -55,7 +55,7 @@ jobs:
5555
- name: Setup BATS
5656
run: sudo npm install -g bats
5757
- name: Check out code
58-
uses: actions/checkout@v3
58+
uses: actions/checkout@v4
5959
- name: Run tests
6060
run: bats dev/unix/tests/
6161

@@ -64,7 +64,7 @@ jobs:
6464
runs-on: ubuntu-latest
6565
steps:
6666
- name: Check out code
67-
uses: actions/checkout@v3
67+
uses: actions/checkout@v4
6868
- name: Set up cargo
6969
uses: actions-rust-lang/setup-rust-toolchain@v1
7070
- name: Run check

COMPATIBILITY.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Compatibility
2+
3+
Volta currently tests against the following platforms, and will treat it as a breaking change to drop support for them:
4+
5+
- macOS
6+
- x86-64
7+
- Apple Silicon
8+
- Linux x86-64
9+
- Windows x86-64
10+
11+
We compile release artifacts compatible with the following, and likewise will treat it as a breaking change to drop support for them:
12+
13+
- macOS v11
14+
- RHEL and CentOS v6
15+
- Windows 10
16+
17+
In general, Volta should build and run against any other modern hardware and operating system supported by stable Rust, and we will make a best effort not to break them. However, we do *not* include them in our SemVer guarantees or test against them.

0 commit comments

Comments
 (0)