Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
30 changes: 17 additions & 13 deletions .github/workflows/test-publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,25 +35,29 @@ jobs:
- '--release=2.11.0'
- '--release=2.12'
- '--release=2.13.3'
- '--release=2.14'
- '--release=2.16'
- '--release=3.0.4'
- '--release=3.1.2'
- '--release=3.2.2'
- '--release=3.3.2'
- '--release=3.4.1'
# Latest version
-
-
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4

- uses: actions/cache@v2
- uses: actions/cache@v4
name: Meteor cache
with:
path: ~/.meteor
key: ${{ runner.os }}-meteor-${{ matrix.meteorOptions }}

- uses: satackey/action-docker-layer-caching@v0.0.11
continue-on-error: true

- name: Install Node.js
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: '14.x'
node-version: '20.x'

- name: Install npm dependencies
run: npm ci
Expand All @@ -71,15 +75,15 @@ jobs:
needs: test
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '14.x'
node-version: '20.x'

- name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
Expand Down
1 change: 1 addition & 0 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Docker image to run Meteor apps.

- `zodern/meteor` The recommended version. Runs the app as a non-root user.
- `zodern/meteor:root` Compatible with meteord. Runs the app as the root user and has phantomjs installed. Any notes below about permissions do not apply to this image.
- `zodern/meteor:<major>` or `zodern/meteor:<major>-root` (for example, `zodern/meteor:1`) Use the latest minor or patch version, without any breaking changes in a new major version (such as changing to a newer Debian base image).
- `zodern/meteor:slim` Coming soon. Is a smaller image without node or npm pre-installed. During ONBUILD or when starting the app, it will install the correct version.

## How To Use
Expand Down
6 changes: 6 additions & 0 deletions tests/publish.sh
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
set -e
VERSION="$1"

MAJOR="${VERSION%%.*}"

# Normal image
docker tag zodern/meteor zodern/meteor:latest
docker tag zodern/meteor zodern/meteor:$VERSION
docker tag zodern/meteor zodern/meteor:$MAJOR

docker push zodern/meteor:latest
docker push zodern/meteor:$VERSION
docker push zodern/meteor:$MAJOR

# root image
docker tag zodern/meteor:root zodern/meteor:$VERSION-root
docker tag zodern/meteor:root zodern/meteor:$MAJOR-root

docker push zodern/meteor:root
docker push zodern/meteor:$VERSION-root
docker push zodern/meteor:$MAJOR-root
8 changes: 6 additions & 2 deletions tests/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ change_version() {
sleep 1

echo "=> npm install babel-runtime"
hide_output meteor npm install babel-runtime -q || true
NODE_TLS_REJECT_UNAUTHORIZED=0 npm_config_strict_ssl=false hide_output meteor npm install babel-runtime -q || true

# At some point, the default app started creating Mongo collections
# Remove the default server code so we can test without Mongo
Expand Down Expand Up @@ -75,6 +75,8 @@ test_bundle() {
-v "$PWD"/../bundle:/bundle \
-e "ROOT_URL=http://localhost.com" \
-e "NPM_INSTALL_OPTIONS=--no-bin-links" \
-e "NODE_TLS_REJECT_UNAUTHORIZED=0" \
-e "npm_config_strict_ssl=false" \
-p 3000:3000 \
-d \
--name meteor-docker-test \
Expand All @@ -97,6 +99,8 @@ EOT
hide_output docker build --build-arg NODE_VERSION="$NODE_VERSION" -t zodern/meteor-test .
docker run --name meteor-docker-test \
-e "ROOT_URL=http://app.com" \
-e "NODE_TLS_REJECT_UNAUTHORIZED=0" \
-e "npm_config_strict_ssl=false" \
-p 3000:3000 \
-d \
zodern/meteor-test
Expand All @@ -114,7 +118,7 @@ test_built_docker() {
cat <<EOT > Dockerfile
FROM $DOCKER_IMAGE
COPY --chown=app:app . /built_app
RUN cd /built_app/programs/server && npm install $NPM_OPTIONS
RUN cd /built_app/programs/server && NODE_TLS_REJECT_UNAUTHORIZED=0 npm_config_strict_ssl=false npm install $NPM_OPTIONS
EOT

hide_output docker build --build-arg NODE_VERSION="$NODE_VERSION" -t zodern/meteor-test .
Expand Down
Loading