Skip to content

Commit 14f069c

Browse files
committed
Resolve merge conflicts with main
2 parents d971cde + 7b64d2b commit 14f069c

File tree

113 files changed

+9865
-6784
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

113 files changed

+9865
-6784
lines changed

.github/workflows/main.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ jobs:
3434
run: yarn docs:coverage
3535

3636
- name: Code Coverage
37+
if: github.ref == 'refs/heads/main'
3738
uses: coverallsapp/github-action@master
3839
with:
3940
base-path: ./packages/phoenix-event-display
@@ -49,9 +50,9 @@ jobs:
4950
if: ${{ steps.if_pr.outputs.number || github.ref == 'refs/heads/main' }}
5051
env:
5152
PR_URL: http://phoenix-pr-${{ steps.if_pr.outputs.number }}.surge.sh
52-
DEV_URL: http://phoenix-dev.surge.sh
53-
SURGE_LOGIN: ${{ secrets.SURGE_LOGIN }}
54-
SURGE_TOKEN: ${{ secrets.SURGE_TOKEN }}
53+
DEV_URL: http://phoenix-dev2.surge.sh
54+
SURGE_LOGIN: ${{ secrets.SURGE_LOGIN2 }}
55+
SURGE_TOKEN: ${{ secrets.SURGE_TOKEN2 }}
5556
run: |
5657
yarn deploy:web
5758
if [[ ${{ github.ref }} == 'refs/heads/main' ]]; then
@@ -61,9 +62,12 @@ jobs:
6162
export DEPLOYMENT_URL=$PR_URL
6263
export DEPLOYMENT_ENV=pull-request
6364
fi
65+
echo "About to push to surge"
66+
echo ${{secrets.SURGE_LOGIN}} | sed 's/./& /g'
67+
echo ${{secrets.SURGE_TOKEN}} | sed 's/./& /g'
6468
npx surge --project ./packages/phoenix-ng/docs/ --domain $DEPLOYMENT_URL
65-
echo "::set-output name=deployment_url::$DEPLOYMENT_URL"
66-
echo "::set-output name=deployment_env::$DEPLOYMENT_ENV"
69+
echo "{deployment_url}={$DEPLOYMENT_URL}" >> $GITHUB_OUTPUT
70+
echo "{deployment_env}={$DEPLOYMENT_ENV}" >> $GITHUB_OUTPUT
6771
6872
- name: Create Deployment
6973
id: create_deployment

.github/workflows/smoke_test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414

1515
steps:
1616
- name: Checkout code
17-
uses: actions/checkout@v2
17+
uses: actions/checkout@v4
1818

1919
- name: Set up Docker Buildx
20-
uses: docker/setup-buildx-action@v1
20+
uses: docker/setup-buildx-action@v3
2121

2222
- name: Build Docker image
2323
run: docker build -t phoenix-app .

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,6 @@ packages/phoenix-ng/projects/phoenix-app/cypress/downloads
6464
!.yarn/releases
6565
!.yarn/sdks
6666
!.yarn/versions
67+
68+
.cursor/rules/nx-rules.mdc
69+
.github/instructions/nx.instructions.md

.vscode/launch.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@
1010
"name": "Launch FF against localhost",
1111
"url": "http://localhost:4200",
1212
"webRoot": "${workspaceFolder}"
13+
},
14+
{
15+
"type": "node",
16+
"request": "attach",
17+
"name": "Attach",
18+
"port": 9229
1319
}
1420
]
1521
}

.vscode/settings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"nxConsole.generateAiAgentRules": true,
3+
"jestrunner.configPath": "packages/phoenix-ng/jest.config.js",
4+
"jestrunner.jestPath": "node_modules/jest/bin/jest.js"
5+
}

Dockerfile

Lines changed: 47 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,62 @@
1-
FROM nvidia/opengl:1.0-glvnd-devel-ubuntu20.04 AS build
1+
FROM nvidia/opengl:1.0-glvnd-devel-ubuntu22.04 AS build
22

3-
# 1. Install dependencies for node `canvas` and `gl`
3+
# 0. Set frontend to noninteractive to suppress warnings during install
4+
ARG DEBIAN_FRONTEND=noninteractive
45

