Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
5ab78bb
fix(gui): label CLI mode and stop legacy CLI runs
Apr 28, 2026
236a2ab
chore: remove legacy release pipeline
Apr 28, 2026
1d179d0
feat(gui): add global CLI panel
Apr 28, 2026
11efc16
feat(gui): add CLI history and saved commands
Apr 28, 2026
422aafc
feat(gui): add light/dark themes
Apr 28, 2026
eb3d6e4
Refine auth flow and container workflow
May 18, 2026
4a0227d
Add macOS launch command to Pages install guide
May 18, 2026
3be8979
Fix macOS authorize command in Pages install guide
May 18, 2026
3e572f1
Update README demo images
May 18, 2026
6de1509
docs: update visitor count
github-actions[bot] May 18, 2026
1af7108
Add dual-environment deployment strategy (main prod, test staging)
May 18, 2026
7076740
Merge branch 'fix/gui-cli-mode' of https://github.com/Cloud2BR/devops…
May 18, 2026
465942e
Fix hdiutil convert command syntax in DMG repacking steps
May 18, 2026
982c1be
Merge pull request #27 from Cloud2BR/fix/gui-cli-mode
brown9804 May 18, 2026
555d50e
Add GitHub Pages deployment strategy with environment table to README
May 18, 2026
0123c37
Merge branch 'test' of https://github.com/Cloud2BR/devopster-cli into…
May 18, 2026
3f5a3d3
Add GitHub Pages deployment strategy with environment table to README
May 18, 2026
8afc9e7
Fix failing pipelines: UDRW DMG convert and Pages test deploy gate
May 18, 2026
f4336b3
Fix failing pipelines: UDRW DMG convert and Pages test deploy gate
May 18, 2026
dd81adf
Fix macOS DMG repack temp path to prevent hdiutil file-exists failure
May 18, 2026
f95101e
Fix macOS DMG repack temp path to prevent hdiutil file-exists failure
May 18, 2026
338e96c
Optimize CI/CD performance: fast PR release path, filtered triggers, …
May 18, 2026
dc52317
Complete pipeline performance overhaul: release trigger tightening, u…
May 18, 2026
c2f8add
Merge pull request #29 from Cloud2BR/fix/gui-cli-mode
brown9804 May 18, 2026
304f4a5
Merge perf/pipeline-optimization into test
May 18, 2026
4d87963
Fix Unified Release matrix evaluation for PR fast-path
May 18, 2026
3ef2b5f
Merge perf/pipeline-optimization into test (matrix fix)
May 18, 2026
dec12a9
Fix clippy lint in stats branch distribution sort
May 18, 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
46 changes: 0 additions & 46 deletions .devcontainer/Dockerfile

This file was deleted.

5 changes: 3 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
{
"name": "devopster-cli",
"build": {
"dockerfile": "Dockerfile",
"dockerfile": "../Dockerfile",
"target": "devcontainer",
"context": ".."
},
"remoteUser": "vscode",
"remoteUser": "root",
"postCreateCommand": "bash .devcontainer/post-create.sh",
"customizations": {
"vscode": {
Expand Down
59 changes: 53 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,65 @@ on:
push:
branches:
- main
- test
paths:
- "Cargo.toml"
- "Cargo.lock"
- "src/**"
- "src-tauri/**"
- "frontend/**"
- "Dockerfile"
- ".github/workflows/ci.yml"
pull_request:
paths:
- "Cargo.toml"
- "Cargo.lock"
- "src/**"
- "src-tauri/**"
- "frontend/**"
- "Dockerfile"
- ".github/workflows/ci.yml"

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

jobs:
test:
quick-rust-check:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
- name: Build
run: cargo build --locked
- name: Test
run: cargo test --locked
- name: Lint
run: cargo clippy --all-targets --all-features -- -D warnings

container-preflight:
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build container image
run: docker build -t devopster-cli-ci .
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build shared devcontainer image
run: |
docker buildx build \
--target devcontainer \
--tag devopster-cli-devcontainer \
--cache-from type=gha,scope=devcontainer \
--cache-to type=gha,mode=max,scope=devcontainer \
--load \
.
- name: Run build in container
run: docker run --rm devopster-cli-ci cargo build --locked
run: docker run --rm -w /workspaces/devopster-cli devopster-cli-devcontainer cargo build --locked
- name: Run tests in container
run: docker run --rm devopster-cli-ci cargo test --locked
run: docker run --rm -w /workspaces/devopster-cli devopster-cli-devcontainer cargo test --locked
- name: Run lint in container
run: docker run --rm devopster-cli-ci cargo clippy --all-targets --all-features -- -D warnings
run: docker run --rm -w /workspaces/devopster-cli devopster-cli-devcontainer cargo clippy --all-targets --all-features -- -D warnings
22 changes: 15 additions & 7 deletions .github/workflows/deploy-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ on:
push:
branches:
- main
- test
paths:
- "docs/**"
- "assets/**"
- ".github/workflows/deploy-pages.yml"
workflow_dispatch:

permissions:
Expand All @@ -12,15 +17,12 @@ permissions:
id-token: write

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

jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -42,6 +44,14 @@ jobs:
cp -R docs/. _site/
cp -R assets/. _site/assets/

- name: Deploy to test subdirectory if on test branch
if: github.ref == 'refs/heads/test'
run: |
mkdir -p _site_prod/test
mv _site/* _site_prod/test/ || true
rm -rf _site
mv _site_prod _site

- name: Snapshot latest release assets for site
env:
GITHUB_TOKEN: ${{ github.token }}
Expand All @@ -56,10 +66,8 @@ jobs:
| jq 'def valid: map(select((.draft | not) and (.assets | length > 0)));
def stable: map(select(.prerelease | not));
def stable_unified: stable | map(select((.tag_name // "") | test("^v")));
def stable_legacy_desktop: stable | map(select((.tag_name // "") | test("^desktop-v")));
def prerelease_unified: valid | map(select(.prerelease and ((.tag_name // "") | test("^v"))));
def prerelease_legacy_desktop: valid | map(select(.prerelease and ((.tag_name // "") | test("^desktop-v"))));
(stable_unified | .[0]) // (stable_legacy_desktop | .[0]) // (stable | .[0]) // (prerelease_unified | .[0]) // (prerelease_legacy_desktop | .[0]) // (valid | .[0]) // {}' \
(stable_unified | .[0]) // (stable | .[0]) // (prerelease_unified | .[0]) // (valid | .[0]) // {}' \
> _site/assets/releases/latest.json

- name: Upload Pages artifact
Expand Down
Loading
Loading