Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Add wheel building job for PRs #802

Closed
MyPyDavid opened this issue Oct 31, 2023 · 5 comments
Closed

ci: Add wheel building job for PRs #802

MyPyDavid opened this issue Oct 31, 2023 · 5 comments
Assignees
Milestone

Comments

@MyPyDavid
Copy link
Member

MyPyDavid commented Oct 31, 2023

Rationale / Begründung

Sometimes, a developer wants to (easily) check out a feature of a branch/PR.
It requires more effort now that the front- and back-end have been partly separated.

The GH Actions workflow could build a wheels artifact (after tests have passed) which can be used to install a clean version of the RDMO version of that branch/PR.
The same build is already done for the RDMO releases

Affected

developers

Minimal functionality

  • have an .whl artifact that can be used to install a rdmo version of the branch.
    • artifact should be build only after the tests have passed
    • naming: rdmo-<branch>.whl ?

Nice-to-have functionality

References / Verweise

@afuetterer
Copy link
Member

I can work on this issue, if you like.

I propose the name rdmo-.whl (e.g. rdmo-769.whl), the branch name can be misleading. Tests are only run on pushes to master and on pull requests. The pr-number identifies a combination of base branch and pull request branch.

You want this wheel to be uploaded to GitHub, only after tests are passing? Your use case is, that you would download the wheel to test a new feature locally, right?

@afuetterer
Copy link
Member

Can you have at look at the uploaded artifacts of build-and-inspect-python-package for pytest here?
https://github.com/pytest-dev/pytest/actions/runs/6699628637

Is this alright for you or overkill?

@afuetterer
Copy link
Member

The default name of a wheel is rdmo-{version}-py3-none-any.whl, e.g. rdmo-2.0.1-py3-none-any.whl.

Should it just stay like that?

What do you prefer?

  • rdmo-{version}-py3-none-any.whl
  • rdmo-{branch-name}.whl
  • rdmo-{pr-number}.whl

I think, it should either stay the default or be rdmo-{pr-number}.whl.

@afuetterer afuetterer self-assigned this Nov 1, 2023
@afuetterer afuetterer changed the title workflows on PRs could build a wheels ci: Add wheel building job for PRs Nov 1, 2023
@jochenklar
Copy link
Member

If the PR creates the wheel, it can be the name of the PR, I guess.

@afuetterer
Copy link
Member

By the way: The steps in RDMO releases are outdated.

python setup.py sdist bdist_wheel should be python -m build. I will open an issue in the docs repo.

afuetterer added a commit to afuetterer/rdmo that referenced this issue Nov 2, 2023
afuetterer added a commit to afuetterer/rdmo that referenced this issue Nov 3, 2023
@afuetterer afuetterer mentioned this issue Nov 3, 2023
4 tasks
afuetterer added a commit to afuetterer/rdmo that referenced this issue Nov 19, 2023
@MyPyDavid MyPyDavid added this to the 2.1.0 milestone Nov 21, 2023
afuetterer added a commit to afuetterer/rdmo that referenced this issue Nov 29, 2023
* Refactor autocomplete and add free autocomplete widget for arbitrary inputs (rdmorganiser#600)

* refactor: use admin.register decorator

* build: pin django-mptt dependency

* fix: update verbose_name_plural in questionset

* fix rdmorganiser#791 for openid_connect providers and refactor keycloak snippet

* Add custom {more} markdown tag (rdmorganiser#595)

* Adjust details/summary style

* Add ValueConflictValidator and check for conflicts when storing values

* Autosave after eraseValue and removeValue

* Add tests for ValueConflictValidator

* Fix human2bytes utils function

* chore: refactor human2bytes utils func

* Fix ValueQuotaValidator and add tests

* Update HUMAN2BYTES_MAPPER and add test

* Refactor progress bar and take sets and conditions into account (rdmorganiser#596)

* Check is_optional for progress bar (again)

* Add progress_count and progress_total to Project model, compute on POST
when using the API and add progress to the project overview (rdmorganiser#488)

* Add navigation action to ProjectViewSet and refactor navigation (rdmorganiser#299, rdmorganiser#424)

* Always show count in progress bar

* Fix progress bar for questionsets

* Fix progress computation

* Fix progress permissions

* Add tests for progress and navigation

* Add progress to project hierarchy (rdmorganiser#488)

* chore: refactor values query to managers

* Use "count of total" for the progress in projects table

* Add support for BASE_URL to the management react interface (rdmorganiser#815)

* Rename variable

* Refresh navigation after auto-save in interview

* chore: add pytest-playwright dependency

* chore: add custom pytest marker for e2e tests

* chore: enable debug mode per env, default false

* refactor: add "fixtures" fixture to reuse in e2e tests

* test: add frontend-tests with pytest-playwright

Co-authored-by: David Wallace

Fixes: rdmorganiser#715

* ci: run e2e tests in ci

* ci: add build-wheel job

Fixes: rdmorganiser#802

* Fix translated strings (Projektaufgaben, Projektansichten) and some
automatic reformatting (rdmorganiser#254)

* Add accept to project import plugins to restrict upload files (to e.g. .xml)

* Add accept=".xml" to management upload form component

* chore: add email to RoleAdmin

* chore: update ruff repo name in pre-commit config

* build: update pre-commit hooks

* chore: fix ruff errors (PGH002, UP032)

* ci: add dependency groups to dependabot config

* ci: update dependabot js groups

* build(deps-dev): bump the babel group with 5 updates

Bumps the babel group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) | `7.17.10` | `7.23.4` |
| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.17.10` | `7.23.3` |
| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.17.10` | `7.23.3` |
| [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) | `7.16.7` | `7.23.3` |
| [babel-loader](https://github.com/babel/babel-loader) | `8.2.5` | `9.1.3` |

Updates `@babel/cli` from 7.17.10 to 7.23.4
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.4/packages/babel-cli)

Updates `@babel/core` from 7.17.10 to 7.23.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.3/packages/babel-core)

Updates `@babel/preset-env` from 7.17.10 to 7.23.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.3/packages/babel-preset-env)

Updates `@babel/preset-react` from 7.16.7 to 7.23.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.3/packages/babel-preset-react)

Updates `babel-loader` from 8.2.5 to 9.1.3
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](babel/babel-loader@v8.2.5...v9.1.3)

---
updated-dependencies:
- dependency-name: "@babel/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: babel
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: babel
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: babel
- dependency-name: "@babel/preset-react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: babel
- dependency-name: babel-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: babel
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): pin react-bootstrap

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Jochen Klar <mail@jochenklar.de>
Co-authored-by: David Wallace <david.wallace@tu-darmstadt.de>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants