Skip to content

Back to one stage dockerfile for mac #62

Back to one stage dockerfile for mac

Back to one stage dockerfile for mac #62

Workflow file for this run

name: Build Docker Image
on:
push:
branches:
- main
jobs:
build:
runs-on: ${{ matrix.os }}
concurrency:
group: build-${{ matrix.os }}
strategy:
matrix:
os: [self-hosted] #ubuntu-latest,
include:
# - os: ubuntu-latest
# architecture: amd64
- os: self-hosted
architecture: arm64
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
install: true
- name: Cache Docker layers
id: docker-cache
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ matrix.os }}-${{ matrix.architecture }}
restore-keys: |
${{ runner.os }}-buildx-${{ matrix.os }}-${{ matrix.architecture }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# Build postgres image
# - name: Run Postgres build script
# run: ./ci-build-postgres.sh
# - name: Push Postgres image to Docker Hub
# run: |
# docker tag pg-ferret-postgres-16:latest ${{ secrets.DOCKER_USERNAME }}/pg-ferret-postgres-16:latest
# docker push ${{ secrets.DOCKER_USERNAME }}/pg-ferret-postgres-16:latest
# Build pg-ferret image
- name: Build Docker image with pg-ferret-postgres-16 base
run: |
docker buildx build \
--platform linux/${{ matrix.architecture }} \
--cache-from type=local,src=/tmp/.buildx-cache \
--cache-to type=local,dest=/tmp/.buildx-cache-new \
--tag ${{ secrets.DOCKER_USERNAME }}/pg-ferret:latest \
--push .
- name: Update Docker cache
if: success()
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
- name: Logout from Docker Hub
run: docker logout