Skip to content

documentation and release notes for the new default permission logic #319

documentation and release notes for the new default permission logic

documentation and release notes for the new default permission logic #319

Workflow file for this run

name: Build Community with ubuntu-24
on:
push:
paths-ignore:
- "doc/**"
- "*.md"
- ".vscode/**"
- ".devcontainer/**"
- ".gitignore"
- ".gitattributes"
- ".gitmodules"
- ".clang-format"
- "translations.sh"
pull_request:
repository_dispatch:
types: [odoo_connector]
workflow_dispatch:
env:
BUILD_TYPE: Release
jobs:
build:
runs-on: ubuntu-24.04
services:
postgres:
image: postgres:13
env:
POSTGRES_USER: frepple
POSTGRES_PASSWORD: frepple
POSTGRES_DB: postgres
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checking out source code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Nodes
uses: actions/setup-node@v4
- name: Install packages
run: |
sudo apt update
sudo apt install --no-upgrade libxerces-c-dev openssl libssl-dev libpq5 libpq-dev postgresql-client python3 python3-dev python3-venv python3-setuptools
npm ci
- name: Build
run: |
git submodule update --remote --checkout --force
grunt
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target package -- -j 4
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target doc
cp djangosettings.py djangosettings.original.py
. ${{github.workspace}}/venv/bin/activate
echo "PATH=$PATH" >> $GITHUB_ENV
echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV
- name: Test
working-directory: ${{github.workspace}}
run: |
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432
export FREPPLE_DATE_STYLE="day-month-year"
./test/runtest.py --regression
./frepplectl.py test freppledb --verbosity=2
- name: Test uninstalling apps
working-directory: ${{github.workspace}}
run: |
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432
./frepplectl.py createdatabase --noinput
./frepplectl.py migrate
./frepplectl.py migrate forecast zero
./frepplectl.py migrate wizard zero
./frepplectl.py migrate metrics zero
./frepplectl.py migrate reportmanager zero
./frepplectl.py migrate executesql zero
- name: Odoo integration test
if: github.event.client_payload.message.branch
run: |
# First make the checkout unshallow
git -C freppledb/odoo/odoo_addon remote set-branches origin '*'
git -C freppledb/odoo/odoo_addon fetch --all
git -C freppledb/odoo/odoo_addon checkout "remotes/origin/${{ github.event.client_payload.message.branch }}"
sed -i 's/# "freppledb.odoo"/"freppledb.odoo"/g' djangosettings.py
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432
./frepplectl.py test freppledb.odoo
- name: "Keep logs"
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test_logs
path: logs
retention-days: 1
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Grunt to compile and minify css and javascript files
file_pattern: "*.min.*"
- name: Get the version
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'frePPLe/frepple'
working-directory: ${{github.workspace}}/build
run: |
echo "frepple_version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
echo `cmake --system-information | grep 'CMAKE_PROJECT_VERSION:STATIC' | sed 's/CMAKE_PROJECT_VERSION:STATIC/project_version/g'` >> $GITHUB_ENV
- name: Check the version
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'frePPLe/frepple-enterprise-dev'
run: |
if [ "${{ env.frepple_version }}" != "${{ env.project_version }}" ]; then
exit 1
fi
- name: Login to GitHub Container Registry
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'frePPLe/frepple'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push docker image
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'frePPLe/frepple'
run: |
mv djangosettings.original.py djangosettings.py
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target docker
docker tag ghcr.io/frepple/frepple-community:${{ env.frepple_version }} ghcr.io/frepple/frepple-community:latest
docker push ghcr.io/frepple/frepple-community:${{ env.frepple_version }}
docker push ghcr.io/frepple/frepple-community:latest
- name: Publish release
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'frePPLe/frepple'
uses: softprops/action-gh-release@v2
with:
name: "${{ env.frepple_version }} Community Edition"
body: |
Release notes are available on https://frepple.com/docs/current/release-notes.html
**docker container**\: Docker pull ghcr.io/frepple/frepple:${{ env.frepple_version }}
**ubuntu24-frepple-${{ env.frepple_version }}.deb**\: Installer for Ubuntu 24.04 LTS
**frepple-doc-${{ env.frepple_version }}.tgz**\: Documentation
files: |
${{github.workspace}}/build/contrib/docker/*.deb
${{github.workspace}}/build/frepple-doc-*.tgz
make_latest: ${{ endsWith(github.ref, '.0') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}