Skip to content
This repository was archived by the owner on Oct 1, 2025. It is now read-only.

Commit 656b8f1

Browse files
committed
init: initial commit
0 parents  commit 656b8f1

File tree

22 files changed

+1464
-0
lines changed

22 files changed

+1464
-0
lines changed

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "monthly"
7+
- package-ecosystem: "cargo"
8+
directory: "/"
9+
schedule:
10+
interval: "monthly"

.github/workflows/push.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Build/Test oxidizr
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
branches: ["main"]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
test:
15+
name: Build/Test oxidizr
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Check out code
19+
uses: actions/checkout@v4
20+
with:
21+
fetch-depth: 0
22+
23+
- name: Setup Rust
24+
run: |
25+
sudo apt-get update
26+
sudo apt-get install -y build-essential
27+
sudo snap install --classic rustup
28+
rustup default stable
29+
30+
- name: Build oxidizr
31+
run: |
32+
cargo build
33+
34+
- name: Run tests
35+
run: |
36+
cargo test -- --show-output
37+
38+
snap:
39+
name: Build snap
40+
strategy:
41+
matrix:
42+
include:
43+
- os: ubuntu-24.04
44+
- os: ubuntu-24.04-arm
45+
runs-on: ${{ matrix.os }}
46+
steps:
47+
- name: Check out the code
48+
uses: actions/checkout@v4
49+
with:
50+
fetch-depth: 0
51+
52+
- name: Setup LXD
53+
uses: canonical/[email protected]
54+
55+
- name: Setup Snapcraft
56+
run: sudo snap install --classic snapcraft
57+
58+
- name: Build snap
59+
run: snapcraft --verbose

.github/workflows/release.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags: ["v*"]
6+
7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.ref }}
9+
cancel-in-progress: true
10+
11+
jobs:
12+
test:
13+
name: Build/Test oxidizr
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Check out code
17+
uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
20+
21+
- name: Setup Rust
22+
run: |
23+
sudo apt-get update
24+
sudo apt-get install -y build-essential
25+
sudo snap install --classic rustup
26+
rustup default stable
27+
28+
- name: Build oxidizr
29+
run: |
30+
cargo build
31+
32+
- name: Run tests
33+
run: |
34+
cargo test -- --show-output
35+
36+
snap:
37+
name: Release snap
38+
strategy:
39+
matrix:
40+
include:
41+
- os: ubuntu-24.04
42+
- os: ubuntu-24.04-arm
43+
runs-on: ${{ matrix.os }}
44+
steps:
45+
- name: Check out the code
46+
uses: actions/checkout@v4
47+
with:
48+
fetch-depth: 0
49+
50+
- name: Check versions match
51+
run: |
52+
version="$(grep -m1 -Po "version = \"\K[^\"]+" Cargo.toml)"
53+
if [[ "v${version}" != "${GITHUB_REF#refs/*/}" ]]; then
54+
echo "Cargo package version and tag do not match; refusing to continue."
55+
exit 1
56+
fi
57+
58+
- name: Setup LXD
59+
uses: canonical/[email protected]
60+
61+
- name: Setup Snapcraft
62+
run: sudo snap install --classic snapcraft
63+
64+
- name: Build snap
65+
run: snapcraft --verbose
66+
67+
- name: Release snap
68+
env:
69+
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.STORE_SECRET }}
70+
run: |
71+
snapcraft upload oxidizr_*.snap --release latest/candidate

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
result*
2+
/target
3+
*.snap
4+
snapcraft*.txt
5+
test-up.sh
6+
.spread-reuse*

0 commit comments

Comments
 (0)