mirror of
https://github.com/hauler-dev/hauler.git
synced 2026-02-14 09:59:50 +00:00
added integration tests for non hauler tarballs (#325)
* added tests for tarballs * updated tests for tarball changes * fixed tests/build for latest changes
This commit is contained in:
@@ -1,8 +0,0 @@
|
|||||||
*
|
|
||||||
!cmd
|
|
||||||
!go.mod
|
|
||||||
!go.sum
|
|
||||||
!internal
|
|
||||||
!Makefile
|
|
||||||
!pkg
|
|
||||||
!static
|
|
||||||
24
.github/workflows/tests.yaml
vendored
24
.github/workflows/tests.yaml
vendored
@@ -183,8 +183,10 @@ jobs:
|
|||||||
- name: Verify - hauler store extract
|
- name: Verify - hauler store extract
|
||||||
run: |
|
run: |
|
||||||
hauler store extract --help
|
hauler store extract --help
|
||||||
# verify via hauler store content
|
# verify via extracting hauler store content
|
||||||
hauler store extract hauler/hauler-manifest-local.yaml:latest
|
hauler store extract hauler/hauler-manifest-local.yaml:latest
|
||||||
|
# view extracted content from store
|
||||||
|
cat hauler-manifest-local.yaml
|
||||||
|
|
||||||
- name: Verify - hauler store info
|
- name: Verify - hauler store info
|
||||||
run: |
|
run: |
|
||||||
@@ -209,6 +211,8 @@ jobs:
|
|||||||
hauler store save
|
hauler store save
|
||||||
# verify via save with filename
|
# verify via save with filename
|
||||||
hauler store save --filename store.tar.zst
|
hauler store save --filename store.tar.zst
|
||||||
|
# verify via save with filename and platform (amd64)
|
||||||
|
hauler store save --filename store-amd64.tar.zst --platform linux/amd64
|
||||||
|
|
||||||
- name: Remove Hauler Store Contents
|
- name: Remove Hauler Store Contents
|
||||||
run: |
|
run: |
|
||||||
@@ -220,8 +224,10 @@ jobs:
|
|||||||
hauler store load --help
|
hauler store load --help
|
||||||
# verify via load
|
# verify via load
|
||||||
hauler store load haul.tar.zst
|
hauler store load haul.tar.zst
|
||||||
# verify via load with different temp directory
|
# verify via load with filename and temp directory
|
||||||
hauler store load store.tar.zst --tempdir /opt
|
hauler store load store.tar.zst --tempdir /opt
|
||||||
|
# verify via load with filename and platform (amd64)
|
||||||
|
hauler store load store-amd64.tar.zst
|
||||||
|
|
||||||
- name: Verify Hauler Store Contents
|
- name: Verify Hauler Store Contents
|
||||||
run: |
|
run: |
|
||||||
@@ -230,9 +236,21 @@ jobs:
|
|||||||
# verify store directory structure
|
# verify store directory structure
|
||||||
tree -hC store
|
tree -hC store
|
||||||
|
|
||||||
|
- name: Verify - docker load
|
||||||
|
run: |
|
||||||
|
docker load --help
|
||||||
|
# verify via load
|
||||||
|
docker load --input store-amd64.tar.zst
|
||||||
|
|
||||||
|
- name: Verify Docker Images Contents
|
||||||
|
run: |
|
||||||
|
docker images --help
|
||||||
|
# verify images
|
||||||
|
docker images --all
|
||||||
|
|
||||||
- name: Remove Hauler Store Contents
|
- name: Remove Hauler Store Contents
|
||||||
run: |
|
run: |
|
||||||
rm -rf store haul.tar.zst store.tar.zst
|
rm -rf store haul.tar.zst store.tar.zst store-amd64.tar.zst
|
||||||
hauler store info
|
hauler store info
|
||||||
|
|
||||||
- name: Verify - hauler store sync
|
- name: Verify - hauler store sync
|
||||||
|
|||||||
10
Dockerfile
10
Dockerfile
@@ -3,6 +3,8 @@ FROM registry.suse.com/bci/golang:1.23 AS builder
|
|||||||
|
|
||||||
RUN zypper --non-interactive install make bash wget ca-certificates
|
RUN zypper --non-interactive install make bash wget ca-certificates
|
||||||
|
|
||||||
|
RUN go install github.com/goreleaser/goreleaser/v2@latest
|
||||||
|
|
||||||
COPY . /build
|
COPY . /build
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
RUN make build
|
RUN make build
|
||||||
@@ -17,6 +19,8 @@ RUN echo "hauler:x:1001:1001::/home/hauler:" > /etc/passwd \
|
|||||||
# release stage
|
# release stage
|
||||||
FROM scratch AS release
|
FROM scratch AS release
|
||||||
|
|
||||||
|
ARG TARGETARCH
|
||||||
|
|
||||||
COPY --from=builder /var/lib/ca-certificates/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt
|
COPY --from=builder /var/lib/ca-certificates/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt
|
||||||
COPY --from=builder /etc/passwd /etc/passwd
|
COPY --from=builder /etc/passwd /etc/passwd
|
||||||
COPY --from=builder /etc/group /etc/group
|
COPY --from=builder /etc/group /etc/group
|
||||||
@@ -25,7 +29,7 @@ COPY --from=builder --chown=hauler:hauler /tmp/. /tmp
|
|||||||
COPY --from=builder --chown=hauler:hauler /store/. /store
|
COPY --from=builder --chown=hauler:hauler /store/. /store
|
||||||
COPY --from=builder --chown=hauler:hauler /registry/. /registry
|
COPY --from=builder --chown=hauler:hauler /registry/. /registry
|
||||||
COPY --from=builder --chown=hauler:hauler /fileserver/. /fileserver
|
COPY --from=builder --chown=hauler:hauler /fileserver/. /fileserver
|
||||||
COPY --from=builder --chown=hauler:hauler /build/bin/hauler /
|
COPY --from=builder --chown=hauler:hauler /build/dist/hauler_linux_${TARGETARCH}/hauler /
|
||||||
|
|
||||||
USER hauler
|
USER hauler
|
||||||
ENTRYPOINT [ "/hauler" ]
|
ENTRYPOINT [ "/hauler" ]
|
||||||
@@ -33,11 +37,13 @@ ENTRYPOINT [ "/hauler" ]
|
|||||||
# debug stage
|
# debug stage
|
||||||
FROM alpine AS debug
|
FROM alpine AS debug
|
||||||
|
|
||||||
|
ARG TARGETARCH
|
||||||
|
|
||||||
COPY --from=builder /var/lib/ca-certificates/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt
|
COPY --from=builder /var/lib/ca-certificates/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt
|
||||||
COPY --from=builder /etc/passwd /etc/passwd
|
COPY --from=builder /etc/passwd /etc/passwd
|
||||||
COPY --from=builder /etc/group /etc/group
|
COPY --from=builder /etc/group /etc/group
|
||||||
COPY --from=builder --chown=hauler:hauler /home/hauler/. /home/hauler
|
COPY --from=builder --chown=hauler:hauler /home/hauler/. /home/hauler
|
||||||
COPY --from=builder --chown=hauler:hauler /build/bin/hauler /bin/hauler
|
COPY --from=builder --chown=hauler:hauler /build/dist/hauler_linux_${TARGETARCH}/hauler /
|
||||||
|
|
||||||
RUN apk --no-cache add curl
|
RUN apk --no-cache add curl
|
||||||
|
|
||||||
|
|||||||
BIN
testdata/haul.tar.zst
vendored
BIN
testdata/haul.tar.zst
vendored
Binary file not shown.
Reference in New Issue
Block a user