Skip to content

Commit

Permalink
feat: meteor 3.0.4
Browse files Browse the repository at this point in the history
  • Loading branch information
Julusian committed Nov 5, 2024
1 parent c2a6522 commit 421d906
Show file tree
Hide file tree
Showing 139 changed files with 1,589 additions and 3,965 deletions.
4 changes: 1 addition & 3 deletions .github/actions/setup-meteor/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,5 @@ description: "Setup Meteor"
runs:
using: "composite"
steps:
- run: curl "https://install.meteor.com/?release=2.13.3" | sh
shell: bash
- run: meteor npm install -g yarn
- run: curl "https://install.meteor.com/?release=3.0.4" | sh
shell: bash
4 changes: 2 additions & 2 deletions .github/workflows/audit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
run: |
yarn
cd meteor
meteor yarn validate:prod-dependencies
yarn validate:prod-dependencies
env:
CI: true

Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
run: |
yarn
cd meteor
meteor yarn run validate:all-dependencies
yarn run validate:all-dependencies
env:
CI: true

Expand Down
32 changes: 12 additions & 20 deletions .github/workflows/node.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
# setup zodern:types. No linters are setup, so this simply installs the packages
meteor lint
meteor yarn ci:lint
yarn ci:lint
env:
CI: true

Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
# setup zodern:types. No linters are setup, so this simply installs the packages
meteor lint
NODE_OPTIONS="--max-old-space-size=6144" meteor yarn unitci --force-exit
NODE_OPTIONS="--max-old-space-size=6144" yarn unitci --force-exit
env:
CI: true
- name: Send coverage
Expand Down Expand Up @@ -480,38 +480,30 @@ jobs:
- blueprints-integration
- server-core-integration
- shared-lib
node-version: [14.x, 18.x, 20.x, 22.x]
- openapi
node-version: [20.x, 22.x]
include:
# include additional configs, to run certain packages only for a certain version of node
- node-version: 14.x
- node-version: 20.x
package-name: corelib
send-coverage: true
- node-version: 14.x
- node-version: 20.x
package-name: job-worker
send-coverage: true
# manual openapi to avoid testing for 14.x
- node-version: 18.x
package-name: openapi
- node-version: 20.x
package-name: openapi
- node-version: 22.x
package-name: openapi
# No tests for the gateways yet
# - node-version: 18.x
# - node-version: 20.x
# package-name: playout-gateway
# - node-version: 18.x
# - node-version: 20.x
# package-name: mos-gateway
- node-version: 18.x
- node-version: 20.x
package-name: live-status-gateway
send-coverage: true
- node-version: 18.x
- node-version: 20.x
package-name: webui
# manual meteor-lib as it only needs a couple of versions
- node-version: 18.x
- node-version: 20.x
package-name: meteor-lib
send-coverage: true
- node-version: 14.x
package-name: meteor-lib

steps:
- uses: actions/checkout@v4
Expand All @@ -531,7 +523,7 @@ jobs:
run: |
cd packages
yarn config set cacheFolder /home/runner/test-packages-cache
node is_node_14.js && yarn lerna run --ignore openapi install || yarn install
yarn install
yarn lerna run --scope \*\*/${{ matrix.package-name }} --include-dependencies --stream build
env:
CI: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/prerelease-libs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
- blueprints-integration
- server-core-integration
- shared-lib
node-version: [14.x, 18.x, 20.x, 22.x]
node-version: [20.x, 22.x]

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.16
20.18
6 changes: 2 additions & 4 deletions DEVELOPER.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@ Follow these instructions to start up Sofie Core in development mode. (For produ

### Prerequisites

- Install [Node.js](https://nodejs.org) 14 (using [nvm](https://github.com/nvm-sh/nvm) or [nvm-windows](https://github.com/coreybutler/nvm-windows) is the recommended way to install Node.js)
- Install [Meteor](https://www.meteor.com/install) (`npm install --global meteor@2`)
- Install [Node.js](https://nodejs.org) 18 (using the same method you used above, you can uninstall node 14 if needed)
- Install an older version of corepack (`npm install --global [email protected]`)
- Install [Node.js](https://nodejs.org) 20 (using [nvm](https://github.com/nvm-sh/nvm) or [nvm-windows](https://github.com/coreybutler/nvm-windows) is the recommended way to install Node.js)
- Install [Meteor](https://www.meteor.com/install) (`npm install --global meteor`)
- Enable [corepack](https://nodejs.org/api/corepack.html#corepack) (`corepack enable`) as administrator/root. If `corepack` is not found, you may need to install it first with `npm install --global corepack`

- If on Windows, you may need to `npm install --global windows-build-tools` but this is not always necessary
Expand Down
1 change: 0 additions & 1 deletion meteor/.eslintignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
.meteor
public
eslint-rules
scripts
server/_force_restart.js
/packages/
3 changes: 1 addition & 2 deletions meteor/.eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const tmpRules = {
}

const tsBase = {
extends: [...tsExtends, 'plugin:custom-rules/all'],
extends: [...tsExtends],
plugins: tsPlugins,
...tsParser,
settings: {
Expand Down Expand Up @@ -50,7 +50,6 @@ const tsBase = {
allowModules: ['meteor', 'mongodb'],
},
],
'jest/no-standalone-expect': 'off', // testInFiber confuses the rule
...tmpRules,
},
}
Expand Down
20 changes: 9 additions & 11 deletions meteor/.meteor/packages
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,17 @@

# but you can also edit it by hand.

meteor[email protected] # Packages every Meteor app needs to have
[email protected] # The database Meteor supports right now
reactive-var@1.0.12 # Reactive variable for tracker
meteor@2.0.1
[email protected]
ddp@1.4.2

[email protected] # Enable ECMAScript2015+ syntax in app code
[email protected] # Enable TypeScript syntax in .ts and .tsx modules
[email protected] # Server-side component of the `meteor shell` command
[email protected] # The database Meteor supports right now

[email protected] # Meteor's client-side reactive programming library
[email protected] # Enable ECMAScript2015+ syntax in app code
[email protected] # Enable TypeScript syntax in .ts and .tsx modules

[email protected]
ostrio:meteor-root
accounts-password@2.4.0
[email protected] # Meteor's client-side reactive programming library

accounts-password@3.0.2

julusian:[email protected]
zodern:types
2 changes: 1 addition & 1 deletion meteor/.meteor/release
Original file line number Diff line number Diff line change
@@ -1 +1 @@
METEOR@2.16
METEOR@3.0.4
124 changes: 59 additions & 65 deletions meteor/.meteor/versions
Original file line number Diff line number Diff line change
@@ -1,65 +1,59 @@
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
julusian:[email protected]
kschingiz:[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
ostrio:[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
zodern:[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
zodern:[email protected]
34 changes: 7 additions & 27 deletions meteor/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:experimental

# BUILD WEBUI
FROM node:18
FROM node:20
COPY packages /opt/core/packages
WORKDIR /opt/core/packages

Expand All @@ -14,8 +14,8 @@ RUN yarn install && yarn build
# RUN yarn workspaces focus --production @sofie-automation/job-worker @sofie-automation/corelib

# BUILD IMAGE
FROM meteor/node:14.21.4
RUN curl "https://install.meteor.com/?release=2.13.3" | sh
FROM node:20
RUN curl "https://install.meteor.com/?release=3.0.4" | sh

# Temporary change the NODE_ENV env variable, so that all libraries are installed:
ENV NODE_ENV_TMP $NODE_ENV
Expand All @@ -37,8 +37,8 @@ RUN rm -R /opt/core/packages/webui

# Force meteor to setup the runtime
RUN meteor --version --allow-superuser
RUN meteor corepack enable
RUN meteor yarn install
RUN corepack enable
RUN yarn install

# Restore the NODE_ENV variable:
ENV NODE_ENV $NODE_ENV_TMP
Expand All @@ -50,29 +50,9 @@ RUN npm install
RUN mv /opt/bundle/programs/web.browser/assets /opt/bundle/programs/web.browser/app/assets || true

# DEPLOY IMAGE
FROM alpine:3.19

ENV NODE_VERSION=14.21.4
ENV NODE_URL="https://static.meteor.com/dev-bundle-node-os/unofficial-builds/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz"
ENV DIR_NODE=/usr/local

RUN apk add --no-cache \
libstdc++ \
&& apk add --no-cache --virtual .build-deps-full \
binutils-gold \
curl \
gnupg \
xz

RUN echo $NODE_URL \
&& curl -sSL "$NODE_URL" | tar -xz -C /usr/local/ && mv $DIR_NODE/node-v${NODE_VERSION}-linux-x64 $DIR_NODE/v$NODE_VERSION

# add node and npm to path so the commands are available
ENV NODE_PATH $DIR_NODE/v$NODE_VERSION/lib/node_modules
ENV PATH $DIR_NODE/v$NODE_VERSION/bin:$PATH
FROM node:20-alpine

# confirm installation
RUN node -v && npm -v
RUN apk add --no-cache tzdata

COPY --from=1 /opt/bundle /opt/core
COPY meteor/docker-entrypoint.sh /opt
Expand Down
Loading

0 comments on commit 421d906

Please sign in to comment.