Commit d27703f
committed
feat: Comprehensive GitHub Actions workflow optimization
BREAKING CHANGES: None - Backward compatible improvements
This commit modernizes and optimizes all GitHub Actions workflows with
significant performance improvements and enhanced security capabilities.
Dependency Updates:
- rustsec/audit-check: v1.4.1 → v2.0.0 (breaking changes handled)
- codecov/codecov-action: v3 → v5 (OIDC integration added)
- actions/upload-artifact: v3 → v4 (all workflows)
- actions/download-artifact: v3 → v4 (release workflow)
- Removed deprecated actions/create-release and actions/upload-release-asset
CI Workflow Enhancements:
- Added Swatinem/rust-cache@v2 for 50%+ faster builds
- Implemented cargo-nextest for faster test execution
- Added manual workflow_dispatch with rust version selection
- Optimized build matrix (removed redundant beta builds)
- Enhanced caching strategy with job-specific keys
- Separated doctests for better coverage reporting
- Added concurrency controls to prevent duplicate runs
Release Workflow Improvements:
- Complete rewrite using GitHub CLI for reliability
- Smart release detection (won't overwrite existing releases)
- Added Linux ARM64 (aarch64) build target
- Artifact compression (tar.gz for Unix, zip for Windows)
- SHA256 checksums for all release artifacts
- Manual release trigger with tag selection
- Preserves existing release notes when updating
- Better error handling and artifact upload resilience
New Security Audit Workflow:
- Daily automated security scans
- Dependency review for supply chain security
- Automatic issue creation for vulnerabilities
- PR comment integration for audit results
- Manual trigger with custom ignore lists
- Comprehensive JSON reporting
- License compliance checking
Performance Optimizations:
- Enhanced Rust toolchain caching
- Parallel job execution where possible
- Fail-fast disabled for complete CI runs
- Target-specific cache keys
- Reduced unnecessary builds in matrix
Manual Workflow Dispatch Added:
- CI: Rust version selection, test skipping option
- Release: Custom tag, prerelease option
- Security: Custom ignore list, issue creation control
Best Practices:
- Minimal permission scopes for security
- OIDC integration for codecov (no token needed)
- Proper artifact retention policies
- Job summaries and enhanced output formatting
- Concurrency groups to prevent duplicate runs
The v0.3.2 release and its comprehensive notes are fully protected.
All workflows maintain backward compatibility while adding new features.1 parent 7b92946 commit d27703f
File tree
5 files changed
+441
-45
lines changed- .github
- workflows
5 files changed
+441
-45
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
8 | 24 | | |
9 | 25 | | |
10 | 26 | | |
11 | 27 | | |
12 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
13 | 33 | | |
14 | 34 | | |
15 | 35 | | |
| |||
19 | 39 | | |
20 | 40 | | |
21 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
22 | 45 | | |
23 | 46 | | |
24 | 47 | | |
| |||
36 | 59 | | |
37 | 60 | | |
38 | 61 | | |
| 62 | + | |
39 | 63 | | |
| 64 | + | |
40 | 65 | | |
41 | 66 | | |
42 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
43 | 74 | | |
44 | 75 | | |
45 | 76 | | |
46 | 77 | | |
47 | 78 | | |
48 | | - | |
| 79 | + | |
49 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
50 | 90 | | |
51 | | - | |
52 | | - | |
53 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
54 | 96 | | |
55 | 97 | | |
56 | 98 | | |
57 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
58 | 103 | | |
59 | 104 | | |
60 | 105 | | |
61 | 106 | | |
| 107 | + | |
| 108 | + | |
62 | 109 | | |
63 | | - | |
| 110 | + | |
64 | 111 | | |
65 | | - | |
| 112 | + | |
66 | 113 | | |
67 | | - | |
| 114 | + | |
68 | 115 | | |
69 | 116 | | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
70 | 120 | | |
71 | 121 | | |
72 | 122 | | |
73 | 123 | | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
74 | 128 | | |
75 | 129 | | |
76 | | - | |
| 130 | + | |
77 | 131 | | |
78 | 132 | | |
79 | 133 | | |
| |||
0 commit comments