name: Build podman-dind-like on: push: branches: - release/* - feature/* - develop pull_request: branches: - main - develop env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository.lowercase }} jobs: build: runs-on: self-hosted container: image: quay.io/podman/stable:latest options: --userns=keep-id --privileged --user root steps: # Downloads a copy of the code in your repository before running CI tests - name: Check out repository code uses: actions/checkout@v3 - name: Add on podman-docker for step compatibility run: | dnf install -y podman-docker - name: Docker Login uses: azure/docker-login@v1 with: login-server: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} # This requires docker buildx which podman doesn't support # - name: Extract metadata (tags, labels) for Docker # id: meta # uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 # with: # images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # - name: Build and push Docker images # uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc # with: # context: . # push: true # tags: ${{ steps.meta.outputs.tags }} # labels: ${{ steps.meta.outputs.labels }} - name: Build the Docker image run: | if [[ "$GITHUB_REF" =~ ^refs/tags.* ]]; then VERSION=$GITHUB_REF_NAME else VERSION=$(echo "${GITHUB_REF_NAME}" | sed 's|/|-|g') fi podman build . --file Dockerfile --tag "$REGISTRY/$IMAGE_NAME:$VERSION" # echo $REG_TOKEN | podman login ghcr.io -u ${GITHUB_ACTOR} --password-stdin podman push "$REGISTRY/$IMAGE_NAME:$VERSION" if [[ "$GITHUB_REF" =~ ^refs/tags.* ]]; then podman tag "$REGISTRY/$IMAGE_NAME:$VERSION" "$IMAGE_NAME:latest" podman push "$REGISTRY/$IMAGE_NAME:latest" fi # env: # REG_TOKEN: ${{ secrets.GITHUB_TOKEN }} # # REG_TOKEN: ${{ secrets.REPO_GITHUB_TOKEN }} # IMAGE_NAME: jamesjonesconsulting/podman-dind-like