name: .-base on: push: branches: - main - master pull_request: schedule: - cron: '0 2 2 * *' workflow_dispatch: jobs: build-and-push: runs-on: ubuntu-latest permissions: contents: read packages: write steps: - name: Checkout uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Get Meta id: meta run: | echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT echo "IMAGE_REPO=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v5 with: context: ./. file: ././Dockerfile.base platforms: | linux/amd64 linux/arm64 push: ${{ github.event_name != 'pull_request' }} provenance: false build-args: | IMAGE_NAME=. IMAGE_VERSION=latest IMAGE_REPO=${{ steps.meta.outputs.IMAGE_REPO }} PHP_SERVER=. BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} PULL_URL=. DISTRO_VERSION=latest CONTAINER_VERSION= TIMEZONE=America/New_York LANGUAGE=en_US.UTF-8 PHP_VERSION=system NODE_VERSION=system NODE_MANAGER=system SERVICE_PORT= EXPOSE_PORTS= WWW_ROOT_DIR=/usr/local/share/httpd/default DEFAULT_FILE_DIR=/usr/local/share/template-files DEFAULT_DATA_DIR=/usr/local/share/template-files/data DEFAULT_CONF_DIR=/usr/local/share/template-files/config DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults annotations: | org.opencontainers.image.title=${{ steps.meta.outputs.IMAGE_REPO }} org.opencontainers.image.description=Containerized version of ${{ steps.meta.outputs.IMAGE_REPO }} org.opencontainers.image.vendor=CasjaysDev org.opencontainers.image.authors=CasjaysDev org.opencontainers.image.url=https://github.com/${{ github.repository }} org.opencontainers.image.source=https://github.com/${{ github.repository }} org.opencontainers.image.version=latest org.opencontainers.image.revision=${{ github.sha }} org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} tags: | ghcr.io/${{ steps.meta.outputs.IMAGE_REPO }}:latest ghcr.io/${{ steps.meta.outputs.IMAGE_REPO }}:${{ steps.meta.outputs.DATE_TAG }}