Skip to content

Commit

Permalink
Merge branch 'master' of github.com:scipopt/PySCIPOpt into fix-docs-v…
Browse files Browse the repository at this point in the history
…ersion
  • Loading branch information
mmghannam committed Aug 2, 2024
2 parents 94815ee + be1c548 commit e95f5e5
Show file tree
Hide file tree
Showing 8 changed files with 773 additions and 12 deletions.
16 changes: 16 additions & 0 deletions .github/workflows/generate_docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Generate documentation

on:
workflow_dispatch:
inputs: {}

jobs:
generate-documentation:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3

- name: Generate documentation
run: |
sudo apt-get install doxygen graphviz
bash -ex generate-docs.sh "${{ secrets.GITHUB_TOKEN }}" "gh-pages"
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@
### Added
- Created Statistics class
- Added parser to read .stats file
- Release checklist in `RELEASE.md`
- Added Python definitions and wrappers for SCIPstartStrongbranch, SCIPendStrongbranch SCIPgetBranchScoreMultiple,
SCIPgetVarStrongbranchInt, SCIPupdateVarPseudocost, SCIPgetVarStrongbranchFrac, SCIPcolGetAge,
SCIPgetVarStrongbranchLast, SCIPgetVarStrongbranchNode, SCIPallColsInLP, SCIPcolGetAge
- Added getBipartiteGraphRepresentation
### Fixed
- Fixed too strict getObjVal, getVal check
### Changed
Expand Down
9 changes: 1 addition & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,7 @@ If you find this contributing guide unclear, please open an issue! :)
How to craft a release
----------------------

