Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POC: Bullet stream output style + additional output + error updates #327

Draft
wants to merge 52 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
cbf8a53
Add libraries
schneems Jan 23, 2025
a39fc73
Derive debug for all metadata
schneems Jan 23, 2025
a964161
Implement TryMigrate
schneems Jan 23, 2025
9e43967
Implement CacheDiff for distribution metadata
schneems Jan 23, 2025
3c94741
Introduce Struct based layer API
schneems Jan 23, 2025
a3c1552
Introduce bullet stream print object
schneems Jan 23, 2025
6d7bc27
Replace old layer interface with new
schneems Jan 23, 2025
9aa420f
Print buildpack header
schneems Jan 23, 2025
030acad
Swap print styles for beginning of buildpack
schneems Jan 23, 2025
cc14a5a
Implement CacheDiff for deps
schneems Jan 23, 2025
87739bd
Introduce deps struct layer scaffold
schneems Jan 23, 2025
7aa2150
Fix launch layer visibility for dist
schneems Jan 23, 2025
89f039d
Implement layer call
schneems Jan 24, 2025
0b10358
Add fs_err to workspace
schneems Jan 24, 2025
e2019b8
Use fs-err instead of std::fs
schneems Jan 24, 2025
f21b437
Move shared deps to workspace
schneems Jan 24, 2025
90caeca
Update deps logic
schneems Jan 24, 2025
c762113
Use struct layer API instead of trait
schneems Jan 24, 2025
84b5f36
Remove trait layer interface
schneems Jan 24, 2025
3b3d0d3
Replace Target layer with Struct API
schneems Jan 24, 2025
ae5990f
Trial cache_diff branch
schneems Jan 25, 2025
3318f66
Implement CacheDiff for build layer metadata
schneems Jan 25, 2025
5a84313
Initial struct function placeholder for build
schneems Jan 25, 2025
ec0eec5
Implement build layer struct logic
schneems Jan 25, 2025
1a5e09f
Use build struct layer
schneems Jan 25, 2025
c7b7e74
Remove deprecated build layer trait interface
schneems Jan 25, 2025
638eb4d
Updating print format
schneems Jan 25, 2025
9610b55
Update default process type build output
schneems Jan 25, 2025
0de1766
Fix clippy warning
schneems Jan 25, 2025
a24a4df
Remove unused code and imports
schneems Jan 25, 2025
ee111a3
Remove missed log_info calls
schneems Jan 25, 2025
904698e
Remove log_error
schneems Jan 25, 2025
1b98474
Update command running format
schneems Jan 25, 2025
b65030b
Standardize dist metadata struct name
schneems Jan 25, 2025
2f7ca88
Standardize build metadata struct name
schneems Jan 25, 2025
0e5bf17
Standardize deps metadata struct name
schneems Jan 25, 2025
db439cf
Style dist
schneems Jan 25, 2025
b320d02
Fix double bullet
schneems Jan 25, 2025
e72cb51
Adjusting output
schneems Jan 27, 2025
90701ea
Fix tests
schneems Jan 27, 2025
799d00a
Deny unknown metadata fields
schneems Jan 27, 2025
d4950bf
Add metadata guard test
schneems Jan 27, 2025
50894ec
Add metadata guard test
schneems Jan 27, 2025
585081f
Add metadata guard test
schneems Jan 27, 2025
38bc352
Use strict bullet_stream style
schneems Jan 27, 2025
9dbab7d
Use strict bullet_stream style
schneems Jan 27, 2025
0bd6a4e
Changelog
schneems Jan 27, 2025
623d8b6
Print getting started guide in CI
schneems Jan 27, 2025
a31801e
Update to latest released cache_diff version
schneems Jan 30, 2025
6251542
Update dependencies
schneems Feb 12, 2025
96fa158
Use TryMigrate derive macro
schneems Feb 12, 2025
3b702bd
Use consistent cmd running interface
schneems Feb 12, 2025
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
42 changes: 42 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,45 @@ jobs:
INTEGRATION_TEST_BUILDER: ${{ matrix.builder }}
# Runs only tests annotated with the `ignore` attribute (which in this repo, are the integration tests).
run: cargo test --locked -- --ignored --test-threads 16

print-guide:
runs-on: 'pub-hk-ubuntu-24.04-arm-medium'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install musl-tools
run: sudo apt-get install -y --no-install-recommends musl-tools
- name: Update Rust toolchain
run: rustup update
- name: Install Rust linux-musl target
run: rustup target add aarch64-unknown-linux-musl
- name: Rust Cache
uses: Swatinem/[email protected]
- name: Install Pack CLI
uses: buildpacks/github-actions/[email protected]
- name: Pull builder and run images
run: |
docker pull "heroku/builder:24"
docker pull "heroku/heroku:24"
- name: Clone getting started guide
uses: actions/checkout@v4
with:
repository: "heroku/go-getting-started"
path: tmp/guide
- name: Install libcnb-cargo for `cargo libcnb package` command
run: cargo install libcnb-cargo
- name: Compile buildpack
run: cargo libcnb package --target aarch64-unknown-linux-musl
- name: "PRINT: Getting started guide output"
run: |
set -euo pipefail

PACK_CMD="pack build my-image --force-color --builder heroku/builder:24 --trust-extra-buildpacks --path tmp/guide --pull-policy never "
PACK_CMD+=" --buildpack packaged/aarch64-unknown-linux-musl/debug/heroku_go"

echo "Running command: $PACK_CMD"
bash -c "$PACK_CMD"
echo ""
echo "With CACHE example"
echo ""
bash -c "$PACK_CMD"
Loading