Skip to content

build

build #331

Workflow file for this run

name: build
on:
push:
branches:
- "main"
- "master"
- "dev"
tags:
- "*.*.*.*.*"
- "stable"
pull_request:
branches:
- "main"
- "master"
schedule:
- cron: "0 1 * * THU"
env:
TARGET: GHCR
DOCKER_BUILDKIT: 1
COMPOSE_DOCKER_CLI_BUILD: 1
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
odoo_serie: ["12.0", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0"]
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
with:
driver: docker
- name: Docker meta
id: docker_meta
uses: docker/metadata-action@v4
with:
images: ghcr.io/camptocamp/docker-odoo-project
flavor: |
prefix=${{ matrix.odoo_serie }}-,onlatest=true
tags: |
type=raw,value={{branch}}-latest
type=raw,value={{branch}}-{{date 'YYYYMMDD'}}
type=ref,event=tag
type=ref,event=pr
type=schedule,pattern={{branch}}-nightly
type=raw,value={{branch}}
- name: Setup build dir
run: |
VERSION=${{ matrix.odoo_serie }} SRC=build make setup
- name: Build
uses: docker/build-push-action@v3
with:
context: ./build
push: false
load: true
tags: ci-5xx-latest:${{ matrix.odoo_serie }}
labels: ${{ steps.docker_meta.outputs.labels }}
- name: Test
run: make VERSION=${{ matrix.odoo_serie }} test
- name: Login to GitHub Container Registry
if: github.event_name == 'push' || github.event_name == 'schedule'
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ secrets.GHCR_USER }}
password: ${{ secrets.GHCR_TOKEN }}
- name: Tag & Push
if: github.event_name == 'push' || github.event_name == 'schedule'
id: docker_push
uses: docker/build-push-action@v3
with:
context: ./build
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
- name: Image digest
run: echo ${{ steps.docker_push.outputs.digest }}