1. update `CHANGELOG`
2. increase version number in `src/pyscipopt/__init__.py` according to semantic versioning
3. commit changes to the master branch
3. tag new version `git tag vX.Y.Z`
4. `git push` && `git push --tags`
5. [create GitHub release](https://github.com/scipopt/PySCIPOpt/releases) based on that tag

A new PyPI package is automatically created by the GitHub actions when pushing a new tag onto the master and the version has been increased. Also the documentation is autmatically created in the process.
Moved to [RELEASE.md](RELEASE.md).

Design principles of PySCIPOpt
==============================
Expand Down
19 changes: 19 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Release Checklist
The following are the steps to follow to make a new PySCIPOpt release. They should mostly be done in order.
- [ ] Check if [scipoptsuite-deploy](https://github.com/scipopt/scipoptsuite-deploy) needs a new release, if a new SCIP version is released for example, or new dependencies (change symmetry dependency, add support for papilo/ parallelization.. etc). And Update release links in `pyproject.toml`
- [ ] Check if the table in [readme](https://github.com/scipopt/PySCIPOpt#installation) needs to be updated.
- [ ] Update version number according to semantic versioning [rules](https://semver.org/) in `_version.py`
- [ ] Update `CHANGELOG.md`; Change the `Unlreased` to the new version number and add an empty unreleased section.
- [ ] Create a release candidate on test-pypi by running the workflow “Build wheels” in Actions->build wheels, with these parameters `upload:true, test-pypi:true` 
- [ ] If the pipeline passes, test the released pip package on test-pypi by running and checking that it works
```bash
pip install -i https://test.pypi.org/simple/ PySCIPOpt
```
- [ ] If it works, release on pypi.org with running the same workflow but with `test-pypi:false`.
- [ ] Then create a tag wit the new version (from the master branch)
```bash
git tag vX.X.X
git push origin vX.X.X
```
- [ ] Then make a github [release](https://github.com/scipopt/PySCIPOpt/releases/new) from this new tag.
- [ ] Update documentation by running the `Generate Docs` workflow in Actions->Generate Docs.
12 changes: 11 additions & 1 deletion src/pyscipopt/scip.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -788,6 +788,7 @@ cdef extern from "scip/scip.h":
int SCIPgetNLPCols(SCIP* scip)
SCIP_COL** SCIPgetLPCols(SCIP *scip)
SCIP_ROW** SCIPgetLPRows(SCIP *scip)
SCIP_Bool SCIPallColsInLP(SCIP* scip)

# Cutting Plane Methods
SCIP_RETCODE SCIPaddPoolCut(SCIP* scip, SCIP_ROW* row)
Expand Down Expand Up @@ -1258,7 +1259,15 @@ cdef extern from "scip/scip.h":
SCIP_RETCODE SCIPgetLPBranchCands(SCIP* scip, SCIP_VAR*** lpcands, SCIP_Real** lpcandssol,
SCIP_Real** lpcandsfrac, int* nlpcands, int* npriolpcands, int* nfracimplvars)
SCIP_RETCODE SCIPgetPseudoBranchCands(SCIP* scip, SCIP_VAR*** pseudocands, int* npseudocands, int* npriopseudocands)

SCIP_RETCODE SCIPstartStrongbranch(SCIP* scip, SCIP_Bool enablepropogation)
SCIP_RETCODE SCIPendStrongbranch(SCIP* scip)
SCIP_RETCODE SCIPgetVarStrongbranchLast(SCIP* scip, SCIP_VAR* var, SCIP_Real* down, SCIP_Real* up, SCIP_Bool* downvalid, SCIP_Bool* upvalid, SCIP_Real* solval, SCIP_Real* lpobjval)
SCIP_Longint SCIPgetVarStrongbranchNode(SCIP* scip, SCIP_VAR* var)
SCIP_Real SCIPgetBranchScoreMultiple(SCIP* scip, SCIP_VAR* var, int nchildren, SCIP_Real* gains)
SCIP_RETCODE SCIPgetVarStrongbranchWithPropagation(SCIP* scip, SCIP_VAR* var, SCIP_Real solval, SCIP_Real lpobjval, int itlim, int maxproprounds, SCIP_Real* down, SCIP_Real* up, SCIP_Bool* downvalid, SCIP_Bool* upvalid, SCIP_Longint* ndomredsdown, SCIP_Longint* ndomredsup, SCIP_Bool* downinf, SCIP_Bool* upinf, SCIP_Bool* downconflict, SCIP_Bool* upconflict, SCIP_Bool* lperror, SCIP_Real* newlbs, SCIP_Real* newubs)
SCIP_RETCODE SCIPgetVarStrongbranchInt(SCIP* scip, SCIP_VAR* var, int itlim, SCIP_Bool idempotent, SCIP_Real* down, SCIP_Real* up, SCIP_Bool* downvalid, SCIP_Bool* upvalid, SCIP_Bool* downinf, SCIP_Bool* upinf, SCIP_Bool* downconflict, SCIP_Bool* upconflict, SCIP_Bool* lperror)
SCIP_RETCODE SCIPupdateVarPseudocost(SCIP* scip, SCIP_VAR* var, SCIP_Real solvaldelta, SCIP_Real objdelta, SCIP_Real weight)
SCIP_RETCODE SCIPgetVarStrongbranchFrac(SCIP* scip, SCIP_VAR* var, int itlim, SCIP_Bool idempotent, SCIP_Real* down, SCIP_Real* up, SCIP_Bool* downvalid, SCIP_Bool* upvalid, SCIP_Bool* downinf, SCIP_Bool* upinf, SCIP_Bool* downconflict, SCIP_Bool* upconflict, SCIP_Bool* lperror)

# Numerical Methods
SCIP_Real SCIPinfinity(SCIP* scip)
Expand Down Expand Up @@ -1841,6 +1850,7 @@ cdef extern from "scip/pub_lp.h":
int SCIPcolGetNNonz(SCIP_COL* col)
SCIP_ROW** SCIPcolGetRows(SCIP_COL* col)
SCIP_Real* SCIPcolGetVals(SCIP_COL* col)
int SCIPcolGetAge(SCIP_COL* col)
int SCIPcolGetIndex(SCIP_COL* col)
SCIP_Real SCIPcolGetObj(SCIP_COL *col)

Expand Down
Loading

0 comments on commit e95f5e5

Please sign in to comment.