add check

This commit is contained in:
ClementTsang
2022-06-02 01:03:54 -04:00
parent cefca971df
commit f5a7897e2a
4 changed files with 49 additions and 7 deletions

View File

@@ -15,11 +15,22 @@ jobs:
uses: actions/checkout@v3
- name: Run
id: run_test
uses: ./
with:
base-image: docker://rust:slim-buster
base-image: docker://ghcr.io/clementtsang/cargo-deb-arm
derived-image: docker://rust:slim-buster
- name: Check
run: |
echo Result: ${{ steps.run_test.outputs.differs }}
if [ ${{ steps.run_test.outputs.differs }} == 'true' ]; then
exit 0
else
echo "differs should always be true!"
exit 1
fi
test-always-false:
runs-on: ubuntu-latest
steps:
@@ -27,7 +38,18 @@ jobs:
uses: actions/checkout@v3
- name: Run
id: run_test
uses: ./
with:
base-image: docker://ghcr.io/clementtsang/cargo-deb-arm
base-image: docker://rust:slim-buster
derived-image: docker://rust:slim-buster
- name: Check
run: |
echo Result: ${{ steps.run_test.outputs.differs }}
if [ ${{ steps.run_test.outputs.differs }} == 'false' ]; then
exit 0
else
echo "differs should always be false!"
exit 1
fi

View File

@@ -18,9 +18,26 @@ A required argument, this represents the "base" image you want to check against.
As this is based on `skopeo`, it expects a string representing a container, and following a certain format
(e.g. `docker://rust:slim-buster`). For more information, see [the `skopeo` README](https://github.com/containers/skopeo#skopeo-).
### Outputs
#### `derived-image`
A required argument, this represents the "derived" image you want to check.
As this is based on `skopeo`, it expects a string representing a container, and following a certain format
(e.g. `docker://rust:slim-buster`). For more information, see [the `skopeo` README](https://github.com/containers/skopeo#skopeo-).
### Outputs
#### `differs`
The action returns either `true` or `false`, indicating if the derived image differs from the base image (e.g. if derived does not contain the base, it returns `true`).
## Example
```yaml
- name: Run
id: run
uses: ClementTsang/docker-check-base-image-diff@v0.0.1-alpha
with:
base-image: docker://rust:slim-buster
derived-image: docker://ghcr.io/clementtsang/cargo-deb-arm
```

View File

@@ -11,13 +11,14 @@ inputs:
required: true
outputs:
differs:
description: "True or false"
value: ${{ steps.check.outputs.result }}
description: "Returns either true or false"
value: ${{ steps.check.outputs.differs }}
runs:
using: "composite"
steps:
- id: check
shell: bash
run: |
result=$(${{ github.action_path }}/check.sh ${{ inputs.base-image }} ${{ inputs.derived-image }})
echo "::set-output name=result::${result}"
RESULT=$(${{ github.action_path }}/check.sh ${{ inputs.base-image }} ${{ inputs.derived-image }})
echo "::set-output name=differs::$RESULT"

View File

@@ -1,5 +1,7 @@
#!/bin/bash
set -e
BASE_LAYERS="$(skopeo inspect $1 | jq '.Layers')"
DERIVED_LAYERS="$(skopeo inspect $2 | jq '.Layers')"