-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #341 from beevelop/update
Update image
- Loading branch information
Showing
5 changed files
with
92 additions
and
129 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
name: Docker Image | ||
|
||
on: | ||
schedule: | ||
- cron: "0 14 * * *" # everyday at 2pm | ||
push: | ||
branches: ["**"] | ||
tags: ["v*.*.*"] | ||
|
||
env: | ||
platforms: linux/amd64 | ||
|
||
jobs: | ||
main: | ||
runs-on: ubuntu-20.04 | ||
timeout-minutes: 30 | ||
steps: | ||
- name: Check out the repo | ||
uses: actions/checkout@v2 | ||
- name: Set imageName based on the repository name | ||
id: step_one | ||
run: | | ||
imageName="${GITHUB_REPOSITORY/docker-/}" | ||
echo $imageName | ||
echo "imageName=$imageName" >> $GITHUB_ENV | ||
- name: Docker meta | ||
id: docker_meta | ||
uses: crazy-max/ghaction-docker-meta@v1 | ||
with: | ||
images: ${{ env.imageName }} | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v1 | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v1 | ||
- name: Login to Harbor | ||
uses: docker/login-action@v1 | ||
with: | ||
username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
- name: Buildx cache | ||
uses: actions/cache@v1 | ||
with: | ||
path: ${{ github.workspace }}/cache | ||
key: ${{ runner.os }}-docker-${{ hashfiles('cache/**') }} | ||
restore-keys: | | ||
${{ runner.os }}-docker | ||
- name: Build and push | ||
id: docker_build | ||
uses: docker/build-push-action@v2 | ||
with: | ||
platforms: ${{ env.platforms }} | ||
push: ${{ github.event_name != 'pull_request' }} | ||
tags: ${{ steps.docker_meta.outputs.tags }} | ||
labels: ${{ steps.docker_meta.outputs.labels }} | ||
cache-from: type=local,src=${{ github.workspace }}/cache | ||
cache-to: type=local,dest=${{ github.workspace }}/cache | ||
# temporarily disabled until https://github.com/aquasecurity/trivy-action/issues/22 is resolved | ||
# - name: Run Trivy vulnerability scanner | ||
# uses: aquasecurity/trivy-action@master | ||
# with: | ||
# image-ref: ${{ env.imageName }}:${{ steps.docker_meta.outputs.version }} | ||
# format: "template" | ||
# template: "@/contrib/sarif.tpl" | ||
# output: "trivy-results.sarif" | ||
# - name: Upload Trivy scan results to GitHub Security tab | ||
# uses: github/codeql-action/upload-sarif@v1 | ||
# with: | ||
# sarif_file: "trivy-results.sarif" |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,118 +1,15 @@ | ||
FROM beevelop/android | ||
|
||
ARG BUILD_DATE | ||
ARG BUILD_VERSION | ||
ARG VCS_REF | ||
|
||
LABEL maintainer="Maik Hummel <hi@beevelop.com>" \ | ||
org.label-schema.build-date=$BUILD_DATE \ | ||
org.label-schema.version=$BUILD_VERSION \ | ||
org.label-schema.vcs-ref=$VCS_REF \ | ||
org.label-schema.schema-version="1.0" \ | ||
org.label-schema.vcs-url="https://github.com/beevelop/docker-android-nodejs.git" \ | ||
org.label-schema.name="beevelop/android-nodejs" \ | ||
org.label-schema.vendor="Maik Hummel (beevelop)" \ | ||
org.label-schema.description="Android with Node.js inside a container" \ | ||
org.label-schema.url="https://beevelop.com/" \ | ||
org.label-schema.license="MIT" \ | ||
org.opencontainers.image.title="beevelop/android-nodejs" \ | ||
org.opencontainers.image.description="Android with Node.js inside a container" \ | ||
org.opencontainers.image.licenses="MIT" \ | ||
org.opencontainers.image.authors="Maik Hummel (beevelop)" \ | ||
org.opencontainers.image.vendor="Maik Hummel (beevelop)" \ | ||
org.opencontainers.image.url="https://github.com/beevelop/docker-android-nodejs" \ | ||
org.opencontainers.image.documentation="https://github.com/beevelop/docker-android-nodejs/blob/master/README.md" \ | ||
org.opencontainers.image.source="https://github.com/beevelop/docker-android-nodejs.git" | ||
|
||
# Source of the following lines (all rights belong to the Node.js contributors) | ||
# https://github.com/nodejs/docker-node/blob/master/12/stretch-slim/Dockerfile | ||
# LICENSE: MIT (see https://github.com/nodejs/docker-node/blob/master/LICENSE) | ||
RUN groupadd --gid 1000 node \ | ||
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node | ||
|
||
ENV NODE_VERSION 12.16.1 | ||
|
||
RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ | ||
&& case "${dpkgArch##*-}" in \ | ||
amd64) ARCH='x64';; \ | ||
ppc64el) ARCH='ppc64le';; \ | ||
s390x) ARCH='s390x';; \ | ||
arm64) ARCH='arm64';; \ | ||
armhf) ARCH='armv7l';; \ | ||
i386) ARCH='x86';; \ | ||
*) echo "unsupported architecture"; exit 1 ;; \ | ||
esac \ | ||
&& set -ex \ | ||
# libatomic1 for arm | ||
&& apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& for key in \ | ||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ | ||
FD3A5288F042B6850C66B31F09FE44734EB7990E \ | ||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ | ||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ | ||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ | ||
B9AE9905FFD7803F25714661B63B535A4C206CA9 \ | ||
77984A986EBC2AA786BC0F66B01FBB92821C587A \ | ||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \ | ||
4ED778F539E3634C779C87C6D7062848A1AB005C \ | ||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \ | ||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \ | ||
; do \ | ||
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \ | ||
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \ | ||
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \ | ||
done \ | ||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \ | ||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ | ||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ | ||
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ | ||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \ | ||
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \ | ||
&& apt-mark auto '.*' > /dev/null \ | ||
&& find /usr/local -type f -executable -exec ldd '{}' ';' \ | ||
| awk '/=>/ { print $(NF-1) }' \ | ||
| sort -u \ | ||
| xargs -r dpkg-query --search \ | ||
| cut -d: -f1 \ | ||
| sort -u \ | ||
| xargs -r apt-mark manual \ | ||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ | ||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \ | ||
# smoke tests | ||
&& node --version \ | ||
&& npm --version | ||
|
||
ENV YARN_VERSION 1.22.0 | ||
|
||
RUN set -ex \ | ||
&& savedAptMark="$(apt-mark showmanual)" \ | ||
&& apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr --no-install-recommends \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& for key in \ | ||
6A010C5166006599AA17F08146C2130DFD2497F5 \ | ||
; do \ | ||
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \ | ||
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \ | ||
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \ | ||
done \ | ||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \ | ||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \ | ||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \ | ||
&& mkdir -p /opt \ | ||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \ | ||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \ | ||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \ | ||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \ | ||
&& apt-mark auto '.*' > /dev/null \ | ||
&& { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } \ | ||
&& find /usr/local -type f -executable -exec ldd '{}' ';' \ | ||
| awk '/=>/ { print $(NF-1) }' \ | ||
| sort -u \ | ||
| xargs -r dpkg-query --search \ | ||
| cut -d: -f1 \ | ||
| sort -u \ | ||
| xargs -r apt-mark manual \ | ||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ | ||
# smoke test | ||
&& yarn --version | ||
RUN apt-get update && apt-get install -y curl gnupg2 lsb-release && \ | ||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ | ||
apt-key fingerprint 1655A0AB68576280 && \ | ||
export VERSION=node_14.x && \ | ||
export DISTRO="$(lsb_release -s -c)" && \ | ||
echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | tee /etc/apt/sources.list.d/nodesource.list && \ | ||
echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | tee -a /etc/apt/sources.list.d/nodesource.list && \ | ||
apt-get update && apt-get install -y nodejs && \ | ||
node -v && npm -v && \ | ||
npm install -g yarn && \ | ||
yarn -v && \ | ||
apt-get clean && \ | ||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,39 @@ | ||
[![Travis](https://shields.beevelop.com/travis/beevelop/docker-nodejs.svg?style=flat-square)](https://travis-ci.org/beevelop/docker-nodejs) | ||
[![Pulls](https://shields.beevelop.com/docker/pulls/beevelop/nodejs.svg?style=flat-square)](https://links.beevelop.com/d-nodejs) | ||
[![Size](https://shields.beevelop.com/docker/image/size/beevelop/nodejs/latest.svg?style=flat-square)](https://links.beevelop.com/d-nodejs) | ||
[![Layers](https://shields.beevelop.com/docker/image/layers/beevelop/nodejs/latest.svg?style=flat-square)](https://links.beevelop.com/d-nodejs) | ||
![Badges](https://shields.beevelop.com/badge/badges-7-brightgreen.svg?style=flat-square) | ||
[![Beevelop](https://links.beevelop.com/honey-badge)](https://beevelop.com) | ||
|
||
# Android Q (10) with Node.js `v12` and npm / yarn | ||
# Android 11 with Node.js `v14` and npm / yarn | ||
|
||
### based on [beevelop/android](https://github.com/beevelop/docker-android) | ||
---- | ||
|
||
--- | ||
|
||
### Pull from Docker Hub | ||
|
||
``` | ||
docker pull beevelop/android-nodejs:latest | ||
``` | ||
|
||
### Build from GitHub | ||
|
||
``` | ||
docker build -t beevelop/android-nodejs github.com/beevelop/docker-android-nodejs | ||
``` | ||
|
||
### Run image | ||
|
||
``` | ||
docker run -it beevelop/android-nodejs bash | ||
``` | ||
|
||
### Use as base image | ||
|
||
```Dockerfile | ||
FROM beevelop/android-nodejs:latest | ||
``` | ||
|
||
---- | ||
--- | ||
|
||
![One does not simply use latest](https://i.imgflip.com/1fgwxr.jpg) |