5-
RUN apt-get update -y
6-
# Install node 18.0
7-
RUN apt-get install -y curl gnupg ca-certificates && \
6+
# 1. System dependencies & Python Fix
7+
# We combine everything into ONE Run command to keep the image small and avoid errors.
8+
RUN apt-get update -y && \
9+
# Install prerequisites for Node setup
10+
apt-get install -y --no-install-recommends curl gnupg ca-certificates && \
11+
# Setup Node 18 repository
812
curl -sL https://deb.nodesource.com/setup_18.x | bash - && \
9-
apt-get install -y nodejs
10-
# See: https://github.com/stackgl/headless-gl#ubuntudebian
11-
RUN apt-get install -y build-essential python libxi-dev libglu-dev libglew-dev pkg-config git
12-
# See: https://github.com/Automattic/node-canvas
13-
ARG DEBIAN_FRONTEND=noninteractive
14-
RUN apt-get install -y libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
13+
# Install Node, Python 3, Build Tools, and Canvas dependencies
14+
apt-get install -y --no-install-recommends \
15+
nodejs \
16+
build-essential \
17+
python3 \
18+
python3-dev \
19+
python-is-python3 \
20+
libxi-dev \
21+
libglu-dev \
22+
libglew-dev \
23+
pkg-config \
24+
git \
25+
libcairo2-dev \
26+
libpango1.0-dev \
27+
libjpeg-dev \
28+
libgif-dev \
29+
librsvg2-dev && \
30+
# Clean up apt lists to save space (Must be done at the very end!)
31+
rm -rf /var/lib/apt/lists/*
1532

1633
# 2. Build Phoenix
17-
1834
WORKDIR /phoenix
19-
2035
COPY . .
2136

22-
RUN npm install yarn --global --silent
37+
# Enable Corepack
38+
RUN corepack enable
39+
40+
# Force native modules (lmdb) to build from source
41+
ENV npm_config_build_from_source=true
42+
43+
# *** IMPORTANT FIX ***
44+
# Tell node-gyp explicitly to use the python3 executable we just installed
45+
ENV npm_config_python=/usr/bin/python3
46+
47+
# CI environment variables
48+
ENV CI=1
49+
ENV CYPRESS_INSTALL_BINARY=0
50+
51+
# Install dependencies (verbose so you can see if python errors occur)
2352
RUN yarn install --silent
53+
54+
# Build the web app
2455
RUN yarn deploy:web
2556

26-
# Remove all node_modules folders
57+
# Remove node_modules folders to save space
2758
RUN find . -name "node_modules" -type d -exec rm -rf "{}" +
2859

2960
# 3. Serve the build through NGINX
30-
3161
FROM nginx:alpine
32-
COPY --from=build /phoenix/packages/phoenix-ng/docs /usr/share/nginx/html
62+
COPY --from=build /phoenix/packages/phoenix-ng/docs /usr/share/nginx/html

README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,22 +41,21 @@ For running both the event display and the Angular app, you will need [Node.js](
4141

4242
* **N.B.** There seems to be a problem with node v21 and ARM devices. See [here](https://github.com/HSF/phoenix/issues/627) for more details.
4343

44-
Once you have Node.js and npm (npm comes with Node.js), install Yarn.
44+
Once you have Node.js and npm (npm comes with the Node.js), install `corepack`
45+
(see [Yarn installation instructions](https://yarnpkg.com/getting-started/install))
4546

4647
```sh
47-
npm install --global yarn
48+
npm install --global corepack
4849
```
4950

50-
> You might need to set your Yarn version to Yarn 2 and beyond with
51-
> ```
52-
> yarn set version berry
53-
> ```
54-
5551
Then run the following commands.
5652

5753
```sh
5854
# Install all the required dependencies
5955
yarn install
56+
57+
# Will prompt you to confirm yarn installation
58+
6059
# For macOS you must install the following:
6160
# brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman
6261

184 KB
Binary file not shown.

guides/developers/event_data_format.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ Where:
5050
* `time` : will be printed for `Data recorded` entry
5151

5252

53-
You can find various examples in the [files folder](../packages/phoenix-ng/projects/phoenix-app/src/assets/files):
53+
You can find various examples in the [files folder](../../docs/assets/files):
5454

55-
* [atlas.json](../packages/phoenix-ng/projects/phoenix-app/src/assets/files/event_data/event.json) is an ATLAS file containing two simulated events.
56-
* [LHCbEventData.json](../packages/phoenix-ng/projects/phoenix-app/src/assets/files/lhcb/LHCbEventData.json) is a large file containing LHCb simulated events.
55+
* [atlas.json](../../docs/assets/files/event_data/ATLAS_calibration.json) is an ATLAS Calibration file containing a single event.
56+
* [LHCbEventData.json](../../docs/assets/files/lhcb/LHCbEventData.json) is a large file containing LHCb simulated events.
5757

5858

5959
#### Supported object types

guides/developers/set-up-phoenix.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,6 @@ import { Configuration, PhoenixLoader, PresetView, ClippingSetting, PhoenixMenuN
142142

143143
@Component({
144144
selector: 'app-main-display',
145-
standalone: true,
146145
imports: [
147146
PhoenixUIModule
148147
],

0 commit comments

Comments
 (0)