diff --git a/.github/workflows/test-publish.yaml b/.github/workflows/test-publish.yaml index f173b2d..710cd1d 100644 --- a/.github/workflows/test-publish.yaml +++ b/.github/workflows/test-publish.yaml @@ -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 @@ -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 }} diff --git a/readme.md b/readme.md index 2b4e6b0..3434516 100644 --- a/readme.md +++ b/readme.md @@ -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:` or `zodern/meteor:-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 diff --git a/tests/publish.sh b/tests/publish.sh index c64972f..056a1a3 100644 --- a/tests/publish.sh +++ b/tests/publish.sh @@ -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 diff --git a/tests/test.sh b/tests/test.sh index 5cfda45..ebdd84a 100644 --- a/tests/test.sh +++ b/tests/test.sh @@ -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 @@ -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 \ @@ -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 @@ -114,7 +118,7 @@ test_built_docker() { cat < 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 .