container-action/.github/workflows/verify.yml
2025-03-19 20:38:18 +03:00

57 lines
No EOL
1.8 KiB
YAML

name: Container Action Tests
on:
push:
branches:
- prime
- develop
pull_request_review:
types: [submitted]
permissions:
contents: read
packages: write
jobs:
build-push:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Create test Dockerfile
run: |
echo 'FROM alpine:latest
ARG MY_ENV_VAR
ARG MY_ENV_VAR2
ENV MY_ENV_VAR=$MY_ENV_VAR
ENV MY_ENV_VAR2=$MY_ENV_VAR2
ARG EXTRA_ENV_VAR
ARG EXTRA_ENV_VAR2
ENV EXTRA_ENV_VAR=$EXTRA_ENV_VAR
ENV EXTRA_ENV_VAR2=$EXTRA_ENV_VAR2
CMD ["sh", "-c", "echo Result: $MY_ENV_VAR $MY_ENV_VAR2 ~$EXTRA_ENV_VAR~ ~$EXTRA_ENV_VAR2~"]' > Dockerfile
cat Dockerfile
- name: Use Build and Push action
uses: ./
with:
login_registry: ghcr.io
login_username: ${{ github.actor }}
login_password: ${{ secrets.GITHUB_TOKEN }}
tags: ghcr.io/frozen-tapestry/podman-action-verify:latest
dockerfile: Dockerfile
build_args: MY_ENV_VAR=Test MY_ENV_VAR2=Test2
extra_args: --build-arg EXTRA_ENV_VAR="Extra\ env\ 1" --build-arg=EXTRA_ENV_VAR2=Extra\ env\ 2
security: |
--security-opt=seccomp=unconfined
--security-opt=apparmor=unconfined
push: true
- name: Run Docker container and verify output
id: verify-output
run: |
OUTPUT=$(docker run --rm ghcr.io/frozen-tapestry/podman-action-verify:latest)
echo "Container Output: $OUTPUT"
if [ "$OUTPUT" != "Result: Test Test2 ~\"Extra env 1\"~ ~Extra env 2~" ]; then
echo "Output does not match expected string"
exit 1
fi