Compare commits

...

12 Commits

Author SHA1 Message Date
David Bomba
e4b3e0f0f1 Merge pull request #711 from turbo124/master
Revert and run on ubuntu 22.04
2025-01-24 15:01:20 +11:00
David Bomba
a060c70d3f Revert and run on ubuntu 22.04 2025-01-24 15:01:08 +11:00
David Bomba
d8749fa049 Revert and run on ubuntu 22.04 2025-01-24 14:59:52 +11:00
David Bomba
febb70263c Merge pull request #710 from turbo124/master
align build and publish images
2025-01-24 14:49:21 +11:00
David Bomba
4b6b287906 align build and publish images 2025-01-24 14:48:52 +11:00
David Bomba
e0bb394346 minor changes 2025-01-24 14:32:47 +11:00
David Bomba
914bebebf6 Merge pull request #705 from turbo124/master
Working on php extension installer issue
2025-01-24 12:20:23 +11:00
David Bomba
e617f2d808 Working on php extension installer issue 2025-01-24 12:19:56 +11:00
David Bomba
3a4f138f6a Merge pull request #704 from turbo124/master
Fixes for yaml syntax
2025-01-24 11:51:00 +11:00
David Bomba
ce9ce4fd26 Fixes for yaml syntax 2025-01-24 11:50:35 +11:00
David Bomba
d01706a734 Merge pull request #703 from turbo124/master
Change the way we invoke install php extensions
2025-01-24 11:49:34 +11:00
David Bomba
00e54c9c23 Change the way we invoke install php extensions 2025-01-24 11:41:37 +11:00
3 changed files with 33 additions and 52 deletions

View File

@@ -16,24 +16,11 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Add swap space
run: |
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h
- name: Set MAKEFLAGS for parallel make jobs
run: |
export MAKEFLAGS="-j2"
echo "MAKEFLAGS set to: $MAKEFLAGS"
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
with:
@@ -66,5 +53,6 @@ jobs:
- name: Move cache
run: |
mkdir -p /tmp/.buildx-cache
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

View File

@@ -1,9 +1,5 @@
name: Publish Container Image
name: Publish Debian Container Images
# When its time to do a release do a full cross platform build for all supported
# architectures and push all of them to Docker Hub.
# Only trigger on semver shaped tags.
# Ref: https://github.com/metcalfc/docker-action-examples/blob/main/.github/workflows/release.yml
on:
push:
tags-ignore:
@@ -11,15 +7,23 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
include:
- image: invoiceninja/invoiceninja-octane
context: ./debian
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4 # Updated from v2
with:
fetch-depth: 0
- name: Prepare
id: prep
run: |
DOCKER_IMAGE=invoiceninja/invoiceninja
DOCKER_IMAGE=${{ matrix.image }}
VERSION=edge
if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/}
@@ -28,55 +32,44 @@ jobs:
MAJOR="$(echo "${VERSION}" | cut -d. -f1)"
MINOR="$(echo "${VERSION}" | cut -d. -f2)"
TAGS="$TAGS,${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:${MAJOR}.${MINOR}"
if [[ $VERSION =~ ^5\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
TAGS="$TAGS,${DOCKER_IMAGE}:latest"
fi
echo ::set-output name=tags::${TAGS}
echo ::set-output name=version::${VERSION}
echo ::set-output name=major::${MAJOR}
# Debug output
echo "Current version: ${VERSION}"
echo "Version pattern check: $([[ $VERSION =~ ^5\.[0-9]{1,3}\.[0-9]{1,3}$ ]] && echo "matches" || echo "doesn't match")"
TAGS="$TAGS,${DOCKER_IMAGE}:latest"
echo "tags=${TAGS}" >> $GITHUB_OUTPUT # Updated output syntax
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "major=${MAJOR}" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3 # Updated from v1
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
- name: Cache Docker layers
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ steps.prep.outputs.major }}-${{ hashFiles('alpine/${{ steps.prep.outputs.major }}/cache_buster') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-${{ steps.prep.outputs.major }}-${{ hashFiles('alpine/${{ steps.prep.outputs.major }}/cache_buster') }}-
uses: docker/setup-buildx-action@v3 # Updated from v1
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
uses: docker/login-action@v3 # Updated from v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
uses: docker/build-push-action@v5 # Updated from v2
with:
builder: ${{ steps.buildx.outputs.name }}
context: ./alpine/${{ steps.prep.outputs.major }}/
context: ${{ matrix.context }}
build-args: INVOICENINJA_VERSION=${{ steps.prep.outputs.version }}
target: prod
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.prep.outputs.tags }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
cache-from: type=gha # Updated cache type
cache-to: type=gha,mode=max
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
run: echo ${{ steps.docker_build.outputs.digest }}

View File

@@ -31,7 +31,7 @@ FROM php:${PHP_VERSION}-fpm-alpine${ALPINE_VERSION} AS phpbuild
LABEL maintainer="David Bomba <turbo124@gmail.com>"
ARG php_require="bcmath gd pdo_mysql zip mbstring"
ARG php_require="bcmath gd pdo_mysql zip"
ARG php_suggest="exif imagick intl pcntl soap"
ARG php_extra="opcache"