refactor: Create SigningDriver and CiDriver (#197)
This also includes a new `login` command. The signing and CI logic is now using the Driver trait system along with a new experimental sigstore signing driver. New static macros have also been created to make implementation management easier for `Command` usage and `Driver` trait implementation calls. --------- Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
This commit is contained in:
parent
3ecb0d3d93
commit
8ce83ba7ff
63 changed files with 6468 additions and 2083 deletions
46
.github/workflows/build-pr.yml
vendored
46
.github/workflows/build-pr.yml
vendored
|
|
@ -13,6 +13,42 @@ env:
|
|||
RUST_LOG_STYLE: always
|
||||
|
||||
jobs:
|
||||
test:
|
||||
timeout-minutes: 20
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: earthly/actions-setup@v1
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{github.event.pull_request.head.ref}}
|
||||
repository: ${{github.event.pull_request.head.repo.full_name}}
|
||||
|
||||
- name: Run test
|
||||
id: build
|
||||
run: |
|
||||
earthly --ci +test
|
||||
|
||||
lint:
|
||||
timeout-minutes: 20
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: earthly/actions-setup@v1
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{github.event.pull_request.head.ref}}
|
||||
repository: ${{github.event.pull_request.head.repo.full_name}}
|
||||
|
||||
- name: Run lint
|
||||
id: build
|
||||
run: |
|
||||
earthly --ci +lint
|
||||
|
||||
arm64-prebuild:
|
||||
timeout-minutes: 60
|
||||
runs-on: ubuntu-latest
|
||||
|
|
@ -220,7 +256,7 @@ jobs:
|
|||
cd integration-tests/test-repo
|
||||
bluebuild template -vv | tee Containerfile
|
||||
grep -q 'ARG IMAGE_REGISTRY=ghcr.io/blue-build' Containerfile || exit 1
|
||||
bluebuild build --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
bluebuild build --retry-push -B docker -I docker -S sigstore --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
|
||||
docker-build-external-login:
|
||||
timeout-minutes: 60
|
||||
|
|
@ -275,7 +311,7 @@ jobs:
|
|||
cd integration-tests/test-repo
|
||||
bluebuild template -vv | tee Containerfile
|
||||
grep -q 'ARG IMAGE_REGISTRY=ghcr.io/blue-build' Containerfile || exit 1
|
||||
bluebuild build --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
bluebuild build --retry-push -S sigstore --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
|
||||
podman-build:
|
||||
timeout-minutes: 60
|
||||
|
|
@ -327,10 +363,10 @@ jobs:
|
|||
cd integration-tests/test-repo
|
||||
bluebuild template -vv | tee Containerfile
|
||||
grep -q 'ARG IMAGE_REGISTRY=ghcr.io/blue-build' Containerfile || exit 1
|
||||
bluebuild build -B podman --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
bluebuild build --retry-push -B podman -I podman -S sigstore --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
|
||||
buildah-build:
|
||||
timeout-minutes: 60
|
||||
timeout-minutes: 15
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
|
|
@ -379,4 +415,4 @@ jobs:
|
|||
cd integration-tests/test-repo
|
||||
bluebuild template -vv | tee Containerfile
|
||||
grep -q 'ARG IMAGE_REGISTRY=ghcr.io/blue-build' Containerfile || exit 1
|
||||
bluebuild build -B buildah --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
bluebuild build --retry-push -B buildah -I podman -S sigstore --squash --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
|
|
|
|||
44
.github/workflows/build.yml
vendored
44
.github/workflows/build.yml
vendored
|
|
@ -16,6 +16,42 @@ env:
|
|||
RUST_LOG_STYLE: always
|
||||
|
||||
jobs:
|
||||
test:
|
||||
timeout-minutes: 20
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: earthly/actions-setup@v1
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{github.event.pull_request.head.ref}}
|
||||
repository: ${{github.event.pull_request.head.repo.full_name}}
|
||||
|
||||
- name: Run build
|
||||
id: build
|
||||
run: |
|
||||
earthly --ci +test
|
||||
|
||||
lint:
|
||||
timeout-minutes: 20
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: earthly/actions-setup@v1
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{github.event.pull_request.head.ref}}
|
||||
repository: ${{github.event.pull_request.head.repo.full_name}}
|
||||
|
||||
- name: Run build
|
||||
id: build
|
||||
run: |
|
||||
earthly --ci +test
|
||||
|
||||
arm64-prebuild:
|
||||
timeout-minutes: 60
|
||||
runs-on: ubuntu-latest
|
||||
|
|
@ -218,7 +254,7 @@ jobs:
|
|||
cd integration-tests/test-repo
|
||||
bluebuild template -vv | tee Containerfile
|
||||
grep -q 'ARG IMAGE_REGISTRY=ghcr.io/blue-build' Containerfile || exit 1
|
||||
bluebuild build --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
bluebuild build --retry-push -B docker -I docker -S sigstore --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
|
||||
docker-build-external-login:
|
||||
timeout-minutes: 60
|
||||
|
|
@ -273,7 +309,7 @@ jobs:
|
|||
cd integration-tests/test-repo
|
||||
bluebuild template -vv | tee Containerfile
|
||||
grep -q 'ARG IMAGE_REGISTRY=ghcr.io/blue-build' Containerfile || exit 1
|
||||
bluebuild build --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
bluebuild build --retry-push -S sigstore --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
|
||||
podman-build:
|
||||
timeout-minutes: 60
|
||||
|
|
@ -325,7 +361,7 @@ jobs:
|
|||
cd integration-tests/test-repo
|
||||
bluebuild template -vv | tee Containerfile
|
||||
grep -q 'ARG IMAGE_REGISTRY=ghcr.io/blue-build' Containerfile || exit 1
|
||||
bluebuild build -B podman --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
bluebuild build --retry-push -B podman -I podman -S sigstore --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
|
||||
buildah-build:
|
||||
timeout-minutes: 60
|
||||
|
|
@ -377,4 +413,4 @@ jobs:
|
|||
cd integration-tests/test-repo
|
||||
bluebuild template -vv | tee Containerfile
|
||||
grep -q 'ARG IMAGE_REGISTRY=ghcr.io/blue-build' Containerfile || exit 1
|
||||
bluebuild build -B buildah --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
bluebuild build --retry-push -B buildah -I podman -S sigstore --squash --push -vv recipes/recipe.yml recipes/recipe-39.yml
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue