mirror of
https://github.com/boostorg/release-tools.git
synced 2026-01-19 04:42:10 +00:00
Boost release 24.04 (#69)
This commit is contained in:
76
.github/workflows/boost_release.yml
vendored
Normal file
76
.github/workflows/boost_release.yml
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
# Copyright 2022 Sam Darwin
|
||||
#
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
|
||||
|
||||
name: boost_release
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- ci_boost_common.py
|
||||
- ci_boost_release.py
|
||||
- '.github/workflows/boost_release.yml'
|
||||
push:
|
||||
paths:
|
||||
- ci_boost_common.py
|
||||
- ci_boost_release.py
|
||||
- '.github/workflows/boost_release.yml'
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
- feature/**
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
container: cppalliance/boost_superproject_build:24.04-v1
|
||||
packages: htop
|
||||
- os: ubuntu-latest
|
||||
container: cppalliance/boost_superproject_build:22.04-v1
|
||||
packages: htop
|
||||
|
||||
timeout-minutes: 720
|
||||
runs-on: ${{matrix.os}}
|
||||
container: ${{matrix.container}}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: boost_release
|
||||
run: |
|
||||
set -xe
|
||||
whoami
|
||||
env
|
||||
pwd
|
||||
|
||||
mkdir -p /root
|
||||
cp ci_boost_common.py /root/
|
||||
cp ci_boost_release.py /root/
|
||||
cd /root/
|
||||
|
||||
boostbranch=develop
|
||||
if [ ! -d project ]; then
|
||||
git clone https://github.com/boostorg/boost project
|
||||
cd project
|
||||
# "git checkout" can also checkout commits
|
||||
git checkout $boostbranch
|
||||
cd ..
|
||||
fi
|
||||
|
||||
export CIRCLECI=true
|
||||
export CIRCLE_BRANCH=develop
|
||||
export CIRCLE_WORKING_DIRECTORY=$(pwd)/project
|
||||
|
||||
python3 ci_boost_release.py checkout_post
|
||||
EOL=LF python3 ci_boost_release.py test_override
|
||||
112
docker/python3/noble/Dockerfile
Normal file
112
docker/python3/noble/Dockerfile
Normal file
@@ -0,0 +1,112 @@
|
||||
FROM ubuntu:noble
|
||||
LABEL maintainer="samuel.d.darwin@gmail.com"
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
RUN set -xe \
|
||||
&& apt-get update \
|
||||
&& DEBIAN_FRONTEND="noninteractive" apt-get install -y tzdata \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y locales \
|
||||
&& apt-get install -y \
|
||||
apt-transport-https \
|
||||
bison \
|
||||
ca-certificates \
|
||||
clang \
|
||||
cmake \
|
||||
curl \
|
||||
default-jre-headless \
|
||||
docbook \
|
||||
docbook-xml \
|
||||
docbook-xsl \
|
||||
docutils-common \
|
||||
docutils-doc \
|
||||
dos2unix \
|
||||
flex \
|
||||
ghostscript \
|
||||
git \
|
||||
graphviz \
|
||||
jq \
|
||||
libsaxonhe-java \
|
||||
openssh-client \
|
||||
p7zip-full \
|
||||
python-is-python3 \
|
||||
python3-pip \
|
||||
python3-venv \
|
||||
rsync \
|
||||
ruby \
|
||||
software-properties-common \
|
||||
sshpass \
|
||||
sudo \
|
||||
texlive \
|
||||
texlive-latex-extra \
|
||||
unzip \
|
||||
vim \
|
||||
wget \
|
||||
xsltproc \
|
||||
&& sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
|
||||
&& dpkg-reconfigure --frontend=noninteractive locales \
|
||||
&& update-locale LANG=en_US.UTF-8 \
|
||||
&& python3 -m venv /opt/venvboostdocs \
|
||||
&& export PATH=/opt/venvboostdocs/bin:$PATH \
|
||||
&& mkdir /tmp/aws_cli_install && cd /tmp/aws_cli_install && curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && unzip awscliv2.zip && ./aws/install && cd /root && rm -rf /tmp/aws_cli_install \
|
||||
&& mkdir /tmp/rclone_install && cd /tmp/rclone_install && wget https://downloads.rclone.org/v1.63.1/rclone-v1.63.1-linux-amd64.deb && dpkg -i rclone-v1.63.1-linux-amd64.deb && cd /root && rm -rf /tmp/rclone_install \
|
||||
&& curl -s -S --retry 10 -L -o gh_2.40.1_linux_amd64.deb https://github.com/cli/cli/releases/download/v2.40.1/gh_2.40.1_linux_amd64.deb \
|
||||
&& dpkg -i gh_2.40.1_linux_amd64.deb \
|
||||
&& gem install public_suffix --version 5.0.3 \
|
||||
&& gem install css_parser --version 1.16.0 \
|
||||
&& git clone -b 'Release_1_9_5' --depth 1 https://github.com/doxygen/doxygen.git \
|
||||
&& cd doxygen \
|
||||
&& cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release \
|
||||
&& cd build \
|
||||
&& make install \
|
||||
&& cd && rm -rf doxygen* \
|
||||
&& curl -s -S --retry 10 -L -o saxonhe.zip https://sourceforge.net/projects/saxon/files/Saxon-HE/9.9/SaxonHE9-9-1-4J.zip/download \
|
||||
&& unzip saxonhe.zip \
|
||||
&& rm /usr/share/java/Saxon-HE.jar \
|
||||
&& cp saxon9he.jar /usr/share/java/Saxon-HE.jar \
|
||||
&& rm -r * \
|
||||
&& mkdir build && cd build \
|
||||
&& curl -s -S --retry 10 -L -o rapidxml.zip http://sourceforge.net/projects/rapidxml/files/latest/download \
|
||||
&& unzip -n -d rapidxml rapidxml.zip \
|
||||
&& pip3 install setuptools \
|
||||
&& pip3 install docutils==0.19 \
|
||||
&& pip3 install Jinja2==3.1.2 \
|
||||
&& pip3 install MarkupSafe==2.1.1 \
|
||||
&& pip3 install Sphinx==5.2.1 \
|
||||
&& pip3 install git+https://github.com/pfultz2/sphinx-boost@8ad7d424c6b613864976546d801439c34a27e3f6 \
|
||||
&& pip3 install myst-parser==0.18.1 \
|
||||
&& curl -s -S --retry 10 -L -o docbook-xml.zip http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip \
|
||||
&& unzip -n -d docbook-xml docbook-xml.zip \
|
||||
&& curl -s -S --retry 10 -L -o docbook-xsl.zip https://sourceforge.net/projects/docbook/files/docbook-xsl/1.79.1/docbook-xsl-1.79.1.zip/download \
|
||||
&& unzip -n -d docbook-xsl docbook-xsl.zip \
|
||||
&& gem install asciidoctor --version 2.0.17 \
|
||||
&& gem install asciidoctor-diagram --version 2.2.14 \
|
||||
&& gem install asciidoctor-multipage --version 0.0.18 \
|
||||
&& gem install rouge --version 4.0.0 \
|
||||
&& gem install pygments.rb --version 2.3.0 \
|
||||
&& pip3 install Pygments==2.13.0 \
|
||||
&& pip3 install https://github.com/bfgroup/jam_pygments/archive/master.zip \
|
||||
&& pip3 install future==1.0.0 \
|
||||
&& pip3 install six==1.14.0 \
|
||||
&& chmod -R 777 /opt/venvboostdocs \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& apt-get clean -y
|
||||
|
||||
ENV PATH /opt/venvboostdocs/bin:$PATH
|
||||
ENV NODE_VERSION=18.18.1
|
||||
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
|
||||
ENV NVM_DIR=/root/.nvm
|
||||
RUN . "$NVM_DIR/nvm.sh" && nvm install ${NODE_VERSION}
|
||||
RUN . "$NVM_DIR/nvm.sh" && nvm use v${NODE_VERSION}
|
||||
RUN . "$NVM_DIR/nvm.sh" && nvm alias default v${NODE_VERSION}
|
||||
ENV PATH="/root/.nvm/versions/node/v${NODE_VERSION}/bin/:${PATH}"
|
||||
RUN node --version
|
||||
RUN npm --version
|
||||
RUN npm install -g gulp-cli@2.3.0
|
||||
RUN npm install -g @mermaid-js/mermaid-cli@10.5.1
|
||||
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# public_suffix and css_parser using versions that support ruby 2.5
|
||||
41
docker/python3/noble/README.md
Normal file
41
docker/python3/noble/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
|
||||
Earlier notes:
|
||||
|
||||
In the Dockerfile, docbook is being installed twice. As apt packages:
|
||||
|
||||
```
|
||||
docbook \
|
||||
docbook-xml \
|
||||
docbook-xsl \
|
||||
```
|
||||
|
||||
and zip files:
|
||||
```
|
||||
&& curl -s -S --retry 10 -L -o docbook-xml.zip http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip \
|
||||
&& unzip -n -d docbook-xml docbook-xml.zip \
|
||||
&& curl -s -S --retry 10 -L -o docbook-xsl.zip https://sourceforge.net/projects/docbook/files/docbook-xsl/1.79.1/docbook-xsl-1.79.1.zip/download \
|
||||
&& unzip -n -d docbook-xsl docbook-xsl.zip
|
||||
```
|
||||
|
||||
There are boostbook warnings if DOCBOOK_XSL_DIR and DOCBOOK_DTD_DIR aren't specified. build_docs is setting those variables, pointing to the unzipped location.
|
||||
The main release script does not set those variables. It is using the default. Which might be the apt packages.
|
||||
Versions are approximately the same currently between packages and downloads.
|
||||
|
||||
---
|
||||
|
||||
2023 note. Focal had pinned these gems to support Ruby 2.5
|
||||
|
||||
```
|
||||
&& gem install public_suffix --version 4.0.7 \
|
||||
&& gem install css_parser --version 1.12.0 \
|
||||
```
|
||||
|
||||
In Jammy, it may be unnecessary. But, continuing to track these gems.
|
||||
|
||||
```
|
||||
&& gem install public_suffix --version 5.0.3 \
|
||||
&& gem install css_parser --version 1.16.0 \
|
||||
```
|
||||
|
||||
In the near future they can return to being unpinned.
|
||||
|
||||
5
docker/python3/noble/buildimage.sh
Executable file
5
docker/python3/noble/buildimage.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# update the image name as necessary.
|
||||
imagename="cppalliance/boost_superproject_build:24.04-v1"
|
||||
docker build --progress=plain -t $imagename . 2>&1 | tee /tmp/output.txt
|
||||
26
docker/python3/noble/buildrelease.sh
Executable file
26
docker/python3/noble/buildrelease.sh
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Run this inside the container
|
||||
|
||||
set -ex
|
||||
|
||||
cd $HOME
|
||||
|
||||
boostbranch=develop
|
||||
if [ ! -d project ]; then
|
||||
git clone https://github.com/boostorg/boost project
|
||||
cd project
|
||||
# "git checkout" can also checkout commits
|
||||
git checkout $boostbranch
|
||||
cd ..
|
||||
fi
|
||||
|
||||
export CIRCLECI=true
|
||||
export CIRCLE_BRANCH=develop
|
||||
export CIRCLE_WORKING_DIRECTORY=~/project
|
||||
|
||||
wget "https://raw.githubusercontent.com/boostorg/release-tools/master/ci_boost_common.py" -P ${HOME}
|
||||
wget "https://raw.githubusercontent.com/boostorg/release-tools/master/ci_boost_release.py" -P ${HOME}
|
||||
|
||||
python3 ${HOME}/ci_boost_release.py checkout_post
|
||||
EOL=LF python3 ${HOME}/ci_boost_release.py test_override
|
||||
Reference in New Issue
Block a user