diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml deleted file mode 100644 index 98cb137..0000000 --- a/.github/workflows/docker-build-push.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Create and publish a Docker image - -on: - workflow_call: - -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Log in to the Container registry - uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Figure out branch name - shell: bash - run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT - id: extract_branch - - name: Determine docker image tag - shell: bash - id: determine_tag - run: | - if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then - echo "tag=latest" >> $GITHUB_OUTPUT - else - echo "tag=${{ steps.extract_branch.outputs.branch }}" >> $GITHUB_OUTPUT - fi - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - # Buildx for caching - - uses: docker/setup-buildx-action@v3 - - name: Build and push Docker image - uses: docker/build-push-action@v5 - with: - context: . - push: true - tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.determine_tag.outputs.tag }} - labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max diff --git a/.github/workflows/release-book-website.yml b/.github/workflows/release-book-website.yml index 03c3f32..e979b29 100644 --- a/.github/workflows/release-book-website.yml +++ b/.github/workflows/release-book-website.yml @@ -4,12 +4,37 @@ on: push: branches: - main + env: - IMAGE: ghcr.io/${{ github.repository }}:latest + LATEST_IMAGE: ghcr.io/${{ github.repository }}:latest jobs: build-and-push-image: - uses: ./.github/workflows/docker-build-push.yml + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + # Buildx for caching + - uses: docker/setup-buildx-action@v3 + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: ghcr.io/${{ github.repository }}:latest + cache-from: type=gha + cache-to: type=gha,mode=max + release-book-website: needs: build-and-push-image diff --git a/.github/workflows/test-book-website-pull-request.yml b/.github/workflows/test-book-website-pull-request.yml deleted file mode 100644 index b7fcf0e..0000000 --- a/.github/workflows/test-book-website-pull-request.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: Test building book and website - -on: - pull_request: - -jobs: - - test-building-book-website: - uses: ./.github/workflows/test-book-website.yml - with: - docker-image: ghcr.io/${{ github.repository }}:latest diff --git a/.github/workflows/test-book-website-push.yml b/.github/workflows/test-book-website-push.yml deleted file mode 100644 index 04c7527..0000000 --- a/.github/workflows/test-book-website-push.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: Test building book and website with default image - -on: - push: - -jobs: - test-building-book-website: - uses: ./.github/workflows/test-book-website.yml - with: - docker-image: ghcr.io/${{ github.repository }}:latest diff --git a/.github/workflows/test-book-website.yml b/.github/workflows/test-book-website.yml index 15671fc..4489eec 100644 --- a/.github/workflows/test-book-website.yml +++ b/.github/workflows/test-book-website.yml @@ -1,11 +1,9 @@ name: Test book and website for given image -on: - workflow_call: - inputs: - docker-image: - required: true - type: string +on: [push, pull_request] + +env: + DOCKER_IMAGE: ghcr.io/${{ github.repository }}:latest jobs: test-book-website: @@ -16,7 +14,7 @@ jobs: - name: Print dependency versions uses: addnab/docker-run-action@v3 with: - image: ${{ inputs.docker-image }} + image: ${{ env.DOCKER_IMAGE }} options: -v ${{ github.workspace }}:/app run: | cd /app/book @@ -24,7 +22,7 @@ jobs: - name: Print build variables uses: addnab/docker-run-action@v3 with: - image: ${{ inputs.docker-image }} + image: ${{ env.DOCKER_IMAGE }} options: -v ${{ github.workspace }}:/app run: | cd /app/book @@ -32,7 +30,7 @@ jobs: - name: Test baking the release versions uses: addnab/docker-run-action@v3 with: - image: ${{ inputs.docker-image }} + image: ${{ env.DOCKER_IMAGE }} options: -v ${{ github.workspace }}:/app run: | cd /app/book @@ -48,7 +46,7 @@ jobs: - name: Test building website uses: addnab/docker-run-action@v3 with: - image: ${{ inputs.docker-image }} + image: ${{ env.DOCKER_IMAGE }} options: -v ${{ github.workspace }}:/app run: | cd /app/book