From 234dc4f460946f66fae3489605e378ec1af9b01e Mon Sep 17 00:00:00 2001 From: "Jonathan R. Madsen" Date: Sun, 15 Jan 2023 23:04:15 -0600 Subject: [PATCH] Fix release workflow (#228) - remove docs updates and release step from cpack.yml workflow - create docs.yml workflow - create release.yml workflow - update source/docs/environment.yml - add status badge for documentation [ROCm/rocprofiler-systems commit: 12001d9633328f9f56210c7ebffce065bff06310] --- .../.github/workflows/cpack.yml | 58 ----- .../.github/workflows/docs.yml | 70 ++++++ .../.github/workflows/release.yml | 39 ++++ projects/rocprofiler-systems/README.md | 1 + .../source/docs/environment.yml | 208 ++++++++++++++++-- 5 files changed, 301 insertions(+), 75 deletions(-) create mode 100644 projects/rocprofiler-systems/.github/workflows/docs.yml create mode 100644 projects/rocprofiler-systems/.github/workflows/release.yml diff --git a/projects/rocprofiler-systems/.github/workflows/cpack.yml b/projects/rocprofiler-systems/.github/workflows/cpack.yml index 44ac6c4d32..93472a3ecf 100644 --- a/projects/rocprofiler-systems/.github/workflows/cpack.yml +++ b/projects/rocprofiler-systems/.github/workflows/cpack.yml @@ -19,64 +19,6 @@ env: GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 jobs: - release: - if: github.repository == 'AMDResearch/omnitrace' && startsWith(github.ref, 'refs/tags/') - runs-on: ubuntu-20.04 - permissions: - contents: write - packages: write - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Generate generic installer script - shell: bash - run: | - apt-get update - apt-get install -y cmake - cmake -D OUTPUT_DIR=${PWD} -P scripts/write-omnitrace-install.cmake - - name: Generate Release - uses: softprops/action-gh-release@v1 - with: - draft: False - generate_release_notes: True - fail_on_unmatched_files: True - files: | - omnitrace-install.py - - release-docs: - if: github.repository == 'AMDResearch/omnitrace' && (startsWith(github.ref, 'refs/tags/') || contains(github.ref, 'releases/')) - runs-on: ubuntu-20.04 - permissions: - contents: write - packages: write - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Update Source - run: | - git config --global user.name 'Jonathan R. Madsen' - git config --global user.email 'jrmadsen@users.noreply.github.com' - git config --global pull.rebase true - git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} - git fetch origin - git checkout gh-pages - git pull origin main - - name: Install Conda - uses: s-weigand/setup-conda@v1 - - name: Update Docs - working-directory: source/docs - run: | - conda env create -n omnitrace-docs -f environment.yml - source activate - conda activate omnitrace-docs - ./update-docs.sh - - name: Push changes - if: github.repository == 'AMDResearch/omnitrace' && startsWith(github.ref, 'refs/tags/') - run: | - git add docs - git commit -m "Update HTML (automated)" - git push -f - installers: if: github.repository == 'AMDResearch/omnitrace' runs-on: ubuntu-20.04 diff --git a/projects/rocprofiler-systems/.github/workflows/docs.yml b/projects/rocprofiler-systems/.github/workflows/docs.yml new file mode 100644 index 0000000000..64f1958dac --- /dev/null +++ b/projects/rocprofiler-systems/.github/workflows/docs.yml @@ -0,0 +1,70 @@ +name: Documentation + +on: + workflow_dispatch: + push: + branches: [main, gh-pages] + paths: + - '*.md' + - 'source/docs/**' + - '.github/workflows/docs.yml' + - 'VERSION' + pull_request: + branches: [main] + paths: + - '*.md' + - 'source/docs/**' + - '.github/workflows/docs.yml' + - 'VERSION' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 + +jobs: + build-docs: + runs-on: ubuntu-20.04 + permissions: + contents: read + pages: write + id-token: write + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install Conda + uses: s-weigand/setup-conda@v1 + - name: Setup Pages + uses: actions/configure-pages@v2 + - name: Create Docs Directory + run: + mkdir -p docs + - name: Update Docs + working-directory: source/docs + run: | + conda env create -n omnitrace-docs -f environment.yml + source activate + conda activate omnitrace-docs + ./update-docs.sh + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./docs + + deploy-docs: + if: github.repository == 'AMDResearch/omnitrace' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/gh-pages') + runs-on: ubuntu-20.04 + needs: build-docs + permissions: + contents: read + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 diff --git a/projects/rocprofiler-systems/.github/workflows/release.yml b/projects/rocprofiler-systems/.github/workflows/release.yml new file mode 100644 index 0000000000..9cb7388614 --- /dev/null +++ b/projects/rocprofiler-systems/.github/workflows/release.yml @@ -0,0 +1,39 @@ +name: Release + +on: + workflow_dispatch: + push: + tags: + - v* + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 + +jobs: + release: + if: github.repository == 'AMDResearch/omnitrace' + runs-on: ubuntu-20.04 + permissions: + contents: write + packages: write + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Generate generic installer script + shell: bash + run: | + sudo apt-get update + sudo apt-get install -y cmake + cmake -D OUTPUT_DIR=${PWD} -P scripts/write-omnitrace-install.cmake + - name: Generate Release + uses: softprops/action-gh-release@v1 + with: + draft: False + generate_release_notes: True + fail_on_unmatched_files: True + files: | + omnitrace-install.py diff --git a/projects/rocprofiler-systems/README.md b/projects/rocprofiler-systems/README.md index 0d1355c1c5..1720aab896 100755 --- a/projects/rocprofiler-systems/README.md +++ b/projects/rocprofiler-systems/README.md @@ -5,6 +5,7 @@ [![Ubuntu 22.04 (GCC, Python, ROCm)](https://github.com/AMDResearch/omnitrace/actions/workflows/ubuntu-jammy.yml/badge.svg)](https://github.com/AMDResearch/omnitrace/actions/workflows/ubuntu-jammy.yml) [![OpenSUSE 15.x with GCC](https://github.com/AMDResearch/omnitrace/actions/workflows/opensuse.yml/badge.svg)](https://github.com/AMDResearch/omnitrace/actions/workflows/opensuse.yml) [![Installer Packaging (CPack)](https://github.com/AMDResearch/omnitrace/actions/workflows/cpack.yml/badge.svg)](https://github.com/AMDResearch/omnitrace/actions/workflows/cpack.yml) +[![Documentation](https://github.com/AMDResearch/omnitrace/actions/workflows/docs.yml/badge.svg)](https://github.com/AMDResearch/omnitrace/actions/workflows/docs.yml) > ***[Omnitrace](https://github.com/AMDResearch/omnitrace) is an AMD open source research project and is not supported as part of the ROCm software stack.*** diff --git a/projects/rocprofiler-systems/source/docs/environment.yml b/projects/rocprofiler-systems/source/docs/environment.yml index 439d98869a..1877041f78 100644 --- a/projects/rocprofiler-systems/source/docs/environment.yml +++ b/projects/rocprofiler-systems/source/docs/environment.yml @@ -3,20 +3,194 @@ channels: - conda-forge - defaults dependencies: - - python=3.9 - - cmake - - curl - - doxygen - - git - - graphviz - - matplotlib - - mkdocs - - numpy - - openssl - - pillow - - pip - - setuptools - - breathe <4.30.0 - - sphinx <4.0.0 - - sphinx-markdown-tables - - docutils + - _libgcc_mutex=0.1=conda_forge + - _openmp_mutex=4.5=1_gnu + - alabaster=0.7.12=py_0 + - alsa-lib=1.2.3=h516909a_0 + - argh=0.26.2=pyh9f0ad1d_1002 + - atk-1.0=2.36.0=h3371d22_4 + - babel=2.9.1=pyh44b312d_0 + - breathe=4.29.2=pyhd8ed1ab_0 + - brotli=1.0.9=h7f98852_6 + - brotli-bin=1.0.9=h7f98852_6 + - brotlipy=0.7.0=py39h3811e60_1003 + - bzip2=1.0.8=h7f98852_4 + - c-ares=1.18.1=h7f98852_0 + - ca-certificates=2021.10.8=ha878542_0 + - cairo=1.16.0=ha00ac49_1009 + - certifi=2021.10.8=py39hf3d152e_1 + - cffi=1.15.0=py39h4bc2ebd_0 + - charset-normalizer=2.0.12=pyhd8ed1ab_0 + - click=8.0.4=py39hf3d152e_0 + - cmake=3.22.2=h1021d11_0 + - colorama=0.4.4=pyh9f0ad1d_0 + - commonmark=0.9.1=py_0 + - cryptography=36.0.1=py39h95dcef6_0 + - curl=7.81.0=h2574ce0_0 + - cycler=0.11.0=pyhd8ed1ab_0 + - dbus=1.13.6=h5008d03_3 + - docutils=0.16=py39hf3d152e_3 + - doxygen=1.9.2=hb166930_0 + - expat=2.4.4=h9c3ff4c_0 + - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 + - font-ttf-inconsolata=3.000=h77eed37_0 + - font-ttf-source-code-pro=2.038=h77eed37_0 + - font-ttf-ubuntu=0.83=hab24e00_0 + - fontconfig=2.13.96=ha180cfb_0 + - fonts-conda-ecosystem=1=0 + - fonts-conda-forge=1=0 + - fonttools=4.29.1=py39h3811e60_0 + - freetype=2.10.4=h0708190_1 + - fribidi=1.0.10=h36c2ea0_0 + - future=0.18.2=py39hf3d152e_4 + - gdk-pixbuf=2.42.6=h04a7f16_0 + - gettext=0.19.8.1=h73d1719_1008 + - ghp-import=2.0.2=pyhd8ed1ab_0 + - giflib=5.2.1=h36c2ea0_2 + - git=2.35.0=pl5321hc30692c_0 + - graphite2=1.3.13=h58526e2_1001 + - graphviz=2.50.0=h8e749b2_2 + - gst-plugins-base=1.18.5=hf529b03_3 + - gstreamer=1.18.5=h9f60fe5_3 + - gtk2=2.24.33=h90689f9_2 + - gts=0.7.6=h64030ff_2 + - harfbuzz=3.4.0=hb4a5f5f_0 + - icu=69.1=h9c3ff4c_0 + - idna=3.3=pyhd8ed1ab_0 + - imagesize=1.3.0=pyhd8ed1ab_0 + - importlib-metadata=4.11.1=py39hf3d152e_0 + - jbig=2.1=h7f98852_2003 + - jinja2=3.0.3=pyhd8ed1ab_0 + - jpeg=9e=h7f98852_0 + - kiwisolver=1.3.2=py39h1a9c180_1 + - krb5=1.19.2=hcc1bbae_3 + - lcms2=2.12=hddcbb42_0 + - ld_impl_linux-64=2.36.1=hea4e1c9_2 + - lerc=3.0=h9c3ff4c_0 + - libblas=3.9.0=13_linux64_openblas + - libbrotlicommon=1.0.9=h7f98852_6 + - libbrotlidec=1.0.9=h7f98852_6 + - libbrotlienc=1.0.9=h7f98852_6 + - libcblas=3.9.0=13_linux64_openblas + - libclang=13.0.1=default_hc23dcda_0 + - libcurl=7.81.0=h2574ce0_0 + - libdeflate=1.10=h7f98852_0 + - libedit=3.1.20191231=he28a2e2_2 + - libev=4.33=h516909a_1 + - libevent=2.1.10=h9b69904_4 + - libffi=3.4.2=h7f98852_5 + - libgcc-ng=11.2.0=h1d223b6_12 + - libgd=2.3.3=h3cfcdeb_1 + - libgfortran-ng=11.2.0=h69a702a_12 + - libgfortran5=11.2.0=h5c6108e_12 + - libglib=2.70.2=h174f98d_4 + - libgomp=11.2.0=h1d223b6_12 + - libiconv=1.16=h516909a_0 + - liblapack=3.9.0=13_linux64_openblas + - libllvm13=13.0.1=hf817b99_0 + - libnghttp2=1.46.0=h812cca2_0 + - libnsl=2.0.0=h7f98852_0 + - libogg=1.3.4=h7f98852_1 + - libopenblas=0.3.18=pthreads_h8fe5266_0 + - libopus=1.3.1=h7f98852_1 + - libpng=1.6.37=h21135ba_2 + - libpq=14.2=hd57d9b9_0 + - librsvg=2.52.5=h0a9e6e8_2 + - libssh2=1.10.0=ha56f1ee_2 + - libstdcxx-ng=11.2.0=he4da1e4_12 + - libtiff=4.3.0=h542a066_3 + - libtool=2.4.6=h9c3ff4c_1008 + - libuuid=2.32.1=h7f98852_1000 + - libuv=1.43.0=h7f98852_0 + - libvorbis=1.3.7=h9c3ff4c_0 + - libwebp=1.2.2=h3452ae3_0 + - libwebp-base=1.2.2=h7f98852_1 + - libxcb=1.13=h7f98852_1004 + - libxkbcommon=1.0.3=he3ba5ed_0 + - libxml2=2.9.12=h885dcf4_1 + - libzlib=1.2.11=h36c2ea0_1013 + - lz4-c=1.9.3=h9c3ff4c_1 + - markdown=3.3.6=pyhd8ed1ab_0 + - markupsafe=2.1.0=py39hb9d737c_0 + - matplotlib=3.5.1=py39hf3d152e_0 + - matplotlib-base=3.5.1=py39h2fa2bec_0 + - mergedeep=1.3.4=pyhd8ed1ab_0 + - mkdocs=1.2.3=pyhd8ed1ab_0 + - munkres=1.1.4=pyh9f0ad1d_0 + - mysql-common=8.0.28=ha770c72_0 + - mysql-libs=8.0.28=hfa10184_0 + - ncurses=6.3=h9c3ff4c_0 + - nspr=4.32=h9c3ff4c_1 + - nss=3.74=hb5efdd6_0 + - numpy=1.22.2=py39h91f2184_0 + - openjpeg=2.4.0=hb52868f_1 + - openssl=1.1.1l=h7f98852_0 + - packaging=21.3=pyhd8ed1ab_0 + - pango=1.50.3=h9967ed3_0 + - pcre=8.45=h9c3ff4c_0 + - pcre2=10.37=h032f7d1_0 + - perl=5.32.1=2_h7f98852_perl5 + - pillow=9.0.1=py39hae2aec6_2 + - pip=22.0.3=pyhd8ed1ab_0 + - pixman=0.40.0=h36c2ea0_0 + - pthread-stubs=0.4=h36c2ea0_1001 + - pycparser=2.21=pyhd8ed1ab_0 + - pygments=2.11.2=pyhd8ed1ab_0 + - pyopenssl=22.0.0=pyhd8ed1ab_0 + - pyparsing=3.0.7=pyhd8ed1ab_0 + - pyqt=5.12.3=py39hf3d152e_8 + - pyqt-impl=5.12.3=py39hde8b62d_8 + - pyqt5-sip=4.19.18=py39he80948d_8 + - pyqtchart=5.12=py39h0fcd23e_8 + - pyqtwebengine=5.12.1=py39h0fcd23e_8 + - pysocks=1.7.1=py39hf3d152e_4 + - python=3.9.10=h85951f9_2_cpython + - python-dateutil=2.8.2=pyhd8ed1ab_0 + - python_abi=3.9=2_cp39 + - pytz=2021.3=pyhd8ed1ab_0 + - pyyaml=6.0=py39h3811e60_3 + - pyyaml-env-tag=0.1=pyhd8ed1ab_0 + - qt=5.12.9=ha98a1a1_5 + - readline=8.1=h46c0cb4_0 + - recommonmark=0.7.1=pyhd8ed1ab_0 + - requests=2.27.1=pyhd8ed1ab_0 + - rhash=1.4.1=h7f98852_0 + - setuptools=60.9.3=py39hf3d152e_0 + - six=1.16.0=pyh6c4a22f_0 + - snowballstemmer=2.2.0=pyhd8ed1ab_0 + - sphinx=3.5.4=pyh44b312d_0 + - sphinx-markdown-tables=0.0.15=pyhd3deb0d_0 + - sphinxcontrib-applehelp=1.0.2=py_0 + - sphinxcontrib-devhelp=1.0.2=py_0 + - sphinxcontrib-htmlhelp=2.0.0=pyhd8ed1ab_0 + - sphinxcontrib-jsmath=1.0.1=py_0 + - sphinxcontrib-qthelp=1.0.3=py_0 + - sphinxcontrib-serializinghtml=1.1.5=pyhd8ed1ab_1 + - sqlite=3.37.0=h9cd32fc_0 + - tk=8.6.12=h27826a3_0 + - tornado=6.1=py39h3811e60_2 + - tzdata=2021e=he74cb21_0 + - unicodedata2=14.0.0=py39h3811e60_0 + - urllib3=1.26.8=pyhd8ed1ab_1 + - watchdog=2.1.6=py39hf3d152e_1 + - wheel=0.37.1=pyhd8ed1ab_0 + - xorg-kbproto=1.0.7=h7f98852_1002 + - xorg-libice=1.0.10=h7f98852_0 + - xorg-libsm=1.2.3=hd9c2040_1000 + - xorg-libx11=1.7.2=h7f98852_0 + - xorg-libxau=1.0.9=h7f98852_0 + - xorg-libxdmcp=1.1.3=h7f98852_0 + - xorg-libxext=1.3.4=h7f98852_1 + - xorg-libxrender=0.9.10=h7f98852_1003 + - xorg-renderproto=0.11.1=h7f98852_1002 + - xorg-xextproto=7.3.0=h7f98852_1002 + - xorg-xproto=7.0.31=h7f98852_1007 + - xz=5.2.5=h516909a_1 + - yaml=0.2.5=h7f98852_2 + - zipp=3.7.0=pyhd8ed1ab_1 + - zlib=1.2.11=h36c2ea0_1013 + - zstd=1.5.2=ha95c52a_0 + - pip: + - py-gfm==1.0.2 + - sphinx-markdown==1.0.2 + - sphinx-rtd-theme==1.0.0