From fd4ac7dd13d37eeaa1584b260b439e0dce0a4a65 Mon Sep 17 00:00:00 2001 From: Tim Welch Date: Wed, 26 Jun 2024 10:18:45 -0700 Subject: [PATCH] Publish stable (#3) * create unstable release tag, upgrade to latest node, gdal and python3 * fix misuse of x86 miniconda for arm * test build of last * switch back to arm64 --- .github/workflows/publish-unstable.yml | 51 ++++++++++++++++++++++++++ Dockerfile | 4 +- installer/linux/amd64.sh | 10 ++--- installer/linux/arm64.sh | 10 ++--- tests/run_tests.sh | 8 ++-- 5 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/publish-unstable.yml diff --git a/.github/workflows/publish-unstable.yml b/.github/workflows/publish-unstable.yml new file mode 100644 index 0000000..4d98304 --- /dev/null +++ b/.github/workflows/publish-unstable.yml @@ -0,0 +1,51 @@ +name: publish-unstable + +on: + push: + branches: + - "dev" + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v3 + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + # list of Docker images to use as base name for tags + images: | + seasketch/geoprocessing-workspace + # generate Docker tags based on the following events/attributes + tags: | + type=sha + - + name: Build and push + uses: docker/build-push-action@v3 + with: + file: Dockerfile + context: . + cache-from: type=gha + cache-to: type=gha,mode=max + platforms: linux/amd64,linux/arm64 + push: true + tags: | + seasketch/geoprocessing-workspace:unstable + ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 6527f12..0042053 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,14 +27,14 @@ RUN sudo apt-get update && sudo apt-get -y upgrade \ && sudo rm -rf /var/lib/apt/lists/* # Install nvm to user directory - based on https://github.com/nvm-sh/nvm and https://github.com/nvm-sh/nvm/blob/master/Dockerfile -ENV NODE_VERSION v16.16.0 +ENV NODE_VERSION v20.12.1 RUN mkdir -p /home/vscode/.nvm/ RUN chown vscode:vscode -R "$HOME/.nvm" RUN echo 'export NVM_DIR="/home/vscode/.nvm"' >> "$HOME/.bashrc" RUN echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> "$HOME/.bashrc" RUN echo '[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion' >> "$HOME/.bashrc" RUN cd ~ -RUN sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash +RUN sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # Install platform specific dependencies COPY installer/ /installer diff --git a/installer/linux/amd64.sh b/installer/linux/amd64.sh index 0380a4f..ef685ce 100644 --- a/installer/linux/amd64.sh +++ b/installer/linux/amd64.sh @@ -3,16 +3,16 @@ # Put installer in current user home directory, install to home directory, add to user bash config, and remove installer mkdir -p ~/miniconda \ && cd ~/miniconda \ - && wget https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-Linux-x86_64.sh \ + && wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \ && mkdir ~/.conda \ - && chmod 755 Miniconda3-py38_23.3.1-0-Linux-x86_64.sh \ - && bash Miniconda3-py38_23.3.1-0-Linux-x86_64.sh -b -p /home/vscode/miniconda3 \ + && chmod 755 Miniconda3-latest-Linux-x86_64.sh \ + && bash Miniconda3-latest-Linux-x86_64.sh -b -p /home/vscode/miniconda3 \ && echo "Running $(conda --version)" && \ conda init bash && \ . /home/vscode/.bashrc && \ conda update conda && \ - conda install python=3.8 pip && \ - conda install -c conda-forge gdal=3.3.1 && \ + conda install python pip && \ + conda install -c conda-forge gdal && \ cd ~ && \ rm -rf ~/miniconda diff --git a/installer/linux/arm64.sh b/installer/linux/arm64.sh index 0e4236e..019b3d0 100644 --- a/installer/linux/arm64.sh +++ b/installer/linux/arm64.sh @@ -3,16 +3,16 @@ # Put installer in current user home directory, install to home directory, add to user bash config, and remove installer mkdir -p ~/miniconda \ && cd ~/miniconda \ - && wget https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-Linux-aarch64.sh \ + && wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh \ && mkdir ~/.conda \ - && chmod 755 Miniconda3-py38_23.3.1-0-Linux-aarch64.sh \ - && bash Miniconda3-py38_23.3.1-0-Linux-aarch64.sh -b -p /home/vscode/miniconda3 \ + && chmod 755 Miniconda3-latest-Linux-aarch64.sh \ + && bash Miniconda3-latest-Linux-aarch64.sh -b -p /home/vscode/miniconda3 \ && echo "Running $(conda --version)" && \ conda init bash && \ . /home/vscode/.bashrc && \ conda update conda && \ - conda install python=3.8 pip && \ - conda install -c conda-forge gdal=3.3.1 && \ + conda install pip && \ + conda install -c conda-forge gdal && \ cd ~ && \ rm -rf ~/miniconda diff --git a/tests/run_tests.sh b/tests/run_tests.sh index 9768bb3..acd20db 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -1,12 +1,12 @@ #!/bin/bash echo -echo "proj" $(proj 2>&1 | head -n 1) -echo "geos" $(geos-config --version) +# echo "proj" $(proj 2>&1 | head -n 1) +# echo "geos" $(geos-config --version) gdalinfo --version ogrinfo --formats | grep FlatGeobuf python --version -echo "node" $(node -v) -echo "npm" $(npm -v) +# echo "node" $(node -v) +# echo "npm" $(npm -v) exit 0