-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e081f61
commit 8bbad60
Showing
270 changed files
with
34,433 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -60,3 +60,4 @@ | |
- 2024-08-04 build. | ||
- 2024-08-11 build. | ||
- 2024-08-18 build. | ||
- 2024-08-25 build. |
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[target.x86_64-pc-windows-msvc] | ||
rustflags = ["-C", "target-feature=+crt-static"] | ||
[target.aarch64-pc-windows-msvc] | ||
rustflags = ["-C", "target-feature=+crt-static"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
version: 2 | ||
updates: | ||
- package-ecosystem: "cargo" | ||
open-pull-requests-limit: 5 | ||
schedule: | ||
interval: "daily" | ||
directories: | ||
- "/" | ||
- "/crates/*" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
name: API Docs | ||
|
||
jobs: | ||
publish: | ||
name: Build and publish | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
with: | ||
persist-credentials: false | ||
- name: Set up cargo | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
- name: Cargo Cache | ||
uses: Swatinem/rust-cache@v2 | ||
- name: Build docs | ||
run: | | ||
cargo doc --all --features cross-platform-docs --no-deps --document-private-items | ||
- name: Prepare docs for publication | ||
run: | | ||
mkdir -p publish | ||
mv target/doc publish/main | ||
echo '<!doctype html><a href="volta">volta</a>' > publish/main/index.html | ||
echo '<!doctype html><a href="main">main</a>' > publish/index.html | ||
- name: Publish docs to GitHub pages | ||
uses: JamesIves/github-pages-deploy-action@releases/v3 | ||
with: | ||
COMMIT_MESSAGE: Publishing GitHub Pages | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
BRANCH: gh-pages | ||
FOLDER: publish | ||
SINGLE_COMMIT: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,267 @@ | ||
on: | ||
push: | ||
tags: | ||
- v* | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
name: Production | ||
|
||
jobs: | ||
linux: | ||
name: Build - Linux | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Set up docker buildx | ||
uses: docker/setup-buildx-action@v2 | ||
- name: Build docker image | ||
uses: docker/build-push-action@v3 | ||
with: | ||
cache-from: type=gha | ||
cache-to: type=gha,mode=max | ||
context: ./ci/docker | ||
push: false | ||
load: true | ||
tags: volta | ||
- name: Compile and package Volta | ||
run: docker run --volume ${PWD}:/root/workspace --workdir /root/workspace --rm --init --tty volta /root/workspace/ci/build-linux.sh volta-linux | ||
- name: Upload release artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: linux | ||
path: target/release/volta-linux.tar.gz | ||
|
||
linux-arm: | ||
name: Build - Linux ARM | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Install cross-rs | ||
uses: taiki-e/install-action@v2 | ||
with: | ||
tool: cross | ||
- name: Compile Volta | ||
run: cross build --release --target aarch64-unknown-linux-gnu | ||
- name: Package Volta | ||
run: | | ||
cd target/aarch64-unknown-linux-gnu/release && tar -zcvf "volta-linux-arm.tar.gz" volta volta-shim volta-migrate | ||
- name: Upload release artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: linux-arm | ||
path: target/aarch64-unknown-linux-gnu/release/volta-linux-arm.tar.gz | ||
|
||
macos: | ||
name: Build - MacOS | ||
runs-on: macos-latest | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Set up cargo | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
target: aarch64-apple-darwin,x86_64-apple-darwin | ||
- name: Compile and package Volta | ||
run: ./ci/build-macos.sh volta-macos | ||
- name: Upload release artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: macos | ||
path: target/universal-apple-darwin/release/volta-macos.tar.gz | ||
|
||
windows: | ||
name: Build - Windows | ||
runs-on: windows-latest | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Set up cargo | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
- name: Add cargo-wix subcommand | ||
run: cargo install cargo-wix | ||
- name: Compile and package installer | ||
run: | | ||
cargo wix --nocapture --package volta --output target\wix\volta-windows.msi | ||
- name: Create zip of binaries | ||
run: powershell Compress-Archive volta*.exe volta-windows.zip | ||
working-directory: ./target/release | ||
- name: Upload installer | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: windows-installer | ||
path: target/wix/volta-windows.msi | ||
- name: Upload zip | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: windows-zip | ||
path: target/release/volta-windows.zip | ||
|
||
windows-arm: | ||
name: Build - Windows ARM | ||
runs-on: windows-latest | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Set up cargo | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
target: aarch64-pc-windows-msvc | ||
- name: Add cargo-wix subcommand | ||
run: cargo install cargo-wix | ||
- name: Compile and package installer | ||
run: | | ||
cargo wix --nocapture --package volta --target aarch64-pc-windows-msvc --output target\wix\volta-windows-arm.msi | ||
- name: Create zip of binaries | ||
run: powershell Compress-Archive volta*.exe volta-windows-arm.zip | ||
working-directory: ./target/aarch64-pc-windows-msvc/release | ||
- name: Upload installer | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: windows-installer-arm | ||
path: target/wix/volta-windows-arm.msi | ||
- name: Upload zip | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: windows-zip-arm | ||
path: target/aarch64-pc-windows-msvc/release/volta-windows-arm.zip | ||
|
||
release: | ||
name: Publish release | ||
runs-on: ubuntu-latest | ||
needs: | ||
- linux | ||
- linux-arm | ||
- macos | ||
- windows | ||
- windows-arm | ||
if: github.event_name == 'push' | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Determine release version | ||
id: release_info | ||
env: | ||
TAG: ${{ github.ref }} | ||
run: echo "version=${TAG:11}" >> $GITHUB_OUTPUT | ||
- name: Fetch Linux artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: linux | ||
path: release | ||
- name: Fetch Linux ARM artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: linux-arm | ||
path: release | ||
- name: Fetch MacOS artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: macos | ||
path: release | ||
- name: Fetch Windows installer | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: windows-installer | ||
path: release | ||
- name: Fetch Windows zip | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: windows-zip | ||
path: release | ||
- name: Fetch Windows ARM installer | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: windows-installer-arm | ||
path: release | ||
- name: Fetch Windows ARM zip | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: windows-zip-arm | ||
path: release | ||
- name: Show release artifacts | ||
run: ls -la release | ||
- name: Create draft release | ||
id: create_release | ||
uses: actions/create-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: ${{ github.ref }} | ||
release_name: ${{ github.ref }} | ||
draft: true | ||
- name: Upload Linux artifact | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./release/volta-linux.tar.gz | ||
asset_name: volta-${{ steps.release_info.outputs.version }}-linux.tar.gz | ||
asset_content_type: application/gzip | ||
- name: Upload Linux ARM artifact | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./release/volta-linux-arm.tar.gz | ||
asset_name: volta-${{ steps.release_info.outputs.version }}-linux-arm.tar.gz | ||
asset_content_type: application/gzip | ||
- name: Upload MacOS artifact | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./release/volta-macos.tar.gz | ||
asset_name: volta-${{ steps.release_info.outputs.version }}-macos.tar.gz | ||
asset_content_type: application/gzip | ||
- name: Upload Windows installer | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./release/volta-windows.msi | ||
asset_name: volta-${{ steps.release_info.outputs.version }}-windows-x86_64.msi | ||
asset_content_type: application/x-msi | ||
- name: Upload Windows zip | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./release/volta-windows.zip | ||
asset_name: volta-${{ steps.release_info.outputs.version }}-windows.zip | ||
asset_content_type: application/zip | ||
- name: Upload Windows ARM installer | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./release/volta-windows-arm.msi | ||
asset_name: volta-${{ steps.release_info.outputs.version }}-windows-arm64.msi | ||
asset_content_type: application/x-msi | ||
- name: Upload Windows ARM zip | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./release/volta-windows-arm.zip | ||
asset_name: volta-${{ steps.release_info.outputs.version }}-windows-arm64.zip | ||
asset_content_type: application/zip | ||
- name: Upload manifest file | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ./ci/volta.manifest | ||
asset_name: volta.manifest | ||
asset_content_type: text/plain |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
name: Test | ||
|
||
jobs: | ||
tests: | ||
strategy: | ||
matrix: | ||
os: | ||
- ubuntu | ||
- macos | ||
- windows | ||
name: Acceptance Tests (${{ matrix.os }}) | ||
runs-on: ${{ matrix.os }}-latest | ||
env: | ||
RUST_BACKTRACE: full | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Set up cargo | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
- name: Run tests | ||
run: | | ||
cargo test --all --features mock-network | ||
- name: Lint with clippy | ||
run: cargo clippy | ||
- name: Lint tests with clippy | ||
run: | | ||
cargo clippy --tests --features mock-network | ||
smoke-tests: | ||
name: Smoke Tests | ||
runs-on: macos-latest | ||
env: | ||
RUST_BACKTRACE: full | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Set up cargo | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
- name: Run tests | ||
run: | | ||
cargo test --test smoke --features smoke-tests -- --test-threads 1 | ||
shell-tests: | ||
name: Shell Script Tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Setup BATS | ||
run: sudo npm install -g bats | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Run tests | ||
run: bats dev/unix/tests/ | ||
|
||
check-formatting: | ||
name: Check code formatting | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Set up cargo | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
- name: Run check | ||
run: | | ||
cargo fmt --all --quiet -- --check |
Oops, something went wrong.