Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
a0e7e04
Update .gitmodules
rw-bsi Aug 24, 2024
1654b18
Create dispatch.yml
rw-bsi Aug 30, 2024
d761868
Update dispatch.yml
rw-bsi Sep 4, 2024
f6af953
Create build_deploy.yml
rw-bsi Sep 6, 2024
ececad9
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Sep 6, 2024
bbaef6d
Update build_deploy.yml
rw-bsi Sep 10, 2024
d06d88c
Update build_deploy.yml
rw-bsi Sep 10, 2024
87e87d7
Update build_deploy.yml
rw-bsi Sep 10, 2024
eef795c
Update build_deploy.yml
rw-bsi Sep 10, 2024
1642c8e
Update build_deploy.yml
rw-bsi Sep 10, 2024
cb3736d
Update build_deploy.yml
rw-bsi Sep 11, 2024
0c588b8
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Sep 11, 2024
d748b52
Merge branch 'main' into release/0.6.6
bSI-Bot Sep 12, 2024
a11022a
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Sep 12, 2024
46a13a2
Merge pull request #103 from buildingSMART/release/0.6.6
civilx64 Sep 21, 2024
0c91905
Restore dispatch.yml
rw-bsi Sep 25, 2024
afcac00
Delete .github/workflows/ci_cd.yml
rw-bsi Oct 17, 2024
d7bbca7
Update build_deploy.yml
rw-bsi Oct 17, 2024
8a3a07b
Update .gitmodules
rw-bsi Oct 17, 2024
ae90dcc
prepare for release/0.6.7
bSI-Bot Oct 17, 2024
661498e
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Oct 22, 2024
607880d
Revert "Update .gitmodules"
bSI-Bot Oct 22, 2024
1da1805
Merge 'release/0.6.7' into main
bSI-Bot Oct 22, 2024
31168f5
Merge branch 'main' of https://github.com/buildingSMART/validate
bSI-Bot Oct 22, 2024
c1c9e48
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Oct 30, 2024
888fe12
Update Makefile
aothms Nov 7, 2024
8ac0de8
Update ci_cd.yml
Ghesselink Nov 7, 2024
211b3ce
Update ci_cd.yml - spacing & fetch-depth:0
Ghesselink Nov 7, 2024
02f7d79
Update build_deploy.yml
rw-bsi Nov 9, 2024
36cf929
Rename ci_cd.yml to ci_cd.yml_OBSOLETE
rw-bsi Nov 9, 2024
b73b870
Update build_deploy.yml
rw-bsi Nov 9, 2024
ce5ce6a
Mark success when validate statuscode < 0
aothms Nov 11, 2024
4b1417f
Merge pull request #119 from buildingSMART/tfk-validate-return-code
Ghesselink Nov 11, 2024
f13deb6
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Nov 12, 2024
8e3ab1d
update gitmodules & delete ci_cd workflow
Ghesselink Nov 13, 2024
6ac5a5c
reverse pull & checkout validate branch
Ghesselink Nov 13, 2024
13723b5
Update build_deploy.yml
Ghesselink Nov 13, 2024
12e040d
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Nov 19, 2024
c1021e5
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Nov 19, 2024
5d09d55
Merge release/0.6.8 into main
Ghesselink Nov 19, 2024
2c7eb41
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Nov 19, 2024
5fb3c5e
Update build_deploy.yml
rw-bsi Nov 24, 2024
8d3c50f
Delete .github/workflows/ci_cd.yml_OBSOLETE
rw-bsi Nov 24, 2024
ccd7584
remove step_file_parser
rw-bsi Nov 27, 2024
26667ba
Update dispatch.yml
rw-bsi Nov 27, 2024
67c29fe
Update build_deploy.yml
rw-bsi Nov 28, 2024
192fe61
Update build_deploy.yml
rw-bsi Feb 10, 2025
2620dbb
Update build_deploy.yml
aothms Feb 13, 2025
07c8af8
delete .github folder for release
Ghesselink Feb 13, 2025
f14895c
update checkout branches
Ghesselink Feb 13, 2025
be0d8aa
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Feb 15, 2025
d1a51d5
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Feb 15, 2025
042777c
Merge remote-tracking branch 'origin/release/0.6.12'
Ghesselink Feb 15, 2025
71db8e7
remove github folder
Ghesselink Feb 19, 2025
d48344e
correct submodule pointer
Ghesselink Feb 19, 2025
04c5492
Add 0.7.0 to build_deploy.yml
Ghesselink Feb 19, 2025
7e4c74b
Merge branch 'release/0.7.0'
Ghesselink Mar 8, 2025
cc05042
Update build_deploy.yml
rw-bsi Mar 10, 2025
4578798
rm github folder
Ghesselink Mar 11, 2025
0bf49fb
update gitmodules
Ghesselink Mar 11, 2025
263391d
Merge Release/0.7.1
Ghesselink Mar 18, 2025
a3f6e75
remove obsolete github folder
Ghesselink Mar 18, 2025
2c70ece
correct submodule pointer
Ghesselink Mar 18, 2025
667b3e8
Update build_deploy.yml
Ghesselink Mar 18, 2025
08c3084
Merge remote-tracking branch 'origin/release/0.7.2'
Ghesselink Mar 30, 2025
d65038e
Update build_deploy.yml
Ghesselink Mar 30, 2025
4901023
rm .github folder
Ghesselink Apr 17, 2025
18837ca
point to release/0.7.4
Ghesselink Apr 17, 2025
623794e
Update build_deploy.yml
Ghesselink Apr 17, 2025
64392a0
v0.7.4
Ghesselink Apr 19, 2025
9bed38f
Add workflows by IVS-216 (documentation)
Ghesselink Apr 19, 2025
f1e78f8
remove .github folder
Ghesselink Apr 28, 2025
535ebcc
correct submodule pointer
Ghesselink Apr 28, 2025
9e44e91
rm github folder
Ghesselink May 26, 2025
025f6d8
submodule pointer to 0.7.6
Ghesselink May 26, 2025
9fc0eec
Update build_deploy.yml
Ghesselink May 26, 2025
6c77592
v.0.7.5
Ghesselink Jun 23, 2025
fed620b
v0.7.6
Ghesselink Jun 23, 2025
7d31cb1
rm .github folder
Ghesselink Jun 30, 2025
88374ab
Update build_deploy.yml
Ghesselink Jun 30, 2025
e3461ff
v0.7.7
Ghesselink Jun 30, 2025
f86f2af
Certification in submodule list
Ghesselink Jul 6, 2025
c018746
remove spf submodule from main
Ghesselink Jul 6, 2025
085944b
update documentation & add restart instructions
Ghesselink Jul 6, 2025
32815c6
Release/0.7.7.1 in deployment script
Ghesselink Jul 16, 2025
68921a0
rm .github folder
Ghesselink Jul 17, 2025
da48aac
point to 0.7.7.1 submodule
Ghesselink Jul 17, 2025
5759363
Update of submodules (bSI-Bot via GH action)
github-actions[bot] Jul 24, 2025
cfc07d5
Merge release/0.7.7.1
Ghesselink Jul 28, 2025
c523654
rm .github folder
Ghesselink Jul 28, 2025
5a59580
checkout release/0.7.8 submodules
Ghesselink Jul 28, 2025
1552795
Update build_deploy.yml
Ghesselink Jul 28, 2025
2b5bdec
Merge branch 'development' into release/0.7.8
Ghesselink Jul 28, 2025
3fafd0f
rm gh workflows, set correct submodule
Ghesselink Jul 31, 2025
561315f
Update build_deploy.yml
Ghesselink Jul 31, 2025
209aeae
rm debug_toolbar outside dev
Ghesselink Jul 31, 2025
6018284
Merge remote-tracking branch 'origin/release/0.7.8'
Ghesselink Jul 31, 2025
ed4b779
Merge remote-tracking branch 'origin/release/0.7.8.1'
Ghesselink Jul 31, 2025
19babf1
prepare for release
Ghesselink Aug 25, 2025
6aec923
add defensive fetching on deployment
Ghesselink Aug 28, 2025
99a405d
fix identation error
Ghesselink Aug 28, 2025
d6c87b5
prepare for release - v0.8.0
Ghesselink Sep 15, 2025
65c9728
prepare for release/0.8.1
Ghesselink Sep 29, 2025
64bc14c
Update build_deploy.yml
Ghesselink Sep 29, 2025
df06115
Merge branch 'development' into release/0.8.1
Ghesselink Oct 15, 2025
00b9df8
Merge remote-tracking branch 'origin/development' into release/0.8.1
Ghesselink Oct 16, 2025
e0a5d75
include v0.7.9
Ghesselink Oct 30, 2025
922f7c1
include v0.8.0
Ghesselink Oct 30, 2025
4185176
include release v0.8.1
Ghesselink Oct 30, 2025
34b7dce
Add release version 0.8.2 to deployment workflow
rw-bsi Nov 10, 2025
87962fd
Merge remote-tracking branch 'origin/release/0.8.2'
Ghesselink Dec 4, 2025
bf7f66c
Add release version 0.8.3 to deployment workflow
Ghesselink Dec 9, 2025
8b0213e
Merge release/0.8.3
Dec 9, 2025
a50ab59
update submodule
Dec 9, 2025
3c6c5bc
refactor sidemenu
semonw Dec 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
210 changes: 210 additions & 0 deletions .github/workflows/build_deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
name: Build & Deploy (manually)

