diff --git a/.gitea/workflows/action.yml b/.gitea/workflows/action.yml index 50db94c..70330af 100644 --- a/.gitea/workflows/action.yml +++ b/.gitea/workflows/action.yml @@ -21,6 +21,65 @@ jobs: echo "Docker installation not found. Docker will be installed" curl -fsSL https://get.docker.com | sh fi + - name: Install npm dependencies + run: | + echo "Installing fetch" + install_node=$false + if ! command -v node &> /dev/null; then + echo "No version of NodeJS detected" + install_node=true + else + node_version=$(node -v) + node_version=${node_version:1} # Remove 'v' at the beginning + node_version=${node_version%\.*} # Remove trailing ".*". + node_version=${node_version%\.*} # Remove trailing ".*". + node_version=$(($node_version)) # Convert the NodeJS version number from a string to an integer. + if [ $node_version -lt 24 ]; then + echo "node version : " $node_version + echo $"removing outdated npm version" + install_node=true + apt-get update + apt-get remove nodejs npm + apt-get purge nodejs + rm -rf /usr/local/bin/npm + rm -rf /usr/local/share/man/man1/node* + rm -rf /usr/local/lib/dtrace/node.d + rm -rf ~/.npm + rm -rf ~/.node-gyp + rm -rf /opt/local/bin/node + rm -rf opt/local/include/node + rm -rf /opt/local/lib/node_modules + rm -rf /usr/local/lib/node* + rm -rf /usr/local/include/node* + rm -rf /usr/local/bin/node* + fi + fi + + if $install_node; then + NODE_MAJOR=24 + echo "Installing node ${NODE_MAJOR}" + if test -f /etc/apt/keyrings/nodesource.gpg; then + rm /etc/apt/keyrings/nodesource.gpg + fi + if test -f /etc/apt/sources.list.d/nodesource.list; then + rm /etc/apt/sources.list.d/nodesource.list + fi + apt-get update + apt-get install -y -q ca-certificates curl gnupg + mkdir -p /etc/apt/keyrings + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list + apt-get update + apt-get install -y -q nodejs + npm install npm --global + fi + + echo "node version : " $(node -v) + + package='node-fetch' + if [ `npm list -g | grep -c $package` -eq 0 ]; then + npm install -g $package + fi - name: Set up Docker Buildx uses: https://github.com/docker/setup-buildx-action@v3 - name: Login to Gitea container registry @@ -44,6 +103,12 @@ jobs: tags: | type=semver,pattern={{raw}} type=sha + - name: Docker Hub Description + uses: peter-evans/dockerhub-description@v5 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_PASSWORD }} + repository: davidquinonescl/hyperion-docker - name: Build and push uses: https://github.com/docker/build-push-action@v5 with: