Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
9b97fa2
Add is_empty method and tests for OsmData
devops2626 Jul 11, 2026
1ad0716
Merge branch 'main' into main
devops2626 Jul 11, 2026
0b1dfaa
Refactor ignored tags and prefixes to use HashSet
devops2626 Jul 11, 2026
694c950
Merge pull request #1 from devops2626/devops2626-patch-1
devops2626 Jul 11, 2026
fc21ef5
Merge branch 'main' into main
devops2626 Jul 11, 2026
328f0ac
Create build.yml
devops2626 Jul 11, 2026
2a61421
Merge branch 'main' into devops2626-patch-2
devops2626 Jul 11, 2026
4e04886
Add .dockerignore for cleaner builds
devops2626 Jul 12, 2026
ffc1a66
Add VS Code Dev Container configuration
devops2626 Jul 12, 2026
80c0ac4
Add comprehensive CONTRIBUTING.md guide for contributors
devops2626 Jul 12, 2026
3096572
Add GitHub Actions CI/CD workflow for testing and building
devops2626 Jul 12, 2026
5004dd7
Add comprehensive project documentation and templates
devops2626 Jul 12, 2026
692ff9c
Add Dockerfile for multi-stage build
devops2626 Jul 12, 2026
8d381ab
fix: clean land_cover imports + module conflict
devops2626 Jul 12, 2026
d74fefd
Merge branch 'louis-e:main' into main
devops2626 Jul 12, 2026
a8b8e43
Merge branch 'louis-e:main' into main
devops2626 Jul 21, 2026
1c589c0
Merge branch 'louis-e:main' into devops2626-patch-2
devops2626 Jul 21, 2026
6ccd7ca
Update dependabot.yml
devops2626 Jul 21, 2026
06230ba
Merge pull request #3 from devops2626/devops2626-patch-3
devops2626 Jul 21, 2026
aff7399
chore(deps): bump zip from 0.6.6 to 8.6.0
dependabot[bot] Jul 21, 2026
92b16f0
chore(deps): bump rusqlite from 0.40.0 to 0.40.1
dependabot[bot] Jul 21, 2026
d24a8d5
chore(deps): bump clap from 4.6.1 to 4.6.3
dependabot[bot] Jul 21, 2026
c2ad024
chore(deps): bump sysinfo from 0.33.1 to 0.39.6
dependabot[bot] Jul 21, 2026
7e62ca2
chore(deps): bump serde from 1.0.228 to 1.0.229
dependabot[bot] Jul 21, 2026
9562839
chore(deps): bump actions/checkout from 4 to 7
dependabot[bot] Jul 21, 2026
292976d
chore(deps): bump actions/cache from 3 to 6
dependabot[bot] Jul 21, 2026
bd549d9
Merge pull request #4 from devops2626/dependabot/cargo/zip-8.6.0
devops2626 Jul 22, 2026
682c442
Merge pull request #5 from devops2626/dependabot/cargo/rusqlite-0.40.1
devops2626 Jul 22, 2026
a00bca8
Merge pull request #6 from devops2626/dependabot/cargo/clap-4.6.3
devops2626 Jul 22, 2026
3d5fb94
Merge pull request #7 from devops2626/dependabot/cargo/sysinfo-0.39.6
devops2626 Jul 22, 2026
6b67ca4
Merge pull request #8 from devops2626/dependabot/cargo/serde-1.0.229
devops2626 Jul 22, 2026
593c0ee
chore(deps): bump serde_with from 3.20.0 to 3.21.0
dependabot[bot] Jul 22, 2026
d73597b
Merge pull request #9 from devops2626/dependabot/github_actions/actio…
devops2626 Jul 22, 2026
1099f61
Merge pull request #10 from devops2626/dependabot/github_actions/acti…
devops2626 Jul 22, 2026
ebf77fb
Merge pull request #11 from devops2626/dependabot/cargo/serde_with-3.…
devops2626 Jul 22, 2026
cb303d5
Merge pull request #2 from devops2626/devops2626-patch-2
devops2626 Jul 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "Arnis - Rust Development",
"image": "rust:latest",
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {}
},
"customizations": {
"vscode": {
"extensions": [
"rust-lang.rust-analyzer",
"vadimcn.vscode-lldb",
"tamasfe.even-better-toml",
"serayuzgur.crates"
],
"settings": {
"rust-analyzer.checkOnSave.command": "clippy",
"[rust]": {
"editor.formatOnSave": true
}
}
}
},
"postCreateCommand": "apt-get update && apt-get install -y build-essential libssl-dev pkg-config libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev && cargo fetch",
"remoteUser": "root"
}
8 changes: 8 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
target/
.git/
.gitignore
README.md
.vscode/
.devcontainer/
*.md
.github/
85 changes: 85 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Bug Report
description: Report a bug to help us improve Arnis
title: "[BUG] "
labels: ["bug", "triage"]
assignees: []

body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug! 🐛
Please fill out this form as completely as possible.

- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the bug is
placeholder: "When I do X, Y happens instead of Z..."
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior
placeholder: |
1. Set bounding box to...
2. Click on...
3. Select...
4. See error...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What should have happened?
placeholder: "The world should generate successfully..."
validations:
required: true

- type: textarea
id: logs
attributes:
label: Error Logs / Screenshots
description: Paste error messages, logs, or attach screenshots
placeholder: |
```
error output here
```

- type: dropdown
id: os
attributes:
label: Operating System
options:
- Windows
- macOS
- Linux (Ubuntu)
- Linux (Alpine)
- Linux (Other)
- Docker
validations:
required: true

- type: input
id: rust-version
attributes:
label: Rust Version
description: Output of `rustc --version`
placeholder: "rustc 1.81.0"
validations:
required: false

- type: textarea
id: context
attributes:
label: Additional Context
description: Any other context about the problem?
placeholder: "I was trying to generate a map of..."
validations:
required: false
59 changes: 59 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Feature Request
description: Suggest an idea for Arnis
title: "[FEATURE] "
labels: ["enhancement", "triage"]
assignees: []

body:
- type: markdown
attributes:
value: |
Thanks for suggesting a feature! 🚀
Help us understand your idea by filling out this form.

- type: textarea
id: problem
attributes:
label: Problem / Use Case
description: Describe the problem this feature would solve
placeholder: "I want to be able to... because..."
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed Solution
description: How should this feature work?
placeholder: "The feature should work by..."
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternative Solutions
description: Any other approaches you've considered?
placeholder: "Another way could be..."
validations:
required: false

- type: textarea
id: context
attributes:
label: Additional Context
description: Any other information?
placeholder: "I saw this feature in..."
validations:
required: false

- type: checkboxes
id: priority
attributes:
label: Priority
options:
- label: "High - Blocks me from using Arnis"
- label: "Medium - Would improve my workflow"
- label: "Low - Nice to have"
validations:
required: true
49 changes: 49 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
## Description

Please include a summary of the changes and why they're needed.

Fixes # (issue number)

## Type of Change

- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that causes existing functionality to change)
- [ ] Documentation update

## Testing

Please describe the testing you've done:

- [ ] Unit tests added/updated
- [ ] Manual testing completed
- [ ] Tested on multiple platforms (if applicable)

**Test Environment:**
- OS:
- Rust Version:
- Build Method (Docker/Local/Dev Container):

**Steps to Test:**
1.
2.
3.

## Checklist

- [ ] I have read the [CONTRIBUTING.md](../CONTRIBUTING.md) guidelines
- [ ] My code follows the Rust style guide (`cargo fmt`)
- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in complex areas
- [ ] I have updated relevant documentation
- [ ] My changes generate no new compiler warnings or Clippy lints
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes

## Screenshots (if applicable)

Add screenshots for UI changes:

Before:

After:
43 changes: 43 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Build Arnis

on:
push:
branches:
- "**"
pull_request:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Cache Cargo
uses: Swatinem/rust-cache@v2

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libgtk-3-dev \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf \
build-essential \
pkg-config

- name: Build
run: cargo build --release

- name: Upload binary
uses: actions/upload-artifact@v4
with:
name: arnis-linux
path: target/release/
85 changes: 85 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Tests

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
rust: [stable, nightly]

steps:
- uses: actions/checkout@v7

- name: Install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}

- name: Cache cargo registry
uses: actions/cache@v6
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v6
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo build
uses: actions/cache@v6
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}

- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libssl-dev pkg-config libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev

- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: brew install webkit2gtk

- name: Run tests
run: cargo test --verbose

- name: Run clippy
run: cargo clippy -- -D warnings

- name: Check formatting
run: cargo fmt -- --check

build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]

steps:
- uses: actions/checkout@v7

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libssl-dev pkg-config libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev

- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: brew install webkit2gtk

- name: Build
run: cargo build --release --verbose
Loading
Loading