fix forecast test after addition of fcst current date #331
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |