test: fix running container #15
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: puppeteer-container | |
on: | |
push: | |
branches: [ "puppeteer-container" ] | |
tags: [ v* ] | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: puppeteer | |
jobs: | |
prepare: | |
runs-on: ubuntu-latest | |
outputs: | |
name: ${{ steps.step1.outputs.name }} | |
version: ${{ steps.step1.outputs.version }} | |
steps: | |
- id: step1 | |
run: | | |
IMAGE_ID=${{ env.REGISTRY }}/${{ github.repository_owner }}/$IMAGE_NAME | |
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') | |
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') | |
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') | |
[ "$VERSION" == "main" ] && VERSION=latest | |
echo IMAGE_ID=$IMAGE_ID | |
echo VERSION=$VERSION | |
echo "name=$IMAGE_ID" >> "$GITHUB_OUTPUT" | |
echo "version=$VERSION" >> "$GITHUB_OUTPUT" | |
build: | |
runs-on: ubuntu-latest | |
needs: prepare | |
permissions: | |
contents: read | |
packages: write | |
attestations: write | |
id-token: write | |
steps: | |
- name: Workaround Windows mess and set git to keep original line endings | |
run: git config --global core.autocrlf false | |
- uses: actions/checkout@v4 | |
- run: podman --version | |
- name: Build container image | |
run: | | |
podman build -t "$IMAGE_NAME" -f puppeteer.containerfile \ | |
--label "org.opencontainers.image.source=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY" \ | |
--label "org.opencontainers.image.description=Puppeteer container" \ | |
--label "org.opencontainers.image.licenses=MIT" | |
- name: List images | |
run: podman images | |
- name: Test run | |
run: podman run --rm --init --userns=keep-id -v $(pwd):/app -w /app $IMAGE_NAME ls -la | |
- name: Login in to registry | |
if: success() | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | podman login ${{ env.REGISTRY }} -u ${{ github.actor }} --password-stdin | |
- name: Push container image | |
if: success() | |
run: | | |
IMAGE=${{ needs.prepare.outputs.name }}:${{ needs.prepare.outputs.version }} | |
podman tag $IMAGE_NAME $IMAGE | |
podman push $IMAGE | |
test: | |
runs-on: ubuntu-latest | |
needs: prepare | |
# env variables are not available at this level, only in steps: | |
# https://github.com/actions/runner/issues/2394 | |
# so registry has to be hardcoded | |
container: ghcr.io/${{ needs.prepare.outputs.name }}:${{ needs.prepare.outputs.version }} | |
steps: | |
- name: Self test | |
run: | | |
echo "Chrome: " $CHROME_BIN | |
pwd | |
ls -la |