-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add ci, release info and workspace
- Loading branch information
1 parent
511ba7d
commit 5c3a101
Showing
6 changed files
with
260 additions
and
9 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 |
---|---|---|
@@ -0,0 +1,20 @@ | ||
version: 2 | ||
updates: | ||
- package-ecosystem: "cargo" | ||
directory: "/" | ||
schedule: | ||
interval: "daily" | ||
time: "04:00" # UTC | ||
labels: | ||
- "dependencies" | ||
commit-message: | ||
prefix: "bump" | ||
open-pull-requests-limit: 10 | ||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "daily" | ||
labels: | ||
- "dependencies" | ||
commit-message: | ||
prefix: "chore(ci)" |
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,70 @@ | ||
name: Deploy Docs | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
RUSTFLAGS: "-D warnings" | ||
RUSTDOCFLAGS: --html-in-header header.html | ||
|
||
|
||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | ||
permissions: | ||
contents: read | ||
pages: write | ||
id-token: write | ||
|
||
# Allow one concurrent deployment | ||
concurrency: | ||
group: "pages" | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build-and-deploy: | ||
if: github.repository == 'prefix-dev/rattler_installs_packages' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
|
||
- name: Setup Pages | ||
uses: actions/configure-pages@v3 | ||
|
||
# This does the following: | ||
# - Replaces the docs icon with one that clearly denotes it's not the released package on crates.io | ||
# - Adds a meta tag that forces Google not to index any page on the site. | ||
- name: Pre-docs-build | ||
run: | | ||
echo "<meta name=\"robots\" content=\"noindex\">" > header.html | ||
- name: Build Documentation | ||
run: cargo doc --workspace --no-deps --all-features --lib | ||
|
||
# This adds the following: | ||
# - A top level redirect to the rattler_installs_packages crate documentation | ||
# - A robots.txt file to forbid any crawling of the site (to defer to the docs.rs site on search engines). | ||
# - A .nojekyll file to disable Jekyll GitHub Pages builds. | ||
- name: Finalize documentation | ||
run: | | ||
echo "<meta http-equiv=\"refresh\" content=\"0; url=rattler_installs_packages/index.html\">" > target/doc/index.html | ||
echo "User-Agent: *\nDisallow: /" > target/doc/robots.txt | ||
touch target/doc/.nojekyll | ||
# https://github.com/actions/upload-pages-artifact#file-permissions | ||
- run: chmod -c -R +rX target/doc/ | ||
|
||
- name: Upload artifact | ||
uses: actions/upload-pages-artifact@v2 | ||
with: | ||
path: 'target/doc' | ||
|
||
- name: Deploy to GitHub Pages | ||
id: deployment | ||
uses: actions/deploy-pages@v2 |
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,126 @@ | ||
on: | ||
push: | ||
branches: ["main"] | ||
pull_request: | ||
|
||
name: Rust | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
env: | ||
RUST_LOG: info | ||
RUST_BACKTRACE: 1 | ||
RUSTFLAGS: "-D warnings" | ||
CARGO_TERM_COLOR: always | ||
DEFAULT_FEATURES: | ||
|
||
jobs: | ||
check-rustdoc-links: | ||
name: Check intra-doc links | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
- run: | | ||
for package in $(cargo metadata --no-deps --format-version=1 | jq -r '.packages[] | .name'); do | ||
cargo rustdoc -p "$package" --all-features -- -D warnings -W unreachable-pub | ||
done | ||
format_and_lint: | ||
name: Format and Lint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
components: clippy, rustfmt | ||
- name: Run rustfmt | ||
uses: actions-rust-lang/rustfmt@v1 | ||
- name: Run clippy | ||
run: cargo clippy | ||
|
||
build: | ||
name: ${{ matrix.name }} | ||
runs-on: ${{ matrix.os }} | ||
needs: [ format_and_lint ] | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- { name: "Linux-x86_64", target: x86_64-unknown-linux-musl, os: ubuntu-latest } | ||
# - { name: "Linux-aarch64", target: aarch64-unknown-linux-musl, os: ubuntu-latest, skip-tests: true } | ||
# - { name: "Linux-arm", target: arm-unknown-linux-musleabi, os: ubuntu-latest, use-cross: true } | ||
|
||
# - { name: "Linux-mips", target: mips-unknown-linux-musl, os: ubuntu-latest, use-cross: true, skip-tests: true } | ||
# - { name: "Linux-mipsel", target: mipsel-unknown-linux-musl, os: ubuntu-latest, use-cross: true, skip-tests: true } | ||
# - { name: "Linux-mips64", target: mips64-unknown-linux-muslabi64, os: ubuntu-latest, use-cross: true, skip-tests: true } | ||
# - { name: "Linux-mips64el", target: mips64el-unknown-linux-muslabi64, os: ubuntu-latest, use-cross: true, skip-tests: true } | ||
|
||
# - { name: "Linux-powerpc", target: powerpc-unknown-linux-gnu, os: ubuntu-latest, use-cross: true, skip-tests: true } | ||
# - { name: "Linux-powerpc64", target: powerpc64-unknown-linux-gnu, os: ubuntu-latest, use-cross: true, skip-tests: true } | ||
# - { name: "Linux-powerpc64le", target: powerpc-unknown-linux-gnu, os: ubuntu-latest, use-cross: true, skip-tests: true } | ||
|
||
# - { name: "Linux-s390x", target: s390x-unknown-linux-gnu, os: ubuntu-latest, use-cross: true, skip-tests: true } | ||
|
||
- { name: "macOS-x86_64", target: x86_64-apple-darwin, os: macOS-latest } | ||
# - { name: "macOS-aarch64", target: aarch64-apple-darwin, os: macOS-latest, skip-tests: true } | ||
|
||
- { name: "Windows-x86_64", target: x86_64-pc-windows-msvc, os: windows-latest } | ||
# - { name: "Windows-aarch64", target: aarch64-pc-windows-msvc, os: windows-latest, skip-tests: true } | ||
steps: | ||
- name: Checkout source code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Rust toolchain | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
target: ${{ matrix.target }} | ||
components: rustfmt | ||
cache: false | ||
|
||
- uses: taiki-e/setup-cross-toolchain-action@v1 | ||
with: | ||
target: ${{ matrix.target }} | ||
|
||
- uses: Swatinem/rust-cache@v2 | ||
|
||
- name: Show version information (Rust, cargo, GCC) | ||
shell: bash | ||
run: | | ||
gcc --version || true | ||
rustup -V | ||
rustup toolchain list | ||
cargo -V | ||
rustc -V | ||
- name: Use rustls on musl targets. | ||
id: build-options | ||
if: contains(matrix.target, '-musl') | ||
run: | | ||
echo "CARGO_BUILD_OPTIONS=${CARGO_BUILD_OPTIONS} --no-default-features --features rustls-tls" >> $GITHUB_OUTPUT | ||
- name: Build | ||
run: > | ||
cargo build | ||
--all-targets | ||
--features ${{ env.DEFAULT_FEATURES }} | ||
${{ steps.build-options.outputs.CARGO_BUILD_OPTIONS}} | ||
- name: Disable testing the tools crate if cross compiling | ||
id: test-options | ||
if: ${{ !matrix.skip-tests }} | ||
run: | | ||
echo "CARGO_TEST_OPTIONS=${CARGO_TEST_OPTIONS} --exclude tools" >> $GITHUB_OUTPUT | ||
- name: Run tests | ||
if: ${{ !matrix.skip-tests }} | ||
run: > | ||
cargo test | ||
--workspace | ||
--features ${{ env.DEFAULT_FEATURES }} | ||
${{ steps.build-options.outputs.CARGO_BUILD_OPTIONS}} | ||
${{ steps.test-options.outputs.CARGO_TEST_OPTIONS}} | ||
-- | ||
--nocapture |
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 |
---|---|---|
@@ -1,3 +1,24 @@ | ||
[workspace] | ||
resolver = "2" | ||
members = ["crates/*"] | ||
|
||
[profile.dev.package.insta] | ||
opt-level = 3 | ||
|
||
[profile.dev.package.similar] | ||
opt-level = 3 | ||
|
||
[workspace.package] | ||
version = "0.1.0" | ||
categories = ["conda"] | ||
homepage = "https://github.com/mamba-org/rattler" | ||
repository = "https://github.com/mamba-org/rattler" | ||
license = "BSD-3-Clause" | ||
edition = "2021" | ||
readme = "README.md" | ||
rust-version = "1.70" | ||
|
||
[workspace.metadata.release] | ||
allow-branch = ["main"] | ||
consolidate-commits = true | ||
tag-prefix = "" |
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 |
---|---|---|
@@ -1,10 +1,15 @@ | ||
[package] | ||
name = "rattler_installs_packages" | ||
version = "0.1.0" | ||
edition = "2021" | ||
rust-version = "1.70" | ||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
version.workspace = true | ||
edition.workspace = true | ||
authors = ["Bas Zalmstra <[email protected]>"] | ||
description = "Datastructures and algorithms to interact with Python packaging ecosystem" | ||
categories.workspace = true | ||
homepage.workspace = true | ||
repository.workspace = true | ||
license.workspace = true | ||
readme.workspace = true | ||
rust-version.workspace = true | ||
|
||
[dependencies] | ||
async-trait = "0.1.71" | ||
|
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 |
---|---|---|
@@ -1,16 +1,21 @@ | ||
[package] | ||
name = "rip" | ||
version = "0.1.0" | ||
edition = "2021" | ||
version.workspace = true | ||
edition.workspace = true | ||
authors = ["Bas Zalmstra <[email protected]>"] | ||
description = "Binary to verify and play around with rattler_installs_packages" | ||
categories.workspace = true | ||
homepage.workspace = true | ||
repository.workspace = true | ||
license.workspace = true | ||
readme.workspace = true | ||
default-run = "rip" | ||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
|
||
[[bin]] | ||
name = "index" | ||
|
||
|
||
|
||
[dependencies] | ||
clap = { version = "4.3.23", features = ["derive"] } | ||
console = { version = "0.15.7", features = ["windows-console-colors"] } | ||
|
@@ -32,3 +37,7 @@ serde = "1.0.188" | |
serde_with = "3.0.0" | ||
serde_json = "1.0.107" | ||
rusqlite = { version = "0.29.0", features = ["bundled"] } | ||
|
||
[package.metadata.release] | ||
# Dont publish the binary | ||
release = false |