Skip to content

Commit

Permalink
Release 2.0.1 (#95)
Browse files Browse the repository at this point in the history
* Canvas test failures #91
fixed workflows
fixed dockerfile for binder

* Fix unknown entity warnings (#90)

* fixed package info

* fix for #92 #93 and #94
added new workflow for releasetools

* use yarn instead of npm

* workaround for yarn caches on subprojects: from actions/setup-node#488 (comment)

---------

Co-authored-by: Manuel Martins <[email protected]>
Co-authored-by: Jerry James <[email protected]>
  • Loading branch information
3 people authored Feb 27, 2023
1 parent 68eb7f9 commit ce2639f
Show file tree
Hide file tree
Showing 46 changed files with 490 additions and 18,671 deletions.
109 changes: 0 additions & 109 deletions .github/workflows/CD.yml

This file was deleted.

34 changes: 20 additions & 14 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ jobs:
run: |
sudo touch /etc/apt/sources.list.d/opensuse.list &&
echo "deb https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/ ./" | sudo tee -a /etc/apt/sources.list.d/opensuse.list
- name: Download ZMQ repo key
run: wget https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/Release.key -O- | sudo apt-key add
wget https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/Release.key -O- | sudo apt-key add
- name: Install ZMQ
run: |
sudo apt update &&
Expand All @@ -54,7 +53,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [19.x]
node-version: [ 19.x ]

steps:
- uses: actions/checkout@v3
Expand All @@ -75,13 +74,26 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm install
registry-url: 'https://registry.npmjs.org'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
shell: bash
working-directory: js
- run: npm run lint
- name: Restore yarn cache
uses: actions/cache@v3
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: |
yarn-cache-folder-
- run: yarn install --frozen-lockfile
working-directory: js
- run: yarn run lint
working-directory: js
- run: npm run build
- run: yarn run build:prod
working-directory: js
- run: npm run test
- run: yarn run test
working-directory: js
- uses: codecov/codecov-action@v3

Expand All @@ -96,8 +108,7 @@ jobs:
run: |
sudo touch /etc/apt/sources.list.d/opensuse.list &&
echo "deb https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/ ./" | sudo tee -a /etc/apt/sources.list.d/opensuse.list
- name: Download ZMQ repo key
run: wget https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/Release.key -O- | sudo apt-key add
wget https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/Release.key -O- | sudo apt-key add
- name: Install ZMQ
run: |
sudo apt update &&
Expand All @@ -108,8 +119,3 @@ jobs:
- uses: gap-actions/build-pkg-docs@v1
with:
use-latex: 'true'
- name: Upload documentation
uses: actions/upload-artifact@v2
with:
name: manual
path: ./doc/manual.pdf
61 changes: 61 additions & 0 deletions .github/workflows/NPM_PYPI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: NPM_PYPI

# Trigger the workflow on push or pull request
on:
push:
tags:
- v*

jobs:
publish_js_python_packages:
name: Build and Publish plugins
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ 19.x ]

steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip
- run: pip install jupyterlab build
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: 'https://registry.npmjs.org'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
shell: bash
working-directory: js
- name: Restore yarn cache
uses: actions/cache@v3
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: |
yarn-cache-folder-
- run: yarn install --frozen-lockfile
working-directory: js
- run: yarn run build:prod
working-directory: js
- name: Publish Browser extension
run: |
npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
npm publish --no-workspaces
working-directory: js/packages/francy-extension-browser
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: python -m build --wheel --sdist
working-directory: js/packages/francy-extension-jupyterlab
- name: Publish Jupyterlab extension PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
packages_dir: js/packages/francy-extension-jupyterlab/dist
77 changes: 77 additions & 0 deletions .github/workflows/RELEASE.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: RELEASE

# Trigger the workflow on push or pull request
on:
push:
branches:
- master

# the `concurrency` settings ensure that not too many CI jobs run in parallel
concurrency:
# group by workflow and ref; the last slightly strange component ensures that for pull
# requests, we limit to 1 concurrent job, but for the master branch we don't
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.run_number }}
# Cancel intermediate builds, but only if it is a pull request build.
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

jobs:
gap_release_tools:
name: Build and Publish manuals
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Configure ZMQ repos
run: |
sudo touch /etc/apt/sources.list.d/opensuse.list &&
echo "deb https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/ ./" | sudo tee -a /etc/apt/sources.list.d/opensuse.list
wget https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/Release.key -O- | sudo apt-key add
- name: Install ZMQ
run: |
sudo apt update &&
sudo apt install libzmq3-dev -y
- uses: gap-actions/setup-gap@v2
with:
GAP_PKGS_TO_BUILD: "datastructures uuid json io crypting zeromqinterface jupyterkernel"
GAPBRANCH: master
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: 'https://registry.npmjs.org'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
shell: bash
working-directory: js
- name: Restore yarn cache
uses: actions/cache@v3
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: |
yarn-cache-folder-
- run: yarn install --frozen-lockfile
working-directory: js
- run: yarn run docs
working-directory: js
- name: GAPTools Release
run: |
# Clone Release tools
git clone --depth=2 -b master https://github.com/gap-system/ReleaseTools $HOME/ReleaseTools
# Add a new remote pointing to the GitHubPagesForGAP repository
git remote add gh-gap https://github.com/gap-system/GitHubPagesForGAP
git fetch gh-gap
# Create a fresh gh-pages branch from the new remote
git branch gh-pages gh-gap/gh-pages --no-track
# Create a new worktree and change into it
git worktree add gh-pages gh-pages
# Copy JavaScript documentation
cp -rf doc/js gh-pages/doc/
# Configure git
git config user.name "GitHub Actions Bot"
git config user.email "<>"
git config github.user "GitHub Actions Bot"
git config github.token "${{ secrets.GITHUB_TOKEN }}"
# Run Release Script
GAP="$HOME/gap/bin/gap.sh" $HOME/ReleaseTools/release-gap-package --push
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,6 @@ gh-pages/

**/build_log.json

**/docs/*
**/docs/*

**/labextension/
30 changes: 14 additions & 16 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,31 +1,29 @@
FROM ubuntu:22.10
FROM jupyter/minimal-notebook:latest

MAINTAINER Manuel Martins <[email protected]>

USER root

ARG DEBIAN_FRONTEND="noninteractive"
ARG WGET="wget -N --no-check-certificate --tries=5 --waitretry=5 --retry-connrefused"

RUN apt update && apt -qq install -y git curl wget python3-pip inkscape pandoc texlive-xetex libgmp-dev libreadline-dev graphviz \
zlib1g-dev libzmq3-dev gcc g++ make autoconf && useradd -s /bin/bash -d /home/gap/ -m -G sudo gap && \
git clone --depth=2 -b master https://github.com/gap-system/gap.git /home/gap/master && cd /home/gap/master && \
./autogen.sh && ./configure && make -j4 V=1 && ln -s /home/gap/master/bin/gap.sh /usr/local/sbin/gap && \
make bootstrap-pkg-minimal DOWNLOAD="$WGET" WGET="$WGET" && \
cd /home/gap/master/pkg && rm -rf /home/gap/master/pkg/francy && \
git clone https://github.com/gap-packages/JupyterKernel && \
zlib1g-dev libzmq3-dev gcc g++ make autoconf && \
git clone --depth=2 -b master https://github.com/gap-system/gap.git /opt/master && cd /opt/master && \
./autogen.sh && ./configure && make -j4 V=1 && \
make bootstrap-pkg-full DOWNLOAD="$WGET" WGET="$WGET" && \
cd /opt/master/pkg && rm -rf /opt/master/pkg/francy && \
git clone https://github.com/gap-packages/FrancyMonoids && \
git clone https://github.com/gap-packages/francy && \
git clone https://github.com/mcmartins/subgroup-lattice && \
for pkg in 'io profilling json uuid crypting zeromqinterface jupyterkernel'; do ../bin/BuildPackages.sh --strict $pkg*; done && \
rm -rf /home/gap/master/packages-required.tar.gz && chown -R gap:gap /home/gap/master/ && \
rm -rf /opt/master/packages.tar.gz && chown -R jovyan: /opt/master/ && \
cd /opt/master/pkg/jupyterkernel && pip install . && \
ln -s /opt/master/pkg/francy/notebooks /home/jovyan/notebooks && \
ln -s /opt/master/bin/gap.sh /usr/local/sbin/gap && \
apt purge git gcc g++ make autoconf curl wget -y

USER gap

ENV PATH="${PATH}:/home/gap/.local/bin"
USER jovyan

# jupyter lab extension installation
RUN pip install jupyterlab jupyterlab-francy

WORKDIR /home/gap/master/pkg/francy/notebooks

CMD jupyter lab --port=8080
RUN pip install --no-cache-dir jupyterlab jupyterlab-francy && rm -rf /home/jovyan/.jupyter/*
Loading

0 comments on commit ce2639f

Please sign in to comment.