diff --git a/.github/test-arg/lowercase.dockerfile b/.github/test-arg/lowercase.dockerfile new file mode 100644 index 00000000..123650dc --- /dev/null +++ b/.github/test-arg/lowercase.dockerfile @@ -0,0 +1,7 @@ +ARG registry='gcr.io/hdl-containers/debian/bullseye' + +FROM $registry/build/build AS build + +ARG registry + +COPY --from=$registry/pkg/icestorm /icestorm/usr/local/share/icebox /usr/local/share/icebox diff --git a/.github/test-arg/mount-lowercase.dockerfile b/.github/test-arg/mount-lowercase.dockerfile new file mode 100644 index 00000000..20bbd218 --- /dev/null +++ b/.github/test-arg/mount-lowercase.dockerfile @@ -0,0 +1,10 @@ +# syntax=docker/dockerfile:1.2 + +ARG registry='docker.io/hdlc' + +FROM $registry/build:build AS build + +ARG registry + +RUN --mount=type=cache,from=$registry/pkg:icestorm,src=/icestorm/usr/local/share/icebox,target=/usr/local/share/icebox \ + ls -la /usr/local/share/icebox diff --git a/.github/test-arg/mount-uppercase.dockerfile b/.github/test-arg/mount-uppercase.dockerfile new file mode 100644 index 00000000..a14b9ae9 --- /dev/null +++ b/.github/test-arg/mount-uppercase.dockerfile @@ -0,0 +1,10 @@ +# syntax=docker/dockerfile:1.2 + +ARG REGISTRY='docker.io/hdlc' + +FROM $REGISTRY/build:build AS build + +ARG REGISTRY + +RUN --mount=type=cache,from=$REGISTRY/pkg:icestorm,src=/icestorm/usr/local/share/icebox,target=/usr/local/share/icebox \ + ls -la /usr/local/share/icebox diff --git a/.github/test-arg/uppercase.dockerfile b/.github/test-arg/uppercase.dockerfile new file mode 100644 index 00000000..43769588 --- /dev/null +++ b/.github/test-arg/uppercase.dockerfile @@ -0,0 +1,7 @@ +ARG REGISTRY='gcr.io/hdl-containers/debian/bullseye' + +FROM $REGISTRY/build/build AS build + +ARG REGISTRY + +COPY --from=$REGISTRY/pkg/icestorm /icestorm/usr/local/share/icebox /usr/local/share/icebox diff --git a/.github/test-arg/workaround.dockerfile b/.github/test-arg/workaround.dockerfile new file mode 100644 index 00000000..c61f74a2 --- /dev/null +++ b/.github/test-arg/workaround.dockerfile @@ -0,0 +1,8 @@ +ARG REGISTRY='gcr.io/hdl-containers/debian/bullseye' + +# WORKAROUND: this is required because 'COPY --from' does not support ARGs +FROM $REGISTRY/pkg/icestorm AS pkg-icestorm + +FROM $REGISTRY/build/build AS build + +COPY --from=pkg-icestorm /icestorm/usr/local/share/icebox /usr/local/share/icebox diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..bdf49591 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,29 @@ +name: 'test-arg' + +on: + push: + +env: + DOCKER_BUILDKIT: 1 + +jobs: + + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + dfile: + - workaround + - uppercase + - lowercase + - mount-uppercase + - mount-lowercase + + env: + HDL_ARCH: ${{ matrix.arch }} + steps: + + - uses: actions/checkout@v2 + + - run: docker build -t test/img - < .github/test-arg/${{ matrix.dfile }}.dockerfile