on:
workflow_dispatch:
inputs:

branch:
description: 'Branch to (re)deploy from'
required: true
default: 'development'
type: choice
options:
- main
- development
- release/0.6.6
- release/0.6.7
- release/0.6.8
- release/0.6.9
- release/0.6.10
- release/0.6.11
- release/0.6.12
- release/0.7.0
- release/0.7.1
- release/0.7.2
- release/0.7.3
- release/0.7.4
- release/0.7.5
- release/0.7.6
- release/0.7.7
- release/0.7.7.1
- release/0.7.8
- release/0.7.8.1
- release/0.7.9
- release/0.8.0
- release/0.8.1
- release/0.8.2
- release/0.8.3

environment:
description: 'Environment to (re)deploy to'
type: environment
default: 'development'
required: true

jobs:

build_frontend:

name: build frontend
runs-on: ubuntu-latest

steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch }}

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18

- name: Install npm packages
run: |
cd frontend
npm install

- name: Build & bundle
run: |
cd frontend
unset CI # ignore React warnings
npm run build

build_backend:

name: build backend
runs-on: ubuntu-latest

steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch }}

- name: Fetch submodules
run: |
cd backend
cd apps
git submodule update --init --recursive
git submodule update --remote

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11

- name: Create venv
run: |
cd backend
python3.11 -m venv venv

- name: Install packages
run: |
cd backend
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

- name: Install ifcopenshell package (temp)
run: |
cd backend
source venv/bin/activate
# use version of ifcopenshell with desired schema parsing
# TODO: revert to pyPI when schema parsing is published in the future
wget -O /tmp/ifcopenshell_python.zip "https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-311-v0.8.1-92b63a0-linux64.zip"
mkdir -p venv/lib/python3.11/site-packages
unzip -d venv/lib/python3.11/site-packages /tmp/ifcopenshell_python.zip

- name: Check Django config
run: |
cd backend
source venv/bin/activate
python3 manage.py check

- name: Run tests
run: |
cd backend
source venv/bin/activate
python3 manage.py test

deploy:

name: deploy to server (${{ inputs.environment }})
needs: [build_frontend, build_backend]
runs-on: ubuntu-latest
environment:
name: ${{ inputs.environment }}

steps:
- name: Configure SSH
run: |
mkdir -p ~/.ssh/
echo "$SSH_KEY" > ~/.ssh/ssh_host.key
chmod 600 ~/.ssh/ssh_host.key
cat >>~/.ssh/config <<END
Host ssh_host
HostName $SSH_HOST
User $SSH_USER
IdentityFile ~/.ssh/ssh_host.key
StrictHostKeyChecking no
END
env:
SSH_USER: ${{ secrets.SSH_USERNAME }}
SSH_KEY: ${{ secrets.SSH_PRIV_KEY }}
SSH_HOST: ${{ secrets.SSH_HOST }}

- name: Stop Docker containers
run: |
ssh ssh_host 'cd ${{ vars.REPO_CLONE_PATH }}
sudo make stop'

- name: Fetch sources & submodules
run: |
ssh ssh_host 'set -euo pipefail; \
cd ${{ vars.REPO_CLONE_PATH }} && \
git pull && \
git checkout -q ${{ inputs.branch }} && \
git pull && \
sudo make fetch-modules'

- name: Checkout correct branches
run: |
ssh ssh_host 'cd ${{ vars.REPO_CLONE_PATH }}
cd ${{ vars.REPO_CLONE_PATH }}/backend/apps/ifc_validation/checks/ifc_gherkin_rules && git checkout -q ${{ inputs.branch }} && git pull
cd ./ifc_validation_models && git checkout -q ${{ inputs.branch }} && git pull
cd ${{ vars.REPO_CLONE_PATH }}/backend/apps/ifc_validation_models && git checkout -q ${{ inputs.branch }} && git pull
cd ${{ vars.REPO_CLONE_PATH }}
./check-submodules.sh'

- name: Show repo & git status
run: |
ssh ssh_host 'cd ${{ vars.REPO_CLONE_PATH }}
echo "*** Validate repository"
git remote get-url origin && git rev-parse --abbrev-ref HEAD && git rev-parse --short HEAD
echo "*** git status"
git status'

- name: Show submodule status
run: |
ssh ssh_host 'cd ${{ vars.REPO_CLONE_PATH }} && \
./check-submodules.sh'

- name: Set VERSION
run: |
ssh ssh_host 'cd ${{ vars.REPO_CLONE_PATH }}
COMMIT_HASH=$(git rev-parse --short HEAD)
VERSION="${{ vars.VERSION }}"
echo "Set VERSION to ${VERSION}"
echo "Set COMMIT_HASH to ${COMMIT_HASH}"
echo "${VERSION}" > .VERSION'

- name: Build Docker images
run: |
ssh ssh_host 'cd ${{ vars.REPO_CLONE_PATH }}
sudo make rebuild'

- name: Start Docker containers
run: |
ssh ssh_host 'cd ${{ vars.REPO_CLONE_PATH }}
sudo docker compose -f ${{ vars.DOCKER_COMPOSE_FILE }} --env-file ${{ vars.ENV_FILE }} up -d'
105 changes: 0 additions & 105 deletions .github/workflows/ci.yml

This file was deleted.

Loading