Skip to content

Commit

Permalink
feat: vault init command
Browse files Browse the repository at this point in the history
  • Loading branch information
bbortt committed Jul 2, 2024
1 parent 5e3321e commit 77c8902
Show file tree
Hide file tree
Showing 34 changed files with 9,763 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
img/* filter=lfs diff=lfs merge=lfs -text
14 changes: 14 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
22 changes: 22 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
bug:
- head-branch: ['^fix', '^bugfix', 'fix']

ci/cd:
- changed-files:
- any-glob-to-any-file:
- '.github/**/*'
- '*.js'

dependencies:
- changed-files:
- any-glob-to-any-file:
- 'Cargo.*'
- 'package*.json'

documentation:
- changed-files:
- any-glob-to-any-file:
- '*.md'

feature:
- head-branch: ['^feat', 'feature']
107 changes: 107 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: CLI Pipeline

on:
push:
branches-ignore:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
HUSKY: 0
RUST_TOOLCHAIN: stable
TOOLCHAIN_PROFILE: minimal

jobs:
build:
name: 'Rust Build'
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: ${{ env.TOOLCHAIN_PROFILE }}
toolchain: ${{ env.RUST_TOOLCHAIN }}
override: true
components: rustfmt, clippy
- name: Use Cache
uses: Swatinem/rust-cache@v1
- name: cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
# args: -- -D warnings
- name: Unit- and Integration-Tests
uses: actions-rs/cargo@v1
env:
RUST_TEST_THREADS: 1
with:
command: test
- name: Build Binary
uses: actions-rs/cargo@v1
with:
command: build
args: --release --verbose
- name: Archive Artifacts
uses: actions/upload-artifact@v4
with:
name: cli
path: target/release/propeller
test:
name: 'Integration Test CLI'
needs: build
runs-on: ubuntu-latest
services:
vault:
image: hashicorp/vault:1.17.1
ports:
- 8200:8200
options: --cap-add=IPC_LOCK
env:
VAULT_DEV_ROOT_TOKEN_ID: 'root-token'
steps:
- name: Check out code
uses: actions/checkout@v4
with:
name: cli
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.15.0
cache: 'npm'
- name: Install node.js packages
run: npm ci
- name: Wait for Vault
run: npm run ci:wait-for-vault
- name: Download Binary
uses: actions/download-artifact@v4
- name: Run integration tests
run: |
chmod 755 ./cli/propeller
./cli/propeller init-vault -c dev/config.yml
env:
VAULT_TOKEN: 'root-token'
check:
name: 'Resources Validation'
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.15.0
cache: 'npm'
- name: Install node.js packages
run: npm ci
- name: Check Format of Resources
run: npm run prettier:format
41 changes: 41 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: PR Validation

on:
pull_request:
types: [opened, synchronize, reopened, edited]
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
HUSKY: 0

jobs:
labeler:
name: 'Pull-Request Labels'
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
commitlint:
name: 'Commit Verification'
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.15.0
cache: 'npm'
- name: Install node.js packages
run: npm ci
- name: Validate Commit Messages
run: npx --no-install commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose
51 changes: 51 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Release Pipeline

on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

env:
HUSKY: 0
RUST_TOOLCHAIN: stable
TOOLCHAIN_PROFILE: minimal

jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.15.0
cache: 'npm'
- name: Install node.js packages
run: npm ci
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: ${{ env.TOOLCHAIN_PROFILE }}
toolchain: ${{ env.RUST_TOOLCHAIN }}
override: true
components: rustfmt, clippy
- name: Use Cache
uses: Swatinem/rust-cache@v1
- name: Install cargo-bump
uses: actions-rs/cargo@v1
with:
command: install
args: cargo-bump
- name: Semantic Release
run: npx semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading

0 comments on commit 77c8902

Please sign in to